From 4a5727d375e893f147b46e2a58aea647a9afddcf Mon Sep 17 00:00:00 2001 From: Christian Pfeiffer Date: Sat, 27 Jan 2018 15:08:00 +0100 Subject: [PATCH 1/2] Intel: Correct the C11 ext flag Intel does not support a 'gnu11' standard flag, only 'c11'. --- Modules/Compiler/Intel-C.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Modules/Compiler/Intel-C.cmake b/Modules/Compiler/Intel-C.cmake index 4e4af29561..3e0439fafd 100644 --- a/Modules/Compiler/Intel-C.cmake +++ b/Modules/Compiler/Intel-C.cmake @@ -25,7 +25,8 @@ else() if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 15.0.0) set(CMAKE_C11_STANDARD_COMPILE_OPTION "-std=c11") - set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=gnu11") + # todo: there is no gnu11 value supported; figure out what to do + set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=c11") endif() if (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 12.0) From c3d576f5d685f2703ebed0dd0e76209b0fd6e6cf Mon Sep 17 00:00:00 2001 From: Christian Pfeiffer Date: Sat, 27 Jan 2018 15:08:39 +0100 Subject: [PATCH 2/2] Intel: Add C++17 compiler options Since Intel C++ 18.0, some C++17 features are supported if the flags -std=c++17, respectively /Qstd=c++17 are given. Fixes: #17687 --- Modules/Compiler/Intel-CXX.cmake | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Modules/Compiler/Intel-CXX.cmake b/Modules/Compiler/Intel-CXX.cmake index 0eb9e1fd70..d9c5749383 100644 --- a/Modules/Compiler/Intel-CXX.cmake +++ b/Modules/Compiler/Intel-CXX.cmake @@ -9,6 +9,11 @@ set(CMAKE_DEPFILE_FLAGS_CXX "-MD -MT -MF ") if("x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC") + if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18.0.0) + set(CMAKE_CXX17_STANDARD_COMPILE_OPTION "-Qstd=c++17") + set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "-Qstd=c++17") + endif() + if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 16.0) set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-Qstd=c++14") set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-Qstd=c++14") @@ -29,6 +34,12 @@ if("x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC") else() + if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18.0.0) + set(CMAKE_CXX17_STANDARD_COMPILE_OPTION "-std=c++17") + # todo: there is no gnu++17 value supported; figure out what to do + set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "-std=c++17") + endif() + if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15.0.2) set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++14") # todo: there is no gnu++14 value supported; figure out what to do