summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2019-05-09 15:49:27 -0400
committerLioncash <mathew1800@gmail.com>2019-05-09 15:49:30 -0400
commitc4d03f01546119c4cf01743a63138519d10e2202 (patch)
tree907786f62f3bff5b190e9d4a72dbf4e3c77004ae
parent7cb17834c76df6fc394d8b1b29e8f752f966710b (diff)
CMakeLists: Specify /volatile:iso for MSVC
By default, MSVC doesn't use standards-compliant volatile semantics. This makes it behave in a standards-compliant manner, making expectations more uniform across compilers.
-rw-r--r--src/CMakeLists.txt2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index a1d87bbbc..7c7be31db 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -27,6 +27,7 @@ if (MSVC)
# /Zo - Enhanced debug info for optimized builds
# /permissive- - Enables stricter C++ standards conformance checks
# /EHsc - C++-only exception handling semantics
+ # /volatile:iso - Use strict standards-compliant volatile semantics.
# /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:throwingNew - Let codegen assume `operator new` (without std::nothrow) will never return null
@@ -38,6 +39,7 @@ if (MSVC)
/permissive-
/EHsc
/std:c++latest
+ /volatile:iso
/Zc:externConstexpr
/Zc:inline
/Zc:throwingNew