https://gcc.gnu.org/g:b8b518b942c2a071e8ad511313bcfa0fa31f8452
commit r16-7592-gb8b518b942c2a071e8ad511313bcfa0fa31f8452 Author: Jonathan Wakely <[email protected]> Date: Tue Feb 17 12:46:09 2026 +0000 libstdc++: Replace uses of "c++2a" effective target with "c++20" libstdc++-v3/ChangeLog: * testsuite/lib/libstdc++.exp (v3-minimum-std): Remove special case for c++2a and TODO comment. * testsuite/20_util/is_pod/requirements/explicit_instantiation.cc: Replace c++2a effective target with c++20. * testsuite/20_util/is_pod/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_pod/value.cc: Likewise. * testsuite/20_util/reference_wrapper/result_type.cc: Likewise. * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise. * testsuite/20_util/reference_wrapper/typedefs-3.cc: Likewise. * testsuite/20_util/result_of/sfinae_friendly_1.cc: Likewise. * testsuite/20_util/tuple/78939.cc: Likewise. * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise. * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise. * testsuite/20_util/variable_templates_for_traits.cc: Likewise. * testsuite/experimental/type_traits/value.cc: Likewise. * testsuite/ext/malloc_allocator/variadic_construct.cc: Likewise. * testsuite/ext/new_allocator/variadic_construct.cc: Likewise. * testsuite/libstdc++-prettyprinters/chrono.cc: Likewise. * testsuite/libstdc++-prettyprinters/cxx20.cc: Likewise. * testsuite/std/ranges/iota/size.cc: Likewise. * testsuite/tr1/3_function_objects/result_of.cc: Likewise. Reviewed-by: Tomasz KamiĆski <[email protected]> Diff: --- .../testsuite/20_util/is_pod/requirements/explicit_instantiation.cc | 2 +- libstdc++-v3/testsuite/20_util/is_pod/requirements/typedefs.cc | 2 +- libstdc++-v3/testsuite/20_util/is_pod/value.cc | 2 +- libstdc++-v3/testsuite/20_util/reference_wrapper/result_type.cc | 2 +- libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs-2.cc | 2 +- libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs-3.cc | 2 +- libstdc++-v3/testsuite/20_util/result_of/sfinae_friendly_1.cc | 2 +- libstdc++-v3/testsuite/20_util/tuple/78939.cc | 2 +- libstdc++-v3/testsuite/20_util/uses_allocator/69293_neg.cc | 2 +- libstdc++-v3/testsuite/20_util/uses_allocator/cons_neg.cc | 2 +- libstdc++-v3/testsuite/20_util/variable_templates_for_traits.cc | 2 +- libstdc++-v3/testsuite/experimental/type_traits/value.cc | 2 +- libstdc++-v3/testsuite/ext/malloc_allocator/variadic_construct.cc | 2 +- libstdc++-v3/testsuite/ext/new_allocator/variadic_construct.cc | 2 +- libstdc++-v3/testsuite/lib/libstdc++.exp | 4 ---- libstdc++-v3/testsuite/libstdc++-prettyprinters/chrono.cc | 4 ++-- libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx20.cc | 4 ++-- libstdc++-v3/testsuite/std/ranges/iota/size.cc | 2 +- libstdc++-v3/testsuite/tr1/3_function_objects/result_of.cc | 2 +- 19 files changed, 20 insertions(+), 24 deletions(-) diff --git a/libstdc++-v3/testsuite/20_util/is_pod/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_pod/requirements/explicit_instantiation.cc index 9ee9b5642676..a73293076b86 100644 --- a/libstdc++-v3/testsuite/20_util/is_pod/requirements/explicit_instantiation.cc +++ b/libstdc++-v3/testsuite/20_util/is_pod/requirements/explicit_instantiation.cc @@ -1,5 +1,5 @@ // { dg-do compile { target c++11 } } -// { dg-additional-options "-Wno-deprecated-declarations" { target { c++2a } } } +// { dg-additional-options "-Wno-deprecated-declarations" { target { c++20 } } } // 2010-02-21 Paolo Carlini <[email protected]> // Copyright (C) 2010-2026 Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/20_util/is_pod/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_pod/requirements/typedefs.cc index 61eee6c313d4..f833796d883d 100644 --- a/libstdc++-v3/testsuite/20_util/is_pod/requirements/typedefs.cc +++ b/libstdc++-v3/testsuite/20_util/is_pod/requirements/typedefs.cc @@ -1,5 +1,5 @@ // { dg-do compile { target c++11 } } -// { dg-additional-options "-Wno-deprecated-declarations" { target { c++2a } } } +// { dg-additional-options "-Wno-deprecated-declarations" { target { c++20 } } } // 2010-02-21 Paolo Carlini <[email protected]> // diff --git a/libstdc++-v3/testsuite/20_util/is_pod/value.cc b/libstdc++-v3/testsuite/20_util/is_pod/value.cc index 951af8b6cd32..28878152e140 100644 --- a/libstdc++-v3/testsuite/20_util/is_pod/value.cc +++ b/libstdc++-v3/testsuite/20_util/is_pod/value.cc @@ -1,5 +1,5 @@ // { dg-do compile { target c++11 } } -// { dg-additional-options "-Wno-deprecated-declarations" { target { c++2a } } } +// { dg-additional-options "-Wno-deprecated-declarations" { target { c++20 } } } // 2010-02-21 Paolo Carlini <[email protected]> // diff --git a/libstdc++-v3/testsuite/20_util/reference_wrapper/result_type.cc b/libstdc++-v3/testsuite/20_util/reference_wrapper/result_type.cc index fcdbe4f4fc97..b8ce4db485e1 100644 --- a/libstdc++-v3/testsuite/20_util/reference_wrapper/result_type.cc +++ b/libstdc++-v3/testsuite/20_util/reference_wrapper/result_type.cc @@ -1,5 +1,5 @@ // { dg-do compile { target c++11 } } -// { dg-skip-if "result_type removed for C++20" { c++2a } } +// { dg-skip-if "result_type removed for C++20" { c++20 } } // 2010-10-06 Paolo Carlini <[email protected]> diff --git a/libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs-2.cc b/libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs-2.cc index e1c6312c890f..cae41fc0e3af 100644 --- a/libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs-2.cc +++ b/libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs-2.cc @@ -1,5 +1,5 @@ // { dg-do compile { target c++11 } } -// { dg-skip-if "argument_type removed for C++20" { c++2a } } +// { dg-skip-if "argument_type removed for C++20" { c++20 } } // 2010-10-06 Paolo Carlini <[email protected]> diff --git a/libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs-3.cc b/libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs-3.cc index 4bf65ba25fc8..2b2b36108c6d 100644 --- a/libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs-3.cc +++ b/libstdc++-v3/testsuite/20_util/reference_wrapper/typedefs-3.cc @@ -1,5 +1,5 @@ // { dg-do compile { target c++11 } } -// { dg-skip-if "argument_type removed for C++20" { c++2a } } +// { dg-skip-if "argument_type removed for C++20" { c++20 } } // Copyright (C) 2011-2026 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/result_of/sfinae_friendly_1.cc b/libstdc++-v3/testsuite/20_util/result_of/sfinae_friendly_1.cc index a82fdcca57e5..bd5d17f9bdcd 100644 --- a/libstdc++-v3/testsuite/20_util/result_of/sfinae_friendly_1.cc +++ b/libstdc++-v3/testsuite/20_util/result_of/sfinae_friendly_1.cc @@ -1,5 +1,5 @@ // { dg-do compile { target c++11 } } -// { dg-additional-options "-Wno-volatile" { target c++2a } } +// { dg-additional-options "-Wno-volatile" { target c++20 } } // Copyright (C) 2012-2026 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/tuple/78939.cc b/libstdc++-v3/testsuite/20_util/tuple/78939.cc index eb15403c3cf2..340a4b4a4a9a 100644 --- a/libstdc++-v3/testsuite/20_util/tuple/78939.cc +++ b/libstdc++-v3/testsuite/20_util/tuple/78939.cc @@ -15,7 +15,7 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// { dg-additional-options "-Wno-deprecated" { target c++2a } } +// { dg-additional-options "-Wno-deprecated" { target c++20 } } // { dg-do compile { target c++17 } } // PR libstdc++/78939 diff --git a/libstdc++-v3/testsuite/20_util/uses_allocator/69293_neg.cc b/libstdc++-v3/testsuite/20_util/uses_allocator/69293_neg.cc index cb69b0277ddf..456dedb7d50e 100644 --- a/libstdc++-v3/testsuite/20_util/uses_allocator/69293_neg.cc +++ b/libstdc++-v3/testsuite/20_util/uses_allocator/69293_neg.cc @@ -47,5 +47,5 @@ test01() alloc_type a; std::tuple<X> t(std::allocator_arg, a); // this is required to be ill-formed // { dg-error "failed: .* uses_allocator is true" "" { target *-*-* } 0 } - // { dg-error "too many initializers for 'X'" "" { target c++2a } 0 } + // { dg-error "too many initializers for 'X'" "" { target c++20 } 0 } } diff --git a/libstdc++-v3/testsuite/20_util/uses_allocator/cons_neg.cc b/libstdc++-v3/testsuite/20_util/uses_allocator/cons_neg.cc index 26f9778540bc..4e4cf6f1f72d 100644 --- a/libstdc++-v3/testsuite/20_util/uses_allocator/cons_neg.cc +++ b/libstdc++-v3/testsuite/20_util/uses_allocator/cons_neg.cc @@ -44,4 +44,4 @@ void test01() tuple<Type> t(allocator_arg, a, 1); } // { dg-error "failed: .* uses_allocator is true" "" { target *-*-* } 0 } -// { dg-error "no matching function for call" "" { target c++2a } 0 } +// { dg-error "no matching function for call" "" { target c++20 } 0 } diff --git a/libstdc++-v3/testsuite/20_util/variable_templates_for_traits.cc b/libstdc++-v3/testsuite/20_util/variable_templates_for_traits.cc index d2629ee44526..eb440a097071 100644 --- a/libstdc++-v3/testsuite/20_util/variable_templates_for_traits.cc +++ b/libstdc++-v3/testsuite/20_util/variable_templates_for_traits.cc @@ -1,4 +1,4 @@ -// { dg-additional-options "-Wno-deprecated-declarations" { target c++2a } } +// { dg-additional-options "-Wno-deprecated-declarations" { target c++20 } } // { dg-do compile { target c++17 } } // { dg-additional-options "-freflection" { target c++26 } } diff --git a/libstdc++-v3/testsuite/experimental/type_traits/value.cc b/libstdc++-v3/testsuite/experimental/type_traits/value.cc index a909debad662..c5defa4f2f81 100644 --- a/libstdc++-v3/testsuite/experimental/type_traits/value.cc +++ b/libstdc++-v3/testsuite/experimental/type_traits/value.cc @@ -1,5 +1,5 @@ // { dg-do compile { target c++14 } } -// { dg-additional-options "-Wno-deprecated-declarations" { target { c++2a } } } +// { dg-additional-options "-Wno-deprecated-declarations" { target { c++20 } } } // Copyright (C) 2014-2026 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/ext/malloc_allocator/variadic_construct.cc b/libstdc++-v3/testsuite/ext/malloc_allocator/variadic_construct.cc index 8ceef7f6d6c7..d71458a7f67b 100644 --- a/libstdc++-v3/testsuite/ext/malloc_allocator/variadic_construct.cc +++ b/libstdc++-v3/testsuite/ext/malloc_allocator/variadic_construct.cc @@ -1,4 +1,4 @@ -// { dg-do run { target { c++11 && { ! c++2a } } } } +// { dg-do run { target { c++11 && { ! c++20 } } } } // 2007-10-26 Paolo Carlini <[email protected]> diff --git a/libstdc++-v3/testsuite/ext/new_allocator/variadic_construct.cc b/libstdc++-v3/testsuite/ext/new_allocator/variadic_construct.cc index 95f6384a00ba..91e4f55845ec 100644 --- a/libstdc++-v3/testsuite/ext/new_allocator/variadic_construct.cc +++ b/libstdc++-v3/testsuite/ext/new_allocator/variadic_construct.cc @@ -1,4 +1,4 @@ -// { dg-do run { target { c++11 && { ! c++2a } } } } +// { dg-do run { target { c++11 && { ! c++20 } } } } // 2007-10-26 Paolo Carlini <[email protected]> diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp b/libstdc++-v3/testsuite/lib/libstdc++.exp index 67c475499630..5b50972511f3 100644 --- a/libstdc++-v3/testsuite/lib/libstdc++.exp +++ b/libstdc++-v3/testsuite/lib/libstdc++.exp @@ -482,10 +482,6 @@ proc v3-minimum-std { test default_std max_std } { return $s } } - # TODO: replace all c++2a with c++20 and remove this case. - if [search_for $test "\{ dg-do * \{ target c++2a"] { - return 20 - } return $default_std } diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/chrono.cc b/libstdc++-v3/testsuite/libstdc++-prettyprinters/chrono.cc index 9aa284aea2f3..c10198df06eb 100644 --- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/chrono.cc +++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/chrono.cc @@ -1,5 +1,5 @@ -// { dg-options "-g -O0 -std=gnu++2a" } -// { dg-do run { target c++2a } } +// { dg-options "-g -O0 -std=gnu++20" } +// { dg-do run { target c++20 } } // { dg-additional-options "-DTEST_ZONED_TIME" { target tzdb } } // Copyright The GNU Toolchain Authors. diff --git a/libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx20.cc b/libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx20.cc index 91d25219e240..0ec85dfac80f 100644 --- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx20.cc +++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx20.cc @@ -1,5 +1,5 @@ -// { dg-options "-g -O0 -std=gnu++2a" } -// { dg-do run { target c++2a } } +// { dg-options "-g -O0 -std=gnu++20" } +// { dg-do run { target c++20 } } // Copyright (C) 2014-2026 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/std/ranges/iota/size.cc b/libstdc++-v3/testsuite/std/ranges/iota/size.cc index e201d5125fac..efe4d66569d4 100644 --- a/libstdc++-v3/testsuite/std/ranges/iota/size.cc +++ b/libstdc++-v3/testsuite/std/ranges/iota/size.cc @@ -15,7 +15,7 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// { dg-do compile { target c++2a } } +// { dg-do compile { target c++20 } } // { dg-add-options strict_std } #include <ranges> diff --git a/libstdc++-v3/testsuite/tr1/3_function_objects/result_of.cc b/libstdc++-v3/testsuite/tr1/3_function_objects/result_of.cc index fbefc00ec629..10960a4955ba 100644 --- a/libstdc++-v3/testsuite/tr1/3_function_objects/result_of.cc +++ b/libstdc++-v3/testsuite/tr1/3_function_objects/result_of.cc @@ -17,7 +17,7 @@ // with this library; see the file COPYING3. If not see // <http://www.gnu.org/licenses/>. -// { dg-additional-options "-Wno-volatile" { target c++2a } } +// { dg-additional-options "-Wno-volatile" { target c++20 } } // 3.4 function return types #include <tr1/functional>
