Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions include/Array.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
9 changes: 9 additions & 0 deletions src/hx/CFFI.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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);
Expand Down
2 changes: 0 additions & 2 deletions toolchain/android-toolchain-clang.xml
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,6 @@
<flag value="-O2" unless="debug"/>

<!-- Warning Supression -->
<flag value="-Wno-invalid-offsetof" />
<flag value="-Wno-return-type-c-linkage" />
<flag value="-Wno-parentheses" />
<flag value="-Wno-inconsistent-missing-override" unless="HXCPP_WARN_INCONSISTENT_OVERRIDE" />

Expand Down
1 change: 0 additions & 1 deletion toolchain/android-toolchain-gcc.xml
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,6 @@
<flag value="-fstack-protector"/>
<flag value="-fno-short-enums"/>
<flag value="-Wno-overflow" />
<cppflag value="-Wno-invalid-offsetof" />
<cppflag value="-frtti"/>
<flag value="-D_LINUX_STDDEF_H "/> <!-- Avoid compiler including 2 version of file -->
<flag value="-Wno-psabi" />
Expand Down
1 change: 0 additions & 1 deletion toolchain/appletvos-toolchain.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@
<flag value="-Wno-null-dereference" unless="HXCPP_GCC"/>
<flag value="-Wno-unused-value" />
<flag value="-Wno-overflow" />
<cppflag value="-Wno-invalid-offsetof" />
<flag value="-Wno-bool-conversion" unless="HXCPP_GCC"/>
<!-- Removed for iOS 8 -->
<!-- <flag value="-fvisibility=hidden"/> -->
Expand Down
1 change: 0 additions & 1 deletion toolchain/appletvsim-toolchain.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
<flag value="-Wno-trigraphs"/>
<flag value="-fno-stack-protector"/>
<flag value="-Wno-overflow" />
<cppflag value="-Wno-invalid-offsetof" />
<flag value="-fpascal-strings"/>
<flag value="-fasm-blocks"/>
<flag value="-Wreturn-type"/>
Expand Down
1 change: 0 additions & 1 deletion toolchain/common-defines.xml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,5 @@
<flag value='-DHXCPP_TRACY_ON_DEMAND' if="HXCPP_TRACY_ON_DEMAND" tag="haxe"/>
<flag value='-DHXCPP_TRACY_INCLUDE_CALLSTACKS' if="HXCPP_TRACY_INCLUDE_CALLSTACKS" tag="haxe"/>

<mmflag value='-Wno-invalid-offsetof' />
<mmflag value='-Wno-format-security' />
</xml>
2 changes: 0 additions & 2 deletions toolchain/emscripten-toolchain.xml
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,6 @@
<flag value="-DHXCPP_MULTI_THREADED" if="HXCPP_MULTI_THREADED"/>
<flag value="-DHXCPP_BIG_ENDIAN" if="HXCPP_BIG_ENDIAN"/>
<flag value="-Wno-overflow" />
<cppflag value="-Wno-invalid-offsetof" />
<cppflag value="-Wno-return-type-c-linkage" />
<flag value="-Wno-parentheses" />
<flag value="-Wno-unknown-warning-option" />
<flag value="-Wno-null-dereference" />
Expand Down
1 change: 0 additions & 1 deletion toolchain/gcw0-toolchain.xml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
<flag value="-fPIC"/>
<cppflag value="-frtti"/>
<cppflag value="-std=c++11" />
<cppflag value="-Wno-invalid-offsetof" />
<flag value="-g" if="HXCPP_DEBUG_LINK"/>
<!-- <flag value="-fPIE" /> -->
<flag value="--sysroot=${GCW0_PLATFORM}" />
Expand Down
3 changes: 0 additions & 3 deletions toolchain/iphoneos-toolchain.xml
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,6 @@
<flag value="-Wno-unused-value" />
<flag value="-Wno-overflow" />
<flag value="-Wno-trigraphs"/>
<cppflag value="-Wno-invalid-offsetof" />
<cppflag value="-Wno-return-type-c-linkage" />
<mmflag value="-Wno-return-type-c-linkage" />
<flag value="-Wno-bool-conversion" unless="HXCPP_GCC"/>
<!-- Removed for iOS 8 -->
<!-- <flag value="-fvisibility=hidden"/> -->
Expand Down
3 changes: 0 additions & 3 deletions toolchain/iphonesim-toolchain.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,6 @@
<flag value="-Wno-trigraphs"/>
<flag value="-fno-stack-protector"/>
<flag value="-Wno-overflow" />
<cppflag value="-Wno-invalid-offsetof" />
<cppflag value="-Wno-return-type-c-linkage" />
<mmflag value="-Wno-return-type-c-linkage" />
<flag value="-fpascal-strings"/>
<flag value="-fasm-blocks"/>
<flag value="-Wreturn-type"/>
Expand Down
1 change: 0 additions & 1 deletion toolchain/linux-toolchain.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@
<flag value="-fpic"/>
<flag value="-fPIC"/>
<flag value="-Wno-overflow" />
<cppflag value="-Wno-invalid-offsetof" />
<flag value="-DHX_LINUX"/>
<flag value="-DRASPBERRYPI=RASPBERRYPI" if="rpi"/>
<flag value="-DHXCPP_MULTI_THREADED" if="HXCPP_MULTI_THREADED"/>
Expand Down
3 changes: 0 additions & 3 deletions toolchain/mac-toolchain.xml
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,6 @@
<flag value="-Wno-format-extra-args" />
<flag value="-Wno-overflow" />
<flag value="-fsanitize=thread" if="HXCPP_THREAD_SANITIZE" />
<cppflag value="-Wno-invalid-offsetof" />
<cppflag value="-Wno-return-type-c-linkage" />
<mmflag value="-Wno-return-type-c-linkage" />

<flag value="-Wno-bool-conversion" if="HXCPP_CLANG"/>
<flag value="-fobjc-arc" if="OBJC_ARC" />
Expand Down
1 change: 0 additions & 1 deletion toolchain/mingw-toolchain.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@
<flag value="-c"/>
<cppflag value="-frtti"/>
<flag value="-Wno-overflow" />
<cppflag value="-Wno-invalid-offsetof" />
<flag value="-g" if="HXCPP_DEBUG_LINK"/>
<flag value="-O2" unless="debug||O3"/>
<flag value="-O3" if="O3"/>
Expand Down
1 change: 0 additions & 1 deletion toolchain/watchos-toolchain.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@
<flag value="-Wno-trigraphs"/>
<flag value="-fno-stack-protector"/>
<flag value="-Wno-overflow" />
<cppflag value="-Wno-invalid-offsetof" />
<flag value="-fpascal-strings"/>
<flag value="-fasm-blocks"/>
<flag value="-Wreturn-type"/>
Expand Down
1 change: 0 additions & 1 deletion toolchain/watchsimulator-toolchain.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@
<flag value="-Wno-trigraphs"/>
<flag value="-fno-stack-protector"/>
<flag value="-Wno-overflow" />
<cppflag value="-Wno-invalid-offsetof" />
<flag value="-fpascal-strings"/>
<flag value="-fasm-blocks"/>
<flag value="-Wreturn-type"/>
Expand Down
Loading