Bladeren bron

Fix for NK_OFFSETOF on Emscripten (#663)

Fixes the following error with Emscripten, where `__builtin_offset` isn't available. This disables the usage of it when on Emscripten.

```
nuklear.h:8978:38: error: defining a type within '__builtin_offsetof' is a C23 extension [-Werror,-Wc23-extensions]
 8978 |     NK_STORAGE const nk_size align = NK_ALIGNOF(struct nk_command);
```
Rob Loach 1 jaar geleden
bovenliggende
commit
be0a3f6141
2 gewijzigde bestanden met toevoegingen van 2 en 2 verwijderingen
  1. 1 1
      nuklear.h
  2. 1 1
      src/nuklear.h

+ 1 - 1
nuklear.h

@@ -5804,7 +5804,7 @@ struct nk_context {
 #define NK_ALIGN_PTR_BACK(x, mask)\
     (NK_UINT_TO_PTR((NK_PTR_TO_UINT((nk_byte*)(x)) & ~(mask-1))))
 
-#if (defined(__GNUC__) && __GNUC__ >= 4) || defined(__clang__)
+#if ((defined(__GNUC__) && __GNUC__ >= 4) || defined(__clang__)) && !defined(EMSCRIPTEN)
 #define NK_OFFSETOF(st,m) (__builtin_offsetof(st,m))
 #else
 #define NK_OFFSETOF(st,m) ((nk_ptr)&(((st*)0)->m))

+ 1 - 1
src/nuklear.h

@@ -5582,7 +5582,7 @@ struct nk_context {
 #define NK_ALIGN_PTR_BACK(x, mask)\
     (NK_UINT_TO_PTR((NK_PTR_TO_UINT((nk_byte*)(x)) & ~(mask-1))))
 
-#if (defined(__GNUC__) && __GNUC__ >= 4) || defined(__clang__)
+#if ((defined(__GNUC__) && __GNUC__ >= 4) || defined(__clang__)) && !defined(EMSCRIPTEN)
 #define NK_OFFSETOF(st,m) (__builtin_offsetof(st,m))
 #else
 #define NK_OFFSETOF(st,m) ((nk_ptr)&(((st*)0)->m))