diff options
author | Brad King <brad.king@kitware.com> | 2022-02-03 16:49:05 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2022-02-03 17:06:00 (GMT) |
commit | 4ef6e27cb9c2e005d3d1f26ba6a99d164b1eee9d (patch) | |
tree | 864eb5dd4f9d4288a327128ea3ce6de5f8ce288b /Modules/CMakeCCompilerId.c.in | |
parent | 17f97143cb0d9d3fdcbc0262342f3cf0c62469e6 (diff) | |
download | CMake-4ef6e27cb9c2e005d3d1f26ba6a99d164b1eee9d.zip CMake-4ef6e27cb9c2e005d3d1f26ba6a99d164b1eee9d.tar.gz CMake-4ef6e27cb9c2e005d3d1f26ba6a99d164b1eee9d.tar.bz2 |
CompilerId: Fix default extensions check for Clang targeting MSVC ABI
In commit fc3a1cbdd8 (CompilerID: Compiler extensions default detection,
2021-05-29, v3.22.0-rc1~52^2~2), extensions were assumed to be `OFF`
for Clang targeting the MSVC ABI. However, the `clang` and `clang++`
tools both seem to have extensions enabled by default even when
targeting the MSVC ABI.
This can be observed with the `RunCMake.CompileFeatures` test.
It fails with the GNU-like `clang/clang++` front-end, but removing
the above special case makes it pass. The test passes either way
with the MSVC-like `clang-cl` front-end.
Diffstat (limited to 'Modules/CMakeCCompilerId.c.in')
-rw-r--r-- | Modules/CMakeCCompilerId.c.in | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/Modules/CMakeCCompilerId.c.in b/Modules/CMakeCCompilerId.c.in index 0cb8724..82d56cf 100644 --- a/Modules/CMakeCCompilerId.c.in +++ b/Modules/CMakeCCompilerId.c.in @@ -60,10 +60,9 @@ const char* info_language_standard_default = "INFO" ":" "standard_default[" C_VERSION "]"; const char* info_language_extensions_default = "INFO" ":" "extensions_default[" -/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ #if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ defined(__TI_COMPILER_VERSION__)) && \ - !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + !defined(__STRICT_ANSI__) "ON" #else "OFF" |