aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2017-09-20 17:34:49 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2017-09-20 17:34:49 +0100
commit95ed529d34b992de4cfa3b4e1f3564f4c39772cb (patch)
treec2596648bf96433f4ea173e2453ba31220dd6f83
parentf78958c9b421bba1f24d04ec47cfa3d999214b32 (diff)
downloadgcc-95ed529d34b992de4cfa3b4e1f3564f4c39772cb.zip
gcc-95ed529d34b992de4cfa3b4e1f3564f4c39772cb.tar.gz
gcc-95ed529d34b992de4cfa3b4e1f3564f4c39772cb.tar.bz2
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
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/libsupc++/exception3
-rw-r--r--libstdc++-v3/testsuite/18_support/exception_ptr/62258.cc1
-rw-r--r--libstdc++-v3/testsuite/18_support/uncaught_exception/14026.cc2
4 files changed, 10 insertions, 1 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 023e7ae..9b789b9 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,10 @@
2017-09-20 Jonathan Wakely <jwakely@redhat.com>
+ 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 e51d31c..9b177c7 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 a53b066..635672c 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 78581af..8bc4953 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 <cstdlib>
#include <exception>
#include <testsuite_hooks.h>