From 529ccb3dff96d18fc1a13ae7bc65eb82a18ff1e8 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 3 Apr 2024 16:49:03 -0400 Subject: IntelLLVM: Use C23 and C++23 flags only versions supporting them Revise commit 4331f7b4bf (IntelLLVM: Add provisional flags for C23 and C++23, 2023-01-12, v3.26.0-rc1~86^2). --- Modules/Compiler/IntelLLVM-C.cmake | 12 ++++++++---- Modules/Compiler/IntelLLVM-CXX.cmake | 12 ++++++++---- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/Modules/Compiler/IntelLLVM-C.cmake b/Modules/Compiler/IntelLLVM-C.cmake index 3a81154..06059eb 100644 --- a/Modules/Compiler/IntelLLVM-C.cmake +++ b/Modules/Compiler/IntelLLVM-C.cmake @@ -42,8 +42,10 @@ if(NOT "x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC") set(CMAKE_C17_STANDARD_COMPILE_OPTION "-std=c17") set(CMAKE_C17_EXTENSION_COMPILE_OPTION "-std=gnu17") - set(CMAKE_C23_STANDARD_COMPILE_OPTION "-std=c2x") - set(CMAKE_C23_EXTENSION_COMPILE_OPTION "-std=gnu2x") + if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 2022.1.0) + set(CMAKE_C23_STANDARD_COMPILE_OPTION "-std=c2x") + set(CMAKE_C23_EXTENSION_COMPILE_OPTION "-std=gnu2x") + endif() else() # clang-cl doesn't have any of these set(CMAKE_C90_STANDARD_COMPILE_OPTION "") @@ -58,8 +60,10 @@ else() set(CMAKE_C17_STANDARD_COMPILE_OPTION "") set(CMAKE_C17_EXTENSION_COMPILE_OPTION "") - set(CMAKE_C23_STANDARD_COMPILE_OPTION "") - set(CMAKE_C23_EXTENSION_COMPILE_OPTION "") + if(CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 2022.1.0) + set(CMAKE_C23_STANDARD_COMPILE_OPTION "") + set(CMAKE_C23_EXTENSION_COMPILE_OPTION "") + endif() endif() __compiler_check_default_language_standard(C 2020 17) diff --git a/Modules/Compiler/IntelLLVM-CXX.cmake b/Modules/Compiler/IntelLLVM-CXX.cmake index 45b723f..bd92139 100644 --- a/Modules/Compiler/IntelLLVM-CXX.cmake +++ b/Modules/Compiler/IntelLLVM-CXX.cmake @@ -47,8 +47,10 @@ if(NOT "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC") set(CMAKE_CXX20_STANDARD_COMPILE_OPTION "-std=c++20") set(CMAKE_CXX20_EXTENSION_COMPILE_OPTION "-std=gnu++20") - set(CMAKE_CXX23_STANDARD_COMPILE_OPTION "-std=c++2b") - set(CMAKE_CXX23_EXTENSION_COMPILE_OPTION "-std=gnu++2b") + if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 2021.2.0) + set(CMAKE_CXX23_STANDARD_COMPILE_OPTION "-std=c++2b") + set(CMAKE_CXX23_EXTENSION_COMPILE_OPTION "-std=gnu++2b") + endif() else() set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "") set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "") @@ -65,8 +67,10 @@ else() set(CMAKE_CXX20_STANDARD_COMPILE_OPTION "-Qstd:c++20") set(CMAKE_CXX20_EXTENSION_COMPILE_OPTION "-Qstd:c++20") - set(CMAKE_CXX23_STANDARD_COMPILE_OPTION "-Qstd:c++2b") - set(CMAKE_CXX23_EXTENSION_COMPILE_OPTION "-Qstd:c++2b") + if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 2021.2.0) + set(CMAKE_CXX23_STANDARD_COMPILE_OPTION "-Qstd:c++2b") + set(CMAKE_CXX23_EXTENSION_COMPILE_OPTION "-Qstd:c++2b") + endif() endif() __compiler_check_default_language_standard(CXX 2020 14) -- cgit v0.12