aboutsummaryrefslogtreecommitdiff
path: root/src
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
commit68c4e76ee0c794e27154da5fcb3d9bd9f1f5e422 (patch)
tree907786f62f3bff5b190e9d4a72dbf4e3c77004ae /src
parent991e6a74fd176885b850c957f70ca56b2583078a (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.
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index a1d87bbbcd..7c7be31db6 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