On Tue, 11 Nov 2025 at 16:29, Jason Merrill <[email protected]> wrote:
>
> Tested x86_64-pc-linux-gnu, OK for trunk?
OK, thanks.
>
> -- 8< --
>
> -Wno-deprecated doesn't work with header units, since the testcase can't
> change the header unit's version of the __DEPRECATED macro. But
> -Wno-deprecated-declarations works just fine to avoid warning about
> deprecated things.
>
> libstdc++-v3/ChangeLog:
>
> * testsuite/18_support/exception_ptr/62258.cc: Use
> -Wno-deprecated-declarations instead of -Wno-deprecated.
> * testsuite/18_support/uncaught_exception/14026.cc
> * testsuite/20_util/headers/functional/synopsis.cc
> *
> testsuite/20_util/is_literal_type/requirements/explicit_instantiation.cc
> * testsuite/20_util/is_literal_type/requirements/typedefs.cc
> * testsuite/20_util/is_literal_type/value.cc
> * testsuite/20_util/is_pod/requirements/explicit_instantiation.cc
> * testsuite/20_util/is_pod/requirements/typedefs.cc
> * testsuite/20_util/is_pod/value.cc
> * testsuite/20_util/shared_ptr/assign/auto_ptr.cc
> * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc
> * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc
> * testsuite/20_util/shared_ptr/atomic/1.cc
> * testsuite/20_util/shared_ptr/atomic/2.cc
> * testsuite/20_util/shared_ptr/atomic/3.cc
> * testsuite/20_util/shared_ptr/cons/43820_neg.cc
> * testsuite/20_util/shared_ptr/cons/auto_ptr.cc
> * testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc
> * testsuite/20_util/shared_ptr/creation/dr925.cc
> * testsuite/20_util/unique_ptr/cons/auto_ptr.cc
> * testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc
> * testsuite/20_util/variable_templates_for_traits.cc
> * testsuite/29_atomics/atomic/lwg3220.cc
> * testsuite/experimental/type_traits/value.cc: Likewise.
> ---
> libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc | 2 +-
> libstdc++-v3/testsuite/18_support/uncaught_exception/14026.cc | 2 +-
> libstdc++-v3/testsuite/20_util/headers/functional/synopsis.cc | 2 +-
> .../is_literal_type/requirements/explicit_instantiation.cc | 2 +-
> .../testsuite/20_util/is_literal_type/requirements/typedefs.cc | 2 +-
> libstdc++-v3/testsuite/20_util/is_literal_type/value.cc | 2 +-
> .../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/shared_ptr/assign/auto_ptr.cc | 2 +-
> .../testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc | 2 +-
> .../testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc | 2 +-
> libstdc++-v3/testsuite/20_util/shared_ptr/atomic/1.cc | 2 +-
> libstdc++-v3/testsuite/20_util/shared_ptr/atomic/2.cc | 2 +-
> libstdc++-v3/testsuite/20_util/shared_ptr/atomic/3.cc | 2 +-
> libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc | 2 +-
> libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr.cc | 2 +-
> libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc | 2 +-
> libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr925.cc | 2 +-
> libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr.cc | 2 +-
> libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc | 2 +-
> libstdc++-v3/testsuite/20_util/variable_templates_for_traits.cc | 2 +-
> libstdc++-v3/testsuite/29_atomics/atomic/lwg3220.cc | 2 +-
> libstdc++-v3/testsuite/experimental/type_traits/value.cc | 2 +-
> 24 files changed, 24 insertions(+), 24 deletions(-)
>
> diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc
> b/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc
> index 0a4d092f999..a49f347b898 100644
> --- a/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc
> +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc
> @@ -1,4 +1,4 @@
> -// { dg-options "-Wno-deprecated" }
> +// { dg-options "-Wno-deprecated-declarations" }
> // { dg-do run { target c++11 } }
>
> // Copyright (C) 2015-2025 Free Software Foundation, Inc.
> diff --git a/libstdc++-v3/testsuite/18_support/uncaught_exception/14026.cc
> b/libstdc++-v3/testsuite/18_support/uncaught_exception/14026.cc
> index 58f241b2aa0..7f41c804ce5 100644
> --- a/libstdc++-v3/testsuite/18_support/uncaught_exception/14026.cc
> +++ b/libstdc++-v3/testsuite/18_support/uncaught_exception/14026.cc
> @@ -18,7 +18,7 @@
> // PR 14026
> // 18.6.4 uncaught_exception
>
> -// { dg-options "-Wno-deprecated" }
> +// { dg-options "-Wno-deprecated-declarations" }
>
> #include <cstdlib>
> #include <exception>
> diff --git a/libstdc++-v3/testsuite/20_util/headers/functional/synopsis.cc
> b/libstdc++-v3/testsuite/20_util/headers/functional/synopsis.cc
> index 3ee367971eb..d58353e80b4 100644
> --- a/libstdc++-v3/testsuite/20_util/headers/functional/synopsis.cc
> +++ b/libstdc++-v3/testsuite/20_util/headers/functional/synopsis.cc
> @@ -18,7 +18,7 @@
> // with this library; see the file COPYING3. If not see
> // <http://www.gnu.org/licenses/>.
>
> -// { dg-options "-Wno-deprecated" }
> +// { dg-options "-Wno-deprecated-declarations" }
>
> #include <functional>
>
> diff --git
> a/libstdc++-v3/testsuite/20_util/is_literal_type/requirements/explicit_instantiation.cc
>
> b/libstdc++-v3/testsuite/20_util/is_literal_type/requirements/explicit_instantiation.cc
> index ca3676a6975..71d0f462c93 100644
> ---
> a/libstdc++-v3/testsuite/20_util/is_literal_type/requirements/explicit_instantiation.cc
> +++
> b/libstdc++-v3/testsuite/20_util/is_literal_type/requirements/explicit_instantiation.cc
> @@ -1,4 +1,4 @@
> -// { dg-additional-options "-Wno-deprecated" { target c++17 } }
> +// { dg-additional-options "-Wno-deprecated-declarations" { target c++17 } }
> // { dg-do compile { target c++11 } }
> // 2010-02-21 Paolo Carlini <[email protected]>
>
> diff --git
> a/libstdc++-v3/testsuite/20_util/is_literal_type/requirements/typedefs.cc
> b/libstdc++-v3/testsuite/20_util/is_literal_type/requirements/typedefs.cc
> index 353d89f72e5..7cfce9e1e5f 100644
> --- a/libstdc++-v3/testsuite/20_util/is_literal_type/requirements/typedefs.cc
> +++ b/libstdc++-v3/testsuite/20_util/is_literal_type/requirements/typedefs.cc
> @@ -1,4 +1,4 @@
> -// { dg-additional-options "-Wno-deprecated" { target c++17 } }
> +// { dg-additional-options "-Wno-deprecated-declarations" { target c++17 } }
> // { dg-do compile { target c++11 } }
>
> // 2010-02-21 Paolo Carlini <[email protected]>
> diff --git a/libstdc++-v3/testsuite/20_util/is_literal_type/value.cc
> b/libstdc++-v3/testsuite/20_util/is_literal_type/value.cc
> index b65d301017a..f8b1b8d6756 100644
> --- a/libstdc++-v3/testsuite/20_util/is_literal_type/value.cc
> +++ b/libstdc++-v3/testsuite/20_util/is_literal_type/value.cc
> @@ -1,4 +1,4 @@
> -// { dg-additional-options "-Wno-deprecated" { target c++17 } }
> +// { dg-additional-options "-Wno-deprecated-declarations" { target c++17 } }
> // { dg-do compile { target c++11 } }
>
> // 2010-03-23 Paolo Carlini <[email protected]>
> 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 0bffe2145ab..bcf67e1ecd3 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" { target { c++2a } } }
> +// { dg-additional-options "-Wno-deprecated-declarations" { target { c++2a }
> } }
> // 2010-02-21 Paolo Carlini <[email protected]>
>
> // Copyright (C) 2010-2025 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 38c6e13a494..6a41ea0a664 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" { target { c++2a } } }
> +// { dg-additional-options "-Wno-deprecated-declarations" { target { c++2a }
> } }
>
> // 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 ff53aed3a19..3722309b799 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" { target { c++2a } } }
> +// { dg-additional-options "-Wno-deprecated-declarations" { target { c++2a }
> } }
>
> // 2010-02-21 Paolo Carlini <[email protected]>
> //
> diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr.cc
> b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr.cc
> index 96678d2126d..d4096cebf05 100644
> --- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr.cc
> +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr.cc
> @@ -1,4 +1,4 @@
> -// { dg-options "-Wno-deprecated" }
> +// { dg-options "-Wno-deprecated-declarations" }
> // { dg-add-options using-deprecated }
> // { dg-do run { target c++11 } }
> // { dg-require-effective-target hosted }
> diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc
> b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc
> index d7dfcf1c375..09f7ff4a5e7 100644
> --- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc
> +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc
> @@ -1,4 +1,4 @@
> -// { dg-options "-Wno-deprecated" }
> +// { dg-options "-Wno-deprecated-declarations" }
> // { dg-add-options using-deprecated }
> // { dg-do compile { target c++11 } }
> // { dg-require-effective-target hosted }
> diff --git
> a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc
> b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc
> index 8c98f7e66df..c94fcdd9280 100644
> --- a/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc
> +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc
> @@ -1,4 +1,4 @@
> -// { dg-options "-Wno-deprecated" }
> +// { dg-options "-Wno-deprecated -Wno-deprecated-declarations" }
> // { dg-add-options using-deprecated }
> // { dg-do compile { target c++11 } }
> // { dg-require-effective-target hosted }
> diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/1.cc
> b/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/1.cc
> index b3d2cdedb5b..2be9f30ceaa 100644
> --- a/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/1.cc
> +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/1.cc
> @@ -18,7 +18,7 @@
> // { dg-do run { target c++11 } }
> // { dg-require-gthreads "" }
> // { dg-require-effective-target hosted }
> -// { dg-additional-options "-Wno-deprecated" { target c++20 } }
> +// { dg-additional-options "-Wno-deprecated-declarations" { target c++20 } }
>
> #include <memory>
>
> diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/2.cc
> b/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/2.cc
> index 9c759221e36..95baedd25ee 100644
> --- a/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/2.cc
> +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/2.cc
> @@ -18,7 +18,7 @@
> // { dg-do run { target c++11 } }
> // { dg-require-gthreads "" }
> // { dg-require-effective-target hosted }
> -// { dg-additional-options "-Wno-deprecated" { target c++20 } }
> +// { dg-additional-options "-Wno-deprecated-declarations" { target c++20 } }
>
> #include <memory>
>
> diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/3.cc
> b/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/3.cc
> index a722792047b..3cbe08b856f 100644
> --- a/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/3.cc
> +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/3.cc
> @@ -1,7 +1,7 @@
> // { dg-do run { target c++11 } }
> // { dg-additional-options "-pthread" { target pthread } }
> // { dg-require-gthreads "" }
> -// { dg-additional-options "-Wno-deprecated" { target c++20 } }
> +// { dg-additional-options "-Wno-deprecated-declarations" { target c++20 } }
>
> // Copyright (C) 2014-2025 Free Software Foundation, Inc.
> //
> diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc
> b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc
> index 544cc01ffa6..12639fa2dab 100644
> --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc
> +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc
> @@ -1,4 +1,4 @@
> -// { dg-options "-Wno-deprecated" }
> +// { dg-options "-Wno-deprecated-declarations" }
> // { dg-add-options using-deprecated }
> // { dg-do compile { target c++11 } }
> // { dg-require-effective-target hosted }
> diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr.cc
> b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr.cc
> index 2e4f0ba686b..847210b9c10 100644
> --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr.cc
> +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr.cc
> @@ -1,4 +1,4 @@
> -// { dg-options "-Wno-deprecated" }
> +// { dg-options "-Wno-deprecated-declarations" }
> // { dg-add-options using-deprecated }
> // { dg-do run { target c++11 } }
> // { dg-require-effective-target hosted }
> diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc
> b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc
> index 11b62d4762c..5779f8552ec 100644
> --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc
> +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc
> @@ -1,4 +1,4 @@
> -// { dg-options "-Wno-deprecated" }
> +// { dg-options "-Wno-deprecated-declarations" }
> // { dg-add-options using-deprecated }
> // { dg-do compile { target c++11 } }
> // { dg-require-effective-target hosted }
> diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr925.cc
> b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr925.cc
> index 162f92da261..47433872500 100644
> --- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr925.cc
> +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/dr925.cc
> @@ -1,4 +1,4 @@
> -// { dg-options "-Wno-deprecated" }
> +// { dg-options "-Wno-deprecated-declarations" }
> // { dg-add-options using-deprecated }
> // { dg-do run { target c++11 } }
> // { dg-require-effective-target hosted }
> diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr.cc
> b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr.cc
> index c9ac7f9ee5c..b49171d01b9 100644
> --- a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr.cc
> +++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr.cc
> @@ -1,4 +1,4 @@
> -// { dg-options "-Wno-deprecated" }
> +// { dg-options "-Wno-deprecated-declarations" }
> // { dg-add-options using-deprecated }
> // { dg-do run { target c++11 } }
>
> diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc
> b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc
> index 7b9758f98b8..6440dd7b07b 100644
> --- a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc
> +++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc
> @@ -1,4 +1,4 @@
> -// { dg-options "-Wno-deprecated" }
> +// { dg-options "-Wno-deprecated-declarations" }
> // { dg-add-options using-deprecated }
> // { dg-do compile { target c++11 } }
>
> 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 253886bf6e1..b48958746e1 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" { target c++2a } }
> +// { dg-additional-options "-Wno-deprecated-declarations" { target c++2a } }
> // { dg-do compile { target c++17 } }
>
> // Copyright (C) 2014-2025 Free Software Foundation, Inc.
> diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/lwg3220.cc
> b/libstdc++-v3/testsuite/29_atomics/atomic/lwg3220.cc
> index 217db7cbfea..a8b78512955 100644
> --- a/libstdc++-v3/testsuite/29_atomics/atomic/lwg3220.cc
> +++ b/libstdc++-v3/testsuite/29_atomics/atomic/lwg3220.cc
> @@ -1,4 +1,4 @@
> -// { dg-options "-Wno-deprecated" }
> +// { dg-options "-Wno-deprecated-declarations" }
> // { dg-do compile { target c++11 } }
>
> // std::shared_ptr is not freestanding.
> diff --git a/libstdc++-v3/testsuite/experimental/type_traits/value.cc
> b/libstdc++-v3/testsuite/experimental/type_traits/value.cc
> index 60207b580d7..7ad72c6a2f2 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" { target { c++2a } } }
> +// { dg-additional-options "-Wno-deprecated-declarations" { target { c++2a }
> } }
>
> // Copyright (C) 2014-2025 Free Software Foundation, Inc.
> //
>
> base-commit: 52a24bcecd388ab6e7d4e6500809fc761f6e7ca5
> --
> 2.51.0
>