diff --git a/include/Array.h b/include/Array.h index fc101bf98..542a84f71 100644 --- a/include/Array.h +++ b/include/Array.h @@ -393,10 +393,23 @@ class HXCPP_EXTERN_CLASS_ATTRIBUTES ArrayBase : public ArrayCommon mutable int length; +#if (HXCPP_API_LEVEL < 500) || defined(CPPIA_JIT) + + #if defined(__GNUC__) || defined(__clang__) + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Winvalid-offsetof" + #endif + static inline int baseOffset() { return (int)offsetof(ArrayBase,mBase); } static inline int allocOffset() { return (int)offsetof(ArrayBase,mAlloc); } static inline int lengthOffset() { return (int)offsetof(ArrayBase,length); } + #if defined(__GNUC__) || defined(__clang__) + #pragma GCC diagnostic pop + #endif + +#endif + protected: mutable int mAlloc; mutable char *mBase; diff --git a/src/hx/CFFI.cpp b/src/hx/CFFI.cpp index 264447c82..641da616c 100644 --- a/src/hx/CFFI.cpp +++ b/src/hx/CFFI.cpp @@ -1007,6 +1007,11 @@ value query_root(gcroot) { return 0; } void destroy_root(gcroot) { } +#if defined(__clang__) +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wreturn-type-c-linkage" +#endif + String alloc_hxs_wchar(const wchar_t *ptr,int size) { return String::create(ptr,size); @@ -1022,6 +1027,10 @@ String alloc_hxs_utf8(const char *ptr,int size) return String::create(ptr,size); } +#if defined(__clang__) +# pragma clang diagnostic pop +#endif + const char * hxs_utf8(const String &string,hx::IStringAlloc *alloc) { return string.utf8_str(alloc); diff --git a/toolchain/android-toolchain-clang.xml b/toolchain/android-toolchain-clang.xml index 349d09d5a..33d909eac 100644 --- a/toolchain/android-toolchain-clang.xml +++ b/toolchain/android-toolchain-clang.xml @@ -72,8 +72,6 @@ - - diff --git a/toolchain/android-toolchain-gcc.xml b/toolchain/android-toolchain-gcc.xml index 2e2f50007..647ab12e7 100644 --- a/toolchain/android-toolchain-gcc.xml +++ b/toolchain/android-toolchain-gcc.xml @@ -89,7 +89,6 @@ - diff --git a/toolchain/appletvos-toolchain.xml b/toolchain/appletvos-toolchain.xml index fae1448da..395356324 100644 --- a/toolchain/appletvos-toolchain.xml +++ b/toolchain/appletvos-toolchain.xml @@ -37,7 +37,6 @@ - diff --git a/toolchain/appletvsim-toolchain.xml b/toolchain/appletvsim-toolchain.xml index a7d853d7b..0f8868f88 100644 --- a/toolchain/appletvsim-toolchain.xml +++ b/toolchain/appletvsim-toolchain.xml @@ -27,7 +27,6 @@ - diff --git a/toolchain/common-defines.xml b/toolchain/common-defines.xml index 3d14752d4..caea5aecc 100644 --- a/toolchain/common-defines.xml +++ b/toolchain/common-defines.xml @@ -52,6 +52,5 @@ - diff --git a/toolchain/emscripten-toolchain.xml b/toolchain/emscripten-toolchain.xml index 3a5a61142..ee0820283 100644 --- a/toolchain/emscripten-toolchain.xml +++ b/toolchain/emscripten-toolchain.xml @@ -102,8 +102,6 @@ - - diff --git a/toolchain/gcw0-toolchain.xml b/toolchain/gcw0-toolchain.xml index ddbb5295c..697377b35 100644 --- a/toolchain/gcw0-toolchain.xml +++ b/toolchain/gcw0-toolchain.xml @@ -30,7 +30,6 @@ - diff --git a/toolchain/iphoneos-toolchain.xml b/toolchain/iphoneos-toolchain.xml index 2f335127a..22df54b35 100644 --- a/toolchain/iphoneos-toolchain.xml +++ b/toolchain/iphoneos-toolchain.xml @@ -51,9 +51,6 @@ - - - diff --git a/toolchain/iphonesim-toolchain.xml b/toolchain/iphonesim-toolchain.xml index e9d443e5b..406544097 100644 --- a/toolchain/iphonesim-toolchain.xml +++ b/toolchain/iphonesim-toolchain.xml @@ -28,9 +28,6 @@ - - - diff --git a/toolchain/linux-toolchain.xml b/toolchain/linux-toolchain.xml index 6fd3347fa..f436883b5 100644 --- a/toolchain/linux-toolchain.xml +++ b/toolchain/linux-toolchain.xml @@ -44,7 +44,6 @@ - diff --git a/toolchain/mac-toolchain.xml b/toolchain/mac-toolchain.xml index 01e9ada69..08ca25e31 100644 --- a/toolchain/mac-toolchain.xml +++ b/toolchain/mac-toolchain.xml @@ -40,9 +40,6 @@ - - - diff --git a/toolchain/mingw-toolchain.xml b/toolchain/mingw-toolchain.xml index c7a11fa43..6a7f86059 100644 --- a/toolchain/mingw-toolchain.xml +++ b/toolchain/mingw-toolchain.xml @@ -34,7 +34,6 @@ - diff --git a/toolchain/watchos-toolchain.xml b/toolchain/watchos-toolchain.xml index e64b425b2..9fa0b663a 100644 --- a/toolchain/watchos-toolchain.xml +++ b/toolchain/watchos-toolchain.xml @@ -37,7 +37,6 @@ - diff --git a/toolchain/watchsimulator-toolchain.xml b/toolchain/watchsimulator-toolchain.xml index 125265c33..3daa30066 100644 --- a/toolchain/watchsimulator-toolchain.xml +++ b/toolchain/watchsimulator-toolchain.xml @@ -37,7 +37,6 @@ -