Răsfoiți Sursa

MSVC updated __cplusplus macro support. C++14 standard is required.

Branimir Karadžić 3 ani în urmă
părinte
comite
9fcbdc9a43
2 a modificat fișierele cu 4 adăugiri și 7 ștergeri
  1. 3 7
      include/bx/platform.h
  2. 1 0
      scripts/toolchain.lua

+ 3 - 7
include/bx/platform.h

@@ -438,13 +438,9 @@
 #	define BX_ARCH_NAME "64-bit"
 #endif // BX_ARCH_
 
-#if BX_COMPILER_MSVC
-#	define BX_CPP_NAME "C++MsvcUnknown"
-#elif defined(__cplusplus)
-#	if __cplusplus < 201103L
-#		error "Pre-C++11 compiler is not supported!"
-#	elif __cplusplus < 201402L
-#		define BX_CPP_NAME "C++11"
+#if defined(__cplusplus)
+#	if __cplusplus < 201402L
+#		error "C++14 standard support is required to build."
 #	elif __cplusplus < 201703L
 #		define BX_CPP_NAME "C++14"
 #	elif __cplusplus < 201704L

+ 1 - 0
scripts/toolchain.lua

@@ -560,6 +560,7 @@ function toolchain(_buildDir, _libDir)
 			"/wd4201", -- warning C4201: nonstandard extension used: nameless struct/union
 			"/wd4324", -- warning C4324: '': structure was padded due to alignment specifier
 			"/Ob2",    -- The Inline Function Expansion
+			"/Zc:__cplusplus", -- Enable updated __cplusplus macro
 		}
 		linkoptions {
 			"/ignore:4221", -- LNK4221: This object file does not define any previously undefined public symbols, so it will not be used by any link operation that consumes this library