Browse Source

Clang: C17 default version

Switched in LLVM commit 91cdbd521a38495c66e30636943563ca70d3c022, released in
Clang 11.

Issue: #17755
Raul Tambre 5 years ago
parent
commit
82239d43f8
2 changed files with 4 additions and 2 deletions
  1. 1 1
      Modules/Compiler/Clang-C.cmake
  2. 3 1
      Tests/RunCMake/CMakeLists.txt

+ 1 - 1
Modules/Compiler/Clang-C.cmake

@@ -67,7 +67,7 @@ if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 3.0)
 endif()
 
 if(NOT "x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC")
-  __compiler_check_default_language_standard(C 2.1 99 3.5.2 11)
+  __compiler_check_default_language_standard(C 2.1 99 3.5.2 11 11.0 17)
 else()
   set(CMAKE_C_STANDARD_DEFAULT "")
 endif()

+ 3 - 1
Tests/RunCMake/CMakeLists.txt

@@ -420,7 +420,9 @@ function(add_RunCMake_test_try_compile)
   if(CMAKE_VERSION VERSION_LESS 3.20.20210225 AND "x${CMAKE_C_COMPILER_ID}" STREQUAL "xClang")
     # Older CMake versions do not know about Clang MSVC compatibility mode
     # standards. Approximate the logic from Clang-C.cmake.
-    if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 3.5.2)
+    if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 11.0)
+      set(CMAKE_C_STANDARD_DEFAULT 17)
+    elseif(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 3.5.2)
       set(CMAKE_C_STANDARD_DEFAULT 11)
     endif()
   endif()