From 12ff60bb6dda7a310963769541d86254d0c0a93d Mon Sep 17 00:00:00 2001 From: Igor Zhukov Date: Sat, 21 Sep 2024 22:04:16 +0700 Subject: [PATCH 1/5] Test CUDA in all supported Standard modes. --- stl/inc/__msvc_iter_core.hpp | 4 ++++ tests/std/tests/GH_000639_nvcc_include_all/env.lst | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/stl/inc/__msvc_iter_core.hpp b/stl/inc/__msvc_iter_core.hpp index 619e97aa65d..925015edbd5 100644 --- a/stl/inc/__msvc_iter_core.hpp +++ b/stl/inc/__msvc_iter_core.hpp @@ -283,7 +283,11 @@ struct _Iter_traits_category4 { template concept _Cpp17_random_delta = +#if defined(__CUDACC__) && !defined(__clang__) // TRANSITION, CUDA 12.4 has a bug, fixed in CUDA 12.5 + totally_ordered<_It> && requires(_It __i, typename incrementable_traits<_It>::difference_type __n) { +#else // ^^^ workaround / no workaround vvv totally_ordered<_It> && requires(_It __i, incrementable_traits<_It>::difference_type __n) { +#endif // ^^^ no workaround ^^^ { __i += __n } -> same_as<_It&>; { __i -= __n } -> same_as<_It&>; { __i + __n } -> same_as<_It>; diff --git a/tests/std/tests/GH_000639_nvcc_include_all/env.lst b/tests/std/tests/GH_000639_nvcc_include_all/env.lst index 633ab107731..d77242dbc60 100644 --- a/tests/std/tests/GH_000639_nvcc_include_all/env.lst +++ b/tests/std/tests/GH_000639_nvcc_include_all/env.lst @@ -5,3 +5,8 @@ PM_COMPILER="nvcc" PM_CL="--x cu -Xcompiler -Od,-EHsc,-nologo,-W4,-WX,-openmp" RUNALL_CROSSLIST PM_CL="-Xcompiler -MT" PM_CL="--debug -Xcompiler -MTd" +RUNALL_CROSSLIST +PM_CL="" +PM_CL="-std=c++14" +PM_CL="-std=c++17 -D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS" +PM_CL="-std=c++20" From 28c5c7f8060ef31c4b0081303bf498a322b0b442 Mon Sep 17 00:00:00 2001 From: Igor Zhukov Date: Tue, 24 Sep 2024 11:35:30 +0700 Subject: [PATCH 2/5] remove test without setting `-std=` --- tests/std/tests/GH_000639_nvcc_include_all/env.lst | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/std/tests/GH_000639_nvcc_include_all/env.lst b/tests/std/tests/GH_000639_nvcc_include_all/env.lst index d77242dbc60..43bf70b244d 100644 --- a/tests/std/tests/GH_000639_nvcc_include_all/env.lst +++ b/tests/std/tests/GH_000639_nvcc_include_all/env.lst @@ -6,7 +6,6 @@ RUNALL_CROSSLIST PM_CL="-Xcompiler -MT" PM_CL="--debug -Xcompiler -MTd" RUNALL_CROSSLIST -PM_CL="" PM_CL="-std=c++14" PM_CL="-std=c++17 -D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS" PM_CL="-std=c++20" From 67afcce2b53abc787ff2286403261c792f95ba3d Mon Sep 17 00:00:00 2001 From: Casey Carter Date: Mon, 23 Sep 2024 23:32:02 -0700 Subject: [PATCH 3/5] Simplify `TRANSITION` comment --- stl/inc/__msvc_iter_core.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stl/inc/__msvc_iter_core.hpp b/stl/inc/__msvc_iter_core.hpp index 925015edbd5..47d6efc944d 100644 --- a/stl/inc/__msvc_iter_core.hpp +++ b/stl/inc/__msvc_iter_core.hpp @@ -283,7 +283,7 @@ struct _Iter_traits_category4 { template concept _Cpp17_random_delta = -#if defined(__CUDACC__) && !defined(__clang__) // TRANSITION, CUDA 12.4 has a bug, fixed in CUDA 12.5 +#if defined(__CUDACC__) && !defined(__clang__) // TRANSITION, CUDA 12.5 totally_ordered<_It> && requires(_It __i, typename incrementable_traits<_It>::difference_type __n) { #else // ^^^ workaround / no workaround vvv totally_ordered<_It> && requires(_It __i, incrementable_traits<_It>::difference_type __n) { From 89cd927ddbdd1c1c26c5701f6517e58398c74aa2 Mon Sep 17 00:00:00 2001 From: Casey Carter Date: Mon, 23 Sep 2024 23:32:30 -0700 Subject: [PATCH 4/5] Guard defininition of `_SILENCE_CXX17_C_HEADER_DEPRECATION_WARNING` in `__msvc_all_public_headers.hpp` --- stl/inc/__msvc_all_public_headers.hpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/stl/inc/__msvc_all_public_headers.hpp b/stl/inc/__msvc_all_public_headers.hpp index 90a110d741c..e05d9e5dc32 100644 --- a/stl/inc/__msvc_all_public_headers.hpp +++ b/stl/inc/__msvc_all_public_headers.hpp @@ -24,7 +24,10 @@ #include #endif // !defined(_MSVC_TESTING_NVCC) +#ifndef _SILENCE_CXX17_C_HEADER_DEPRECATION_WARNING #define _SILENCE_CXX17_C_HEADER_DEPRECATION_WARNING +#endif // !defined(_SILENCE_CXX17_C_HEADER_DEPRECATION_WARNING) + #define _SILENCE_CXX20_CISO646_REMOVED_WARNING #define _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING #define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS From 19633cdb69fa7fe1e3c37154166b90b0f7ec1477 Mon Sep 17 00:00:00 2001 From: Casey Carter Date: Mon, 23 Sep 2024 23:33:04 -0700 Subject: [PATCH 5/5] Use `_SILENCE_CXX17_C_HEADER_DEPRECATION_WARNING` instead of `_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS` in CUDA test --- tests/std/tests/GH_000639_nvcc_include_all/env.lst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/std/tests/GH_000639_nvcc_include_all/env.lst b/tests/std/tests/GH_000639_nvcc_include_all/env.lst index 43bf70b244d..d2f0a5adb98 100644 --- a/tests/std/tests/GH_000639_nvcc_include_all/env.lst +++ b/tests/std/tests/GH_000639_nvcc_include_all/env.lst @@ -7,5 +7,5 @@ PM_CL="-Xcompiler -MT" PM_CL="--debug -Xcompiler -MTd" RUNALL_CROSSLIST PM_CL="-std=c++14" -PM_CL="-std=c++17 -D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS" +PM_CL="-std=c++17 -D_SILENCE_CXX17_C_HEADER_DEPRECATION_WARNING" PM_CL="-std=c++20"