diff --git a/Help/release/4.4.rst b/Help/release/4.4.rst index ea589a42c0..983139d4cb 100644 --- a/Help/release/4.4.rst +++ b/Help/release/4.4.rst @@ -102,6 +102,12 @@ Generators name, their dependencies are merged into one ``test_prep/`` target. +Languages +--------- + +* CUDA language level 23 (corresponding to C++ 23) is now supported with + NVCC 13.3 and above. + Compilers --------- diff --git a/Modules/Compiler/NVIDIA.cmake b/Modules/Compiler/NVIDIA.cmake index cdb2b0aa20..5e27124a79 100644 --- a/Modules/Compiler/NVIDIA.cmake +++ b/Modules/Compiler/NVIDIA.cmake @@ -46,6 +46,14 @@ macro(__compiler_nvidia_cxx_standards lang) set(CMAKE_${lang}_STANDARD_LATEST 20) endif() endif() + + if (NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 13.3) + if(CMAKE_${lang}_SIMULATE_VERSION VERSION_GREATER_EQUAL 19.29.30129) + set(CMAKE_${lang}23_STANDARD_COMPILE_OPTION "-std=c++23") + set(CMAKE_${lang}23_EXTENSION_COMPILE_OPTION "-std=c++23") + set(CMAKE_${lang}_STANDARD_LATEST 23) + endif() + endif() else() set(CMAKE_${lang}03_STANDARD_COMPILE_OPTION "") set(CMAKE_${lang}03_EXTENSION_COMPILE_OPTION "") @@ -75,6 +83,12 @@ macro(__compiler_nvidia_cxx_standards lang) set(CMAKE_${lang}20_EXTENSION_COMPILE_OPTION "-std=c++20") set(CMAKE_${lang}_STANDARD_LATEST 20) endif() + + if (NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 13.3) + set(CMAKE_${lang}23_STANDARD_COMPILE_OPTION "-std=c++23") + set(CMAKE_${lang}23_EXTENSION_COMPILE_OPTION "-std=c++23") + set(CMAKE_${lang}_STANDARD_LATEST 23) + endif() endif() __compiler_check_default_language_standard(${lang} 6.0 03)