From ddd96b1ddbda219dda3948ab0c2887bc76973e7d Mon Sep 17 00:00:00 2001 From: Casey Carter Date: Tue, 3 Sep 2024 15:22:53 -0700 Subject: [PATCH 1/5] Silence `-Wnan-infinity-disabled` in `VSO_0000000_vector_algorithms_float` Clang 18 is emitting this warning for all `/fp:fast` configurations. Filed #4931 to investigate, let's suppress the warnings for now. --- .../tests/VSO_0000000_vector_algorithms_floats/env.lst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/std/tests/VSO_0000000_vector_algorithms_floats/env.lst b/tests/std/tests/VSO_0000000_vector_algorithms_floats/env.lst index b8b3805e45..c4da2f88d6 100644 --- a/tests/std/tests/VSO_0000000_vector_algorithms_floats/env.lst +++ b/tests/std/tests/VSO_0000000_vector_algorithms_floats/env.lst @@ -42,12 +42,12 @@ PM_CL="/BE /c /EHsc /MD /std:c++14 /w14640 /Zc:threadSafeInit-" PM_CL="/BE /c /EHsc /MDd /std:c++17 /permissive- /w14640 /Zc:threadSafeInit-" PM_CL="/BE /c /EHsc /MT /std:c++20 /permissive- /w14640 /Zc:threadSafeInit-" PM_CL="/BE /c /EHsc /MTd /std:c++latest /permissive- /w14640 /Zc:threadSafeInit-" -PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MD /std:c++14 /w14640 /Zc:threadSafeInit- --start-no-unused-arguments" -PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MDd /std:c++17 /w14640 /Zc:threadSafeInit- --start-no-unused-arguments" -PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MT /std:c++20 /permissive- /w14640 /Zc:threadSafeInit- --start-no-unused-arguments" -PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MTd /std:c++latest /permissive- /w14640 /Zc:threadSafeInit- --start-no-unused-arguments" +PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call -Wno-nan-infinity-disabled /EHsc /MD /std:c++14 /w14640 /Zc:threadSafeInit- --start-no-unused-arguments" +PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call -Wno-nan-infinity-disabled /EHsc /MDd /std:c++17 /w14640 /Zc:threadSafeInit- --start-no-unused-arguments" +PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call -Wno-nan-infinity-disabled /EHsc /MT /std:c++20 /permissive- /w14640 /Zc:threadSafeInit- --start-no-unused-arguments" +PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call -Wno-nan-infinity-disabled /EHsc /MTd /std:c++latest /permissive- /w14640 /Zc:threadSafeInit- --start-no-unused-arguments" # TRANSITION, GH-3568 -# PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call /EHsc /MT /std:c++latest /permissive- /w14640 /Zc:threadSafeInit- -fsanitize=undefined -fno-sanitize-recover=undefined --start-no-unused-arguments" +# PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call -Wno-nan-infinity-disabled /EHsc /MT /std:c++latest /permissive- /w14640 /Zc:threadSafeInit- -fsanitize=undefined -fno-sanitize-recover=undefined --start-no-unused-arguments" RUNALL_CROSSLIST * PM_CL="/fp:strict" * PM_CL="/fp:precise" From b1e990d914efcf41d44887c191429c6a46c8c285 Mon Sep 17 00:00:00 2001 From: Casey Carter Date: Tue, 3 Sep 2024 15:35:19 -0700 Subject: [PATCH 2/5] Tell Clang 17 not to complain about the unknown warning option --- llvm-project | 2 +- .../VSO_0000000_vector_algorithms_floats/env.lst | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/llvm-project b/llvm-project index 886b76128f..530289869e 160000 --- a/llvm-project +++ b/llvm-project @@ -1 +1 @@ -Subproject commit 886b76128fba5f995c8c8e24aaa2030b59dec01a +Subproject commit 530289869e4974405e03d9143fee8655709901d7 diff --git a/tests/std/tests/VSO_0000000_vector_algorithms_floats/env.lst b/tests/std/tests/VSO_0000000_vector_algorithms_floats/env.lst index c4da2f88d6..b2af3deb67 100644 --- a/tests/std/tests/VSO_0000000_vector_algorithms_floats/env.lst +++ b/tests/std/tests/VSO_0000000_vector_algorithms_floats/env.lst @@ -42,12 +42,13 @@ PM_CL="/BE /c /EHsc /MD /std:c++14 /w14640 /Zc:threadSafeInit-" PM_CL="/BE /c /EHsc /MDd /std:c++17 /permissive- /w14640 /Zc:threadSafeInit-" PM_CL="/BE /c /EHsc /MT /std:c++20 /permissive- /w14640 /Zc:threadSafeInit-" PM_CL="/BE /c /EHsc /MTd /std:c++latest /permissive- /w14640 /Zc:threadSafeInit-" -PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call -Wno-nan-infinity-disabled /EHsc /MD /std:c++14 /w14640 /Zc:threadSafeInit- --start-no-unused-arguments" -PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call -Wno-nan-infinity-disabled /EHsc /MDd /std:c++17 /w14640 /Zc:threadSafeInit- --start-no-unused-arguments" -PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call -Wno-nan-infinity-disabled /EHsc /MT /std:c++20 /permissive- /w14640 /Zc:threadSafeInit- --start-no-unused-arguments" -PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call -Wno-nan-infinity-disabled /EHsc /MTd /std:c++latest /permissive- /w14640 /Zc:threadSafeInit- --start-no-unused-arguments" +# TRANSITION, Clang 18: remove `-Wno-unknown-warning-option` from the below five clang-cl configs +PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call -Wno-unknown-warning-option -Wno-nan-infinity-disabled /EHsc /MD /std:c++14 /w14640 /Zc:threadSafeInit- --start-no-unused-arguments" +PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call -Wno-unknown-warning-option -Wno-nan-infinity-disabled /EHsc /MDd /std:c++17 /w14640 /Zc:threadSafeInit- --start-no-unused-arguments" +PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call -Wno-unknown-warning-option -Wno-nan-infinity-disabled /EHsc /MT /std:c++20 /permissive- /w14640 /Zc:threadSafeInit- --start-no-unused-arguments" +PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call -Wno-unknown-warning-option -Wno-nan-infinity-disabled /EHsc /MTd /std:c++latest /permissive- /w14640 /Zc:threadSafeInit- --start-no-unused-arguments" # TRANSITION, GH-3568 -# PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call -Wno-nan-infinity-disabled /EHsc /MT /std:c++latest /permissive- /w14640 /Zc:threadSafeInit- -fsanitize=undefined -fno-sanitize-recover=undefined --start-no-unused-arguments" +# PM_COMPILER="clang-cl" PM_CL="-fno-ms-compatibility -fno-delayed-template-parsing -Wno-unqualified-std-cast-call -Wno-unknown-warning-option -Wno-nan-infinity-disabled /EHsc /MT /std:c++latest /permissive- /w14640 /Zc:threadSafeInit- -fsanitize=undefined -fno-sanitize-recover=undefined --start-no-unused-arguments" RUNALL_CROSSLIST * PM_CL="/fp:strict" * PM_CL="/fp:precise" From 9916269b541bdd772600b45439bb354fd077c397 Mon Sep 17 00:00:00 2001 From: Casey Carter Date: Tue, 3 Sep 2024 15:39:21 -0700 Subject: [PATCH 3/5] *sigh* don't update the LLVM reference --- llvm-project | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/llvm-project b/llvm-project index 530289869e..886b76128f 160000 --- a/llvm-project +++ b/llvm-project @@ -1 +1 @@ -Subproject commit 530289869e4974405e03d9143fee8655709901d7 +Subproject commit 886b76128fba5f995c8c8e24aaa2030b59dec01a From a78c3a007066e2911aba21ad808cea919c3b58dd Mon Sep 17 00:00:00 2001 From: Casey Carter Date: Wed, 4 Sep 2024 09:30:29 -0700 Subject: [PATCH 4/5] Internally skip some tests that need `ADDITIONAL_COMPILE_FLAGS` --- tests/libcxx/expected_results.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/libcxx/expected_results.txt b/tests/libcxx/expected_results.txt index 1b16cd1501..59dfac2a06 100644 --- a/tests/libcxx/expected_results.txt +++ b/tests/libcxx/expected_results.txt @@ -1286,6 +1286,14 @@ std/ranges/range.adaptors/range.lazy.split/constraints.compile.pass.cpp:9 SKIPPE std/ranges/range.utility/range.utility.conv/to.pass.cpp:9 SKIPPED std/thread/thread.jthread/assign.move.pass.cpp:9 SKIPPED std/utilities/meta/meta.unary/dependent_return_type.compile.pass.cpp:9 SKIPPED +std/containers/associative/map/map.modifiers/insert_range.pass.cpp:9 SKIPPED +std/containers/associative/multimap/multimap.modifiers/insert_range.pass.cpp:9 SKIPPED +std/containers/associative/multiset/insert_range.pass.cpp:9 SKIPPED +std/containers/associative/set/insert_range.pass.cpp:9 SKIPPED +std/containers/unord/unord.map/unord.map.modifiers/insert_range.pass.cpp:9 SKIPPED +std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_range.pass.cpp:9 SKIPPED +std/containers/unord/unord.multiset/insert_range.pass.cpp:9 SKIPPED +std/containers/unord/unord.set/insert_range.pass.cpp:9 SKIPPED # This test is marked as `XFAIL: msvc`, but the MSVC-internal test harness doesn't yet parse XFAIL. std/utilities/function.objects/func.wrap/func.wrap.func/noncopyable_return_type.pass.cpp:9 SKIPPED From 2a4059a10f24ad87b1ded74715a61497b27d6810 Mon Sep 17 00:00:00 2001 From: Casey Carter Date: Wed, 4 Sep 2024 10:35:56 -0700 Subject: [PATCH 5/5] Clarify that the new internal skips will be fine with Clang 19 --- tests/libcxx/expected_results.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/libcxx/expected_results.txt b/tests/libcxx/expected_results.txt index 59dfac2a06..19a05e0db1 100644 --- a/tests/libcxx/expected_results.txt +++ b/tests/libcxx/expected_results.txt @@ -1286,6 +1286,9 @@ std/ranges/range.adaptors/range.lazy.split/constraints.compile.pass.cpp:9 SKIPPE std/ranges/range.utility/range.utility.conv/to.pass.cpp:9 SKIPPED std/thread/thread.jthread/assign.move.pass.cpp:9 SKIPPED std/utilities/meta/meta.unary/dependent_return_type.compile.pass.cpp:9 SKIPPED + +# These tests also need ADDITIONAL_COMPILE_FLAGS to silence warnings, but only for Clang 18. +# TRANSITION, Clang 19 std/containers/associative/map/map.modifiers/insert_range.pass.cpp:9 SKIPPED std/containers/associative/multimap/multimap.modifiers/insert_range.pass.cpp:9 SKIPPED std/containers/associative/multiset/insert_range.pass.cpp:9 SKIPPED