Просмотр исходного кода

Clang: use -std=c++23 for Clang 17.0+

Canonical flag changed in LLVM commit ba15d186e5cef2620d562c6c9d9a6d570382cd0a.
Raul Tambre 2 лет назад
Родитель
Сommit
eacacc70fc
1 измененных файлов с 4 добавлено и 1 удалено
  1. 4 1
      Modules/Compiler/Clang.cmake

+ 4 - 1
Modules/Compiler/Clang.cmake

@@ -173,7 +173,10 @@ macro(__compiler_clang_cxx_standards lang)
 
     unset(_clang_version_std17)
 
-    if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 12.0)
+    if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 17.0)
+      set(CMAKE_${lang}23_STANDARD_COMPILE_OPTION "-std=c++23")
+      set(CMAKE_${lang}23_EXTENSION_COMPILE_OPTION "-std=gnu++23")
+    elseif(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 12.0)
       set(CMAKE_${lang}23_STANDARD_COMPILE_OPTION "-std=c++2b")
       set(CMAKE_${lang}23_EXTENSION_COMPILE_OPTION "-std=gnu++2b")
     endif()