From 95ed529d34b992de4cfa3b4e1f3564f4c39772cb Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Wed, 20 Sep 2017 17:34:49 +0100 Subject: [PATCH] PR libstdc++/81469 deprecate std::uncaught_exception for C++17 PR libstdc++/81469 * libsupc++/exception (uncaught_exception): Deprecate for C++17. * testsuite/18_support/exception_ptr/62258.cc: Add -Wno-deprecated. * testsuite/18_support/uncaught_exception/14026.cc: Likewise. From-SVN: r253018 --- libstdc++-v3/ChangeLog | 5 +++++ libstdc++-v3/libsupc++/exception | 3 ++- libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc | 1 + .../testsuite/18_support/uncaught_exception/14026.cc | 2 ++ 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 023e7ae58cd..9b789b967fa 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,10 @@ 2017-09-20 Jonathan Wakely + PR libstdc++/81469 + * libsupc++/exception (uncaught_exception): Deprecate for C++17. + * testsuite/18_support/exception_ptr/62258.cc: Add -Wno-deprecated. + * testsuite/18_support/uncaught_exception/14026.cc: Likewise. + * include/bits/c++config (_GLIBCXX17_DEPRECATED): Define. * include/bits/functional_hash.h (__hash_base::result_type) (__hash_base::argument_type): Add _GLIBCXX17_DEPRECATED. diff --git a/libstdc++-v3/libsupc++/exception b/libstdc++-v3/libsupc++/exception index e51d31c938b..9b177c7ee8a 100644 --- a/libstdc++-v3/libsupc++/exception +++ b/libstdc++-v3/libsupc++/exception @@ -98,9 +98,10 @@ namespace std * %exception can result in a call of @c terminate() * (15.5.1).' */ + _GLIBCXX17_DEPRECATED bool uncaught_exception() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__)); -#if __cplusplus > 201402L || !defined(__STRICT_ANSI__) // c++1z or gnu++98 +#if __cplusplus > 201402L || !defined(__STRICT_ANSI__) // c++17 or gnu++98 #define __cpp_lib_uncaught_exceptions 201411 /// The number of uncaught exceptions. int uncaught_exceptions() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__)); diff --git a/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc b/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc index a53b0669b83..635672cc255 100644 --- a/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc +++ b/libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc @@ -1,3 +1,4 @@ +// { dg-options "-Wno-deprecated" } // { dg-do run { target c++11 } } // Copyright (C) 2015-2017 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 78581af5629..8bc4953e028 100644 --- a/libstdc++-v3/testsuite/18_support/uncaught_exception/14026.cc +++ b/libstdc++-v3/testsuite/18_support/uncaught_exception/14026.cc @@ -18,6 +18,8 @@ // PR 14026 // 18.6.4 uncaught_exception +// { dg-options "-Wno-deprecated" } + #include #include #include