On Wed, Feb 18, 2026 at 10:06 PM Jonathan Wakely <[email protected]> wrote:

> 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.
> ---
>
> Tested x86_64-linux.
>
LGTM

>
>  .../20_util/is_pod/requirements/explicit_instantiation.cc     | 2 +-
>  .../testsuite/20_util/is_pod/requirements/typedefs.cc         | 2 +-
>  libstdc++-v3/testsuite/20_util/is_pod/value.cc                | 2 +-
>  .../testsuite/20_util/reference_wrapper/result_type.cc        | 2 +-
>  .../testsuite/20_util/reference_wrapper/typedefs-2.cc         | 2 +-
>  .../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 +-
>  .../testsuite/20_util/variable_templates_for_traits.cc        | 2 +-
>  libstdc++-v3/testsuite/experimental/type_traits/value.cc      | 2 +-
>  .../testsuite/ext/malloc_allocator/variadic_construct.cc      | 2 +-
>  .../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>
> --
> 2.53.0
>
>

Reply via email to