MSVC: Use experimental preprocessor

It seems that there are certain bugs in MSVC's traditional preprocessor that prevents the logging system from compiling.
This commit is contained in:
zhupengfei
2019-10-02 18:15:49 +08:00
parent 58f903f80f
commit c17e8fc19d
+2
View File
@@ -39,6 +39,7 @@ if (MSVC)
# /Zc:externConstexpr - Allow extern constexpr variables to have external linkage, like the standard mandates # /Zc:externConstexpr - Allow extern constexpr variables to have external linkage, like the standard mandates
# /Zc:inline - Let codegen omit inline functions in object files # /Zc:inline - Let codegen omit inline functions in object files
# /Zc:throwingNew - Let codegen assume `operator new` (without std::nothrow) will never return null # /Zc:throwingNew - Let codegen assume `operator new` (without std::nothrow) will never return null
# /experimental:preprocessor - Work around bugs within MSVC's crappy preprocessor
add_compile_options( add_compile_options(
/W4 /W4
/w34263 /w34263
@@ -59,6 +60,7 @@ if (MSVC)
/Zc:externConstexpr /Zc:externConstexpr
/Zc:inline /Zc:inline
/Zc:throwingNew /Zc:throwingNew
/experimental:preprocessor
) )
# /GS- - No stack buffer overflow checks # /GS- - No stack buffer overflow checks