aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2015-04-28 13:07:40 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2015-04-28 13:07:40 +0100
commit196e0493cbb815694372c520cfb9150cad60d799 (patch)
tree8c9c0253274739a474e7fafb0efe19f3707be3b1
parentbd1eb5e0926d817f30e3ac3d77e6047050832438 (diff)
downloadgcc-196e0493cbb815694372c520cfb9150cad60d799.zip
gcc-196e0493cbb815694372c520cfb9150cad60d799.tar.gz
gcc-196e0493cbb815694372c520cfb9150cad60d799.tar.bz2
exception (uncaught_exceptions): Add comment.
* libsupc++/exception (uncaught_exceptions): Add comment. Reorder #if. * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: Use -std=gnu++1z. Check feature-test macro. From-SVN: r222523
-rw-r--r--libstdc++-v3/ChangeLog4
-rw-r--r--libstdc++-v3/libsupc++/exception3
-rw-r--r--libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc8
3 files changed, 13 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 7dfb96e..159362d 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,9 @@
2015-04-28 Jonathan Wakely <jwakely@redhat.com>
+ * libsupc++/exception (uncaught_exceptions): Add comment. Reorder #if.
+ * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
+ Use -std=gnu++1z. Check feature-test macro.
+
* include/std/type_traits (void_t): Add.
* testsuite/20_util/void_t/1.cc: New.
diff --git a/libstdc++-v3/libsupc++/exception b/libstdc++-v3/libsupc++/exception
index 069b33c..5571fd9 100644
--- a/libstdc++-v3/libsupc++/exception
+++ b/libstdc++-v3/libsupc++/exception
@@ -126,8 +126,9 @@ namespace std
*/
bool uncaught_exception() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));
-#if !defined(__STRICT_ANSI__) || __cplusplus > 201402L
+#if __cplusplus > 201402L || !defined(__STRICT_ANSI__) // c++1z or gnu++98
#define __cpp_lib_uncaught_exceptions 201411
+ /// The number of uncaught exceptions.
int uncaught_exceptions() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__pure__));
#endif
diff --git a/libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc b/libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc
index 001903e..c65da5f 100644
--- a/libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc
+++ b/libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc
@@ -15,12 +15,18 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// { dg-options "-std=gnu++11" }
+// { dg-options "-std=gnu++1z" }
#include <cassert>
#include <exception>
#include <testsuite_hooks.h>
+#ifndef __cpp_lib_uncaught_exceptions
+# error "Feature-test macro for uncaught_exceptions missing"
+#elif __cpp_lib_uncaught_exceptions != 201411
+# error "Feature-test macro for uncaught_exceptions has wrong value"
+#endif
+
struct UncaughtVerifier
{
int expected_count_ = 0;