https://gcc.gnu.org/g:4182fa87758d5a94c1f6d71f471842207e56f933

commit r13-9546-g4182fa87758d5a94c1f6d71f471842207e56f933
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Wed Apr 16 18:38:03 2025 +0100

    libstdc++: Add dg-options "-std=gnu++20" to backported tests
    
    These tests were backported from gcc-14 where the testsuite
    automatically adds -std=gnu++20 as needed. That doesn't happen on the
    older release branches, so an explicit dg-options directive is needed to
    ensure the tests are run by default. Otherwise they'll only be run when
    somebody uses a custom --target_board that includes -std=gnu++20.
    
    For 23_containers/span/nodiscard.cc we need to remove the dg-warning
    lines that only match for -std=gnu++23, because with the explicit
    dg-options to set -std=gnu++20 we never actually test it with C++23
    mode.
    
    For 29_atomics/headers/stdatomic.h/115807.cc we need to compile with
    -std=gnu++23 instead.
    
    libstdc++-v3/ChangeLog:
    
            * testsuite/20_util/integer_sequence/112473.cc: Compile with
            -std=gnu++20.
            * testsuite/21_strings/char_traits/requirements/113200.cc:
            Likewise.
            * testsuite/23_containers/array/comparison_operators/106212.cc:
            Likewise.
            * testsuite/23_containers/array/creation/115522.cc: Likewise.
            * testsuite/23_containers/span/117966.cc: Likewise.
            * testsuite/23_containers/span/nodiscard.cc: Likewise. Remove
            dg-warning directives for et c++23.
            * testsuite/23_containers/vector/cons/113841.cc: Compile with
            -std=gnu++20.
            * testsuite/24_iterators/common_iterator/101527.cc: Likewise.
            * testsuite/24_iterators/counted_iterator/101527.cc: Likewise.
            * testsuite/24_iterators/move_iterator/lwg3736.cc: Likewise.
            * 
testsuite/25_algorithms/lexicographical_compare_three_way/113960.cc:
            Likewise.
            * testsuite/27_io/filesystem/iterators/lwg3480.cc: Likewise.
            * testsuite/29_atomics/headers/stdatomic.h/115807.cc: Compile
            with -std=gnu++23.
            * testsuite/experimental/scopeguard/114152.cc: Compile with
            -std=gnu++20.
            * testsuite/std/format/arguments/112607.cc: Likewise.
            * testsuite/std/format/arguments/args_neg.cc: Likewise.
            * testsuite/std/format/context.cc: Likewise.
            * testsuite/std/format/formatter/112832.cc: Likewise.
            * testsuite/std/format/formatter/basic.cc: Likewise.
            * testsuite/std/ranges/subrange/111948.cc: Likewise.
            * testsuite/std/ranges/subrange/lwg3589.cc: Likewise.
            * testsuite/std/time/format/pr117085.cc: Likewise.
            * testsuite/std/time/month/2.cc: Likewise.
            * testsuite/std/time/time_zone/sys_info_abbrev.cc: Likewise.
            * testsuite/std/time/tzdb/links.cc: Likewise.
            * testsuite/std/time/weekday/2.cc: Likewise.

Diff:
---
 libstdc++-v3/testsuite/20_util/integer_sequence/112473.cc         | 1 +
 .../testsuite/21_strings/char_traits/requirements/113200.cc       | 1 +
 .../testsuite/23_containers/array/comparison_operators/106212.cc  | 2 +-
 libstdc++-v3/testsuite/23_containers/array/creation/115522.cc     | 1 +
 libstdc++-v3/testsuite/23_containers/span/117966.cc               | 2 +-
 libstdc++-v3/testsuite/23_containers/span/nodiscard.cc            | 8 +-------
 libstdc++-v3/testsuite/23_containers/vector/cons/113841.cc        | 1 +
 libstdc++-v3/testsuite/24_iterators/common_iterator/101527.cc     | 1 +
 libstdc++-v3/testsuite/24_iterators/counted_iterator/101527.cc    | 1 +
 libstdc++-v3/testsuite/24_iterators/move_iterator/lwg3736.cc      | 1 +
 .../25_algorithms/lexicographical_compare_three_way/113960.cc     | 1 +
 libstdc++-v3/testsuite/27_io/filesystem/iterators/lwg3480.cc      | 1 +
 libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/115807.cc   | 1 +
 libstdc++-v3/testsuite/experimental/scopeguard/114152.cc          | 1 +
 libstdc++-v3/testsuite/std/format/arguments/112607.cc             | 1 +
 libstdc++-v3/testsuite/std/format/arguments/args_neg.cc           | 1 +
 libstdc++-v3/testsuite/std/format/context.cc                      | 1 +
 libstdc++-v3/testsuite/std/format/formatter/112832.cc             | 1 +
 libstdc++-v3/testsuite/std/format/formatter/basic.cc              | 1 +
 libstdc++-v3/testsuite/std/ranges/subrange/111948.cc              | 1 +
 libstdc++-v3/testsuite/std/ranges/subrange/lwg3589.cc             | 1 +
 libstdc++-v3/testsuite/std/time/format/pr117085.cc                | 1 +
 libstdc++-v3/testsuite/std/time/month/2.cc                        | 1 +
 libstdc++-v3/testsuite/std/time/time_zone/sys_info_abbrev.cc      | 1 +
 libstdc++-v3/testsuite/std/time/tzdb/links.cc                     | 1 +
 libstdc++-v3/testsuite/std/time/weekday/2.cc                      | 1 +
 26 files changed, 26 insertions(+), 9 deletions(-)

diff --git a/libstdc++-v3/testsuite/20_util/integer_sequence/112473.cc 
b/libstdc++-v3/testsuite/20_util/integer_sequence/112473.cc
index 14abfbc8149d..1c8035c6b1e5 100644
--- a/libstdc++-v3/testsuite/20_util/integer_sequence/112473.cc
+++ b/libstdc++-v3/testsuite/20_util/integer_sequence/112473.cc
@@ -1,3 +1,4 @@
+// { dg-options "-std=gnu++20" }
 // { dg-do compile { target c++20 } }
 
 // PR libstdc++/112473 - integer_sequence accepts non-integer types
diff --git 
a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/113200.cc 
b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/113200.cc
index 0fe765d53bcc..6a1b03293efb 100644
--- a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/113200.cc
+++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/113200.cc
@@ -1,3 +1,4 @@
+// { dg-options "-std=gnu++20" }
 // { dg-do compile { target c++20 } }
 
 // PR libstdc++/113200
diff --git 
a/libstdc++-v3/testsuite/23_containers/array/comparison_operators/106212.cc 
b/libstdc++-v3/testsuite/23_containers/array/comparison_operators/106212.cc
index f7b12bd04efd..d6d9bf464b2f 100644
--- a/libstdc++-v3/testsuite/23_containers/array/comparison_operators/106212.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/comparison_operators/106212.cc
@@ -1,4 +1,4 @@
-// { dg-options "-D_GLIBCXX_DEBUG" }
+// { dg-options "-D_GLIBCXX_DEBUG -std=gnu++20" }
 // { dg-do compile { target c++20 } }
 
 // Bug libstdc++/106212 - Code becomes non-constexpr with _GLIBCXX_DEBUG
diff --git a/libstdc++-v3/testsuite/23_containers/array/creation/115522.cc 
b/libstdc++-v3/testsuite/23_containers/array/creation/115522.cc
index 37073e002bdb..052be9f73687 100644
--- a/libstdc++-v3/testsuite/23_containers/array/creation/115522.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/creation/115522.cc
@@ -1,3 +1,4 @@
+// { dg-options "-std=gnu++20" }
 // { dg-do compile { target c++20 } }
 
 // PR libstdc++/115522 std::to_array no longer works for struct which is
diff --git a/libstdc++-v3/testsuite/23_containers/span/117966.cc 
b/libstdc++-v3/testsuite/23_containers/span/117966.cc
index 8bbb5ca1e079..cf30fcadd8f9 100644
--- a/libstdc++-v3/testsuite/23_containers/span/117966.cc
+++ b/libstdc++-v3/testsuite/23_containers/span/117966.cc
@@ -1,4 +1,4 @@
-// { dg-options "-D_GLIBCXX_DEBUG" }
+// { dg-options "-D_GLIBCXX_DEBUG -std=gnu++20" }
 // { dg-do compile { target c++20 } }
 
 // Bug 117966
diff --git a/libstdc++-v3/testsuite/23_containers/span/nodiscard.cc 
b/libstdc++-v3/testsuite/23_containers/span/nodiscard.cc
index 3bccd1545c3a..6bcdc096c716 100644
--- a/libstdc++-v3/testsuite/23_containers/span/nodiscard.cc
+++ b/libstdc++-v3/testsuite/23_containers/span/nodiscard.cc
@@ -1,3 +1,4 @@
+// { dg-options "-std=gnu++20" }
 // { dg-do compile { target c++20 } }
 
 #include <span>
@@ -28,13 +29,6 @@ test_iterators(std::span<S> s)
   s.end(); // { dg-warning "ignoring return value" }
   s.rbegin(); // { dg-warning "ignoring return value" }
   s.rend(); // { dg-warning "ignoring return value" }
-
-#if __cplusplus > 202002L
-  s.cbegin(); // { dg-warning "ignoring return value" "" { target c++23 } }
-  s.cend(); // { dg-warning "ignoring return value" "" { target c++23 } }
-  s.crbegin(); // { dg-warning "ignoring return value" "" { target c++23 } }
-  s.crend(); // { dg-warning "ignoring return value" "" { target c++23 } }
-#endif
 }
 
 void
diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/113841.cc 
b/libstdc++-v3/testsuite/23_containers/vector/cons/113841.cc
index a7721d27f796..9c9c7d2d1c42 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/cons/113841.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/cons/113841.cc
@@ -1,3 +1,4 @@
+// { dg-options "-std=gnu++20" }
 // { dg-do compile { target c++20 } }
 
 #include <vector>
diff --git a/libstdc++-v3/testsuite/24_iterators/common_iterator/101527.cc 
b/libstdc++-v3/testsuite/24_iterators/common_iterator/101527.cc
index 0a2a5e8dfcca..a2150aebd443 100644
--- a/libstdc++-v3/testsuite/24_iterators/common_iterator/101527.cc
+++ b/libstdc++-v3/testsuite/24_iterators/common_iterator/101527.cc
@@ -1,3 +1,4 @@
+// { dg-options "-std=gnu++20" }
 // { dg-do compile { target c++20 } }
 
 // PR libstdc++/101527
diff --git a/libstdc++-v3/testsuite/24_iterators/counted_iterator/101527.cc 
b/libstdc++-v3/testsuite/24_iterators/counted_iterator/101527.cc
index 51c6e99cd77c..5bdd410cc8e1 100644
--- a/libstdc++-v3/testsuite/24_iterators/counted_iterator/101527.cc
+++ b/libstdc++-v3/testsuite/24_iterators/counted_iterator/101527.cc
@@ -1,3 +1,4 @@
+// { dg-options "-std=gnu++20" }
 // { dg-do compile { target c++20 } }
 
 // PR libstdc++/101527
diff --git a/libstdc++-v3/testsuite/24_iterators/move_iterator/lwg3736.cc 
b/libstdc++-v3/testsuite/24_iterators/move_iterator/lwg3736.cc
index eaf791b30893..49fb686aa06d 100644
--- a/libstdc++-v3/testsuite/24_iterators/move_iterator/lwg3736.cc
+++ b/libstdc++-v3/testsuite/24_iterators/move_iterator/lwg3736.cc
@@ -1,3 +1,4 @@
+// { dg-options "-std=gnu++20" }
 // { dg-do compile { target c++20 } }
 
 // 3736.  move_iterator missing disable_sized_sentinel_for specialization
diff --git 
a/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare_three_way/113960.cc
 
b/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare_three_way/113960.cc
index d51ae1a3d50d..388a535b9040 100644
--- 
a/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare_three_way/113960.cc
+++ 
b/libstdc++-v3/testsuite/25_algorithms/lexicographical_compare_three_way/113960.cc
@@ -1,3 +1,4 @@
+// { dg-options "-std=gnu++20" }
 // { dg-do run { target c++20 } }
 
 // PR libstdc++/113960
diff --git a/libstdc++-v3/testsuite/27_io/filesystem/iterators/lwg3480.cc 
b/libstdc++-v3/testsuite/27_io/filesystem/iterators/lwg3480.cc
index 15e0286fff6f..98e97a7775f3 100644
--- a/libstdc++-v3/testsuite/27_io/filesystem/iterators/lwg3480.cc
+++ b/libstdc++-v3/testsuite/27_io/filesystem/iterators/lwg3480.cc
@@ -1,3 +1,4 @@
+// { dg-options "-std=gnu++20" }
 // { dg-do compile { target c++20 } }
 // { dg-require-filesystem-ts "" }
 
diff --git a/libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/115807.cc 
b/libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/115807.cc
index 14f320fe8357..7f9d742838df 100644
--- a/libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/115807.cc
+++ b/libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/115807.cc
@@ -1,3 +1,4 @@
+// { dg-options "-std=gnu++23" }
 // { dg-do compile { target c++23 } }
 #include <stdatomic.h>
 namespace other {
diff --git a/libstdc++-v3/testsuite/experimental/scopeguard/114152.cc 
b/libstdc++-v3/testsuite/experimental/scopeguard/114152.cc
index 63c1f710e9f1..e7837b718d26 100644
--- a/libstdc++-v3/testsuite/experimental/scopeguard/114152.cc
+++ b/libstdc++-v3/testsuite/experimental/scopeguard/114152.cc
@@ -1,3 +1,4 @@
+// { dg-options "-std=gnu++20" }
 // { dg-do compile { target c++20 } }
 
 // PR libstdc++/114152
diff --git a/libstdc++-v3/testsuite/std/format/arguments/112607.cc 
b/libstdc++-v3/testsuite/std/format/arguments/112607.cc
index 19eec765ea58..8b53404ebd69 100644
--- a/libstdc++-v3/testsuite/std/format/arguments/112607.cc
+++ b/libstdc++-v3/testsuite/std/format/arguments/112607.cc
@@ -1,3 +1,4 @@
+// { dg-options "-std=gnu++20" }
 // { dg-do compile { target c++20 } }
 
 // PR libstdc++/112607
diff --git a/libstdc++-v3/testsuite/std/format/arguments/args_neg.cc 
b/libstdc++-v3/testsuite/std/format/arguments/args_neg.cc
index 16ac30401466..8ffea99fdfb4 100644
--- a/libstdc++-v3/testsuite/std/format/arguments/args_neg.cc
+++ b/libstdc++-v3/testsuite/std/format/arguments/args_neg.cc
@@ -1,3 +1,4 @@
+// { dg-options "-std=gnu++20" }
 // { dg-do compile { target c++20 } }
 
 // P2905R2 Runtime format strings
diff --git a/libstdc++-v3/testsuite/std/format/context.cc 
b/libstdc++-v3/testsuite/std/format/context.cc
index 5cc5e9c9ba22..3b9029eb8d73 100644
--- a/libstdc++-v3/testsuite/std/format/context.cc
+++ b/libstdc++-v3/testsuite/std/format/context.cc
@@ -1,3 +1,4 @@
+// { dg-options "-std=gnu++20" }
 // { dg-do compile { target c++20 } }
 
 #include <format>
diff --git a/libstdc++-v3/testsuite/std/format/formatter/112832.cc 
b/libstdc++-v3/testsuite/std/format/formatter/112832.cc
index 9aa2095a73d7..338b112d084f 100644
--- a/libstdc++-v3/testsuite/std/format/formatter/112832.cc
+++ b/libstdc++-v3/testsuite/std/format/formatter/112832.cc
@@ -1,3 +1,4 @@
+// { dg-options "-std=gnu++20" }
 // { dg-do compile { target c++20 } }
 
 #include <format>
diff --git a/libstdc++-v3/testsuite/std/format/formatter/basic.cc 
b/libstdc++-v3/testsuite/std/format/formatter/basic.cc
index 56c18864135a..642d4c8ccea8 100644
--- a/libstdc++-v3/testsuite/std/format/formatter/basic.cc
+++ b/libstdc++-v3/testsuite/std/format/formatter/basic.cc
@@ -1,3 +1,4 @@
+// { dg-options "-std=gnu++20" }
 // { dg-do compile { target c++20 } }
 
 // BasicFormatter requirements do not require a const parameter.
diff --git a/libstdc++-v3/testsuite/std/ranges/subrange/111948.cc 
b/libstdc++-v3/testsuite/std/ranges/subrange/111948.cc
index dcc64b56def7..615bd94824a0 100644
--- a/libstdc++-v3/testsuite/std/ranges/subrange/111948.cc
+++ b/libstdc++-v3/testsuite/std/ranges/subrange/111948.cc
@@ -1,3 +1,4 @@
+// { dg-options "-std=gnu++20" }
 // { dg-do compile { target c++20 } }
 
 #include <ranges>
diff --git a/libstdc++-v3/testsuite/std/ranges/subrange/lwg3589.cc 
b/libstdc++-v3/testsuite/std/ranges/subrange/lwg3589.cc
index 1ccc52d81f8a..4447b3186ebd 100644
--- a/libstdc++-v3/testsuite/std/ranges/subrange/lwg3589.cc
+++ b/libstdc++-v3/testsuite/std/ranges/subrange/lwg3589.cc
@@ -1,3 +1,4 @@
+// { dg-options "-std=gnu++20" }
 // { dg-do compile { target c++20 } }
 
 // LWG 3589. The const lvalue reference overload of get for subrange does not
diff --git a/libstdc++-v3/testsuite/std/time/format/pr117085.cc 
b/libstdc++-v3/testsuite/std/time/format/pr117085.cc
index 99ef8389995d..0fac91dd5332 100644
--- a/libstdc++-v3/testsuite/std/time/format/pr117085.cc
+++ b/libstdc++-v3/testsuite/std/time/format/pr117085.cc
@@ -1,3 +1,4 @@
+// { dg-options "-std=gnu++20" }
 // { dg-do run { target c++20 } }
 // { dg-require-namedlocale "fr_FR.ISO8859-1" }
 
diff --git a/libstdc++-v3/testsuite/std/time/month/2.cc 
b/libstdc++-v3/testsuite/std/time/month/2.cc
index 3bcefa60003b..4ef0adfbce38 100644
--- a/libstdc++-v3/testsuite/std/time/month/2.cc
+++ b/libstdc++-v3/testsuite/std/time/month/2.cc
@@ -1,3 +1,4 @@
+// { dg-options "-std=gnu++20" }
 // { dg-do run { target c++20 } }
 
 // Class month [time.cal.month]
diff --git a/libstdc++-v3/testsuite/std/time/time_zone/sys_info_abbrev.cc 
b/libstdc++-v3/testsuite/std/time/time_zone/sys_info_abbrev.cc
index f1a8fff02f58..d21bfacb97bb 100644
--- a/libstdc++-v3/testsuite/std/time/time_zone/sys_info_abbrev.cc
+++ b/libstdc++-v3/testsuite/std/time/time_zone/sys_info_abbrev.cc
@@ -1,3 +1,4 @@
+// { dg-options "-std=gnu++20" }
 // { dg-do run { target c++20 } }
 // { dg-require-effective-target tzdb }
 // { dg-require-effective-target cxx11_abi }
diff --git a/libstdc++-v3/testsuite/std/time/tzdb/links.cc 
b/libstdc++-v3/testsuite/std/time/tzdb/links.cc
index 0ba214846c6e..32834bf8a6a3 100644
--- a/libstdc++-v3/testsuite/std/time/tzdb/links.cc
+++ b/libstdc++-v3/testsuite/std/time/tzdb/links.cc
@@ -1,3 +1,4 @@
+// { dg-options "-std=gnu++20" }
 // { dg-do run { target c++20 } }
 // { dg-require-effective-target tzdb }
 // { dg-require-effective-target cxx11_abi }
diff --git a/libstdc++-v3/testsuite/std/time/weekday/2.cc 
b/libstdc++-v3/testsuite/std/time/weekday/2.cc
index 924709321e5d..6980f78fbe1f 100644
--- a/libstdc++-v3/testsuite/std/time/weekday/2.cc
+++ b/libstdc++-v3/testsuite/std/time/weekday/2.cc
@@ -1,3 +1,4 @@
+// { dg-options "-std=gnu++20" }
 // { dg-do run { target c++20 } }
 
 // Class weekday [time.cal.wd]

Reply via email to