C++17 deprecates uncaught_exception in favour of uncaught_exceptions,
so this adds the attribute.

        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.

Tested powerpc64le-linux, committed to trunk.

commit 0b85751e9bfeeba7568b915e4c59a191f0a509c1
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Wed Sep 20 14:44:02 2017 +0100

    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.

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 <cstdlib>
 #include <exception>
 #include <testsuite_hooks.h>

Reply via email to