Skip to content

Commit 3d12ac5

Browse files
dazKindRaltyro
authored andcommitted
add support for cpp20
# Conflicts: # toolchain/linux-toolchain.xml # toolchain/mac-toolchain.xml # toolchain/msvc-toolchain.xml
1 parent a55f518 commit 3d12ac5

6 files changed

Lines changed: 21 additions & 4 deletions

File tree

include/cpp/VirtualArray.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ class VirtualArray : public hx::ObjectPtr<VirtualArray_obj>
3838
inline VirtualArray Add(const T &inVal);
3939

4040

41-
inline bool operator==(const Dynamic &value) const { return value==*this; }
41+
inline bool operator==(const Dynamic &value) const { return value==(Dynamic)*this; }
4242
template<typename SOURCE_> inline bool operator==( const Array<SOURCE_> &inRHS );
4343

44-
inline bool operator!=(Dynamic value) const { return value!=*this; }
44+
inline bool operator!=(Dynamic value) const { return value!=(Dynamic)*this; }
4545
template<typename SOURCE_> inline bool operator!=( const Array<SOURCE_> &inRHS ) { return inRHS!=*this; }
4646

4747
};

src/hx/libs/std/Sys.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ void _hx_std_put_env( String e, String v )
9999
#ifdef HX_WINRT
100100
// Do nothing
101101
#elif defined(NEKO_WINDOWS)
102-
String set = e + HX_CSTRING("=") + (v != null()?v:"");
102+
String set = e + HX_CSTRING("=") + (v != null()?v:HX_CSTRING(""));
103103

104104
#ifdef HX_SMART_STRINGS
105105
if (set.isUTF16Encoded())

toolchain/emscripten-toolchain.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,9 @@
8383
<cppflag value="-frtti"/>
8484
<pchflag value="-x" />
8585
<pchflag value="c++-header" />
86-
<cppflag value="--std=c++11" />
86+
<cppflag value="--std=c++11" unless="HXCPP_CPP17 || HXCPP_CPP20"/>
87+
<cppflag value="--std=c++17" if="HXCPP_CPP17"/>
88+
<cppflag value="--std=c++20" if="HXCPP_CPP20"/>
8789
<section unless="HXCPP_LINK_NO_EXCEPTIONS" >
8890
<flag name="-s" value="DISABLE_EXCEPTION_CATCHING=0" if="HXCPP_NO_WASM_EXEPTIONS" />
8991
<flag value="-fwasm-exceptions" unless="HXCPP_NO_WASM_EXEPTIONS" />

toolchain/linux-toolchain.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@
3939
<flag value="-flto" if="HXCPP_OPTIMIZE_LINK" unless="debug"/>
4040
<flag value="-fvisibility=hidden"/>
4141
<cppflag value="-frtti"/>
42+
<cppflag value="-std=c++11" if="HXCPP_CPP11" />
43+
<cppflag value="-std=c++17" if="HXCPP_CPP17"/>
44+
<cppflag value="-std=c++20" if="HXCPP_CPP20"/>
4245
<flag value="-g" if="HXCPP_DEBUG_LINK"/>
4346
<flag value="-O2" unless="debug"/>
4447
<flag value="-fpic"/>

toolchain/mac-toolchain.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,16 @@
2020
<exe name="xcrun --sdk macosx${MACOSX_VER} clang++" if="HXCPP_CLANG" />
2121
<flag value="-c"/>
2222
<flag value="-fvisibility=hidden"/>
23+
<cppflag value="-std=c++11" if="HXCPP_CPP11"/>
24+
<cppflag value="-std=c++14" if="HXCPP_CPP14"/>
25+
<cppflag value="-Wc++14-extensions" if="HXCPP_CPP14"/>
26+
<cppflag value="-std=c++17" if="HXCPP_CPP17"/>
27+
<cppflag value="-std=c++20" if="HXCPP_CPP20"/>
28+
<cppflag value="-Wc++17-extensions" if="HXCPP_CPP17"/>
29+
<cppflag value="-stdlib=libc++" unless="STDLIBCPP" />
30+
<cppflag value="-stdlib=libstdc++" if="STDLIBCPP" />
31+
<mmflag value="-stdlib=libc++" unless="STDLIBCPP" />
32+
<mmflag value="-stdlib=libstdc++" if="STDLIBCPP" />
2333

2434
<cppflag value="-frtti"/>
2535
<pchflag value="-x" />

toolchain/msvc-toolchain.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@
6969
<flag value="-DHXCPP_BIG_ENDIAN" if="HXCPP_BIG_ENDIAN"/>
7070
<flag value="-D${HXCPP_XP_DEFINE}" if="HXCPP_XP_DEFINE"/>
7171
<flag value="-GR"/>
72+
<flag value="/std:c++17" if="HXCPP_CPP17"/>
73+
<flag value="/std:c++20" if="HXCPP_CPP20"/>
7274

7375
<!-- standard optimization flags -->
7476
<flag value="-Od" if="debug" tag="optim-std" />

0 commit comments

Comments
 (0)