aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <paolo.carlini@oracle.com>2011-05-24 10:28:13 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2011-05-24 10:28:13 +0000
commit782378a6aedade2d62515e7a09183beae3bfcebb (patch)
tree4a2f39e0af06628e39c4a0ab421272957db7ffa7
parent74d6ba006169716289660cbf852182cb6bbece1e (diff)
downloadgcc-782378a6aedade2d62515e7a09183beae3bfcebb.zip
gcc-782378a6aedade2d62515e7a09183beae3bfcebb.tar.gz
gcc-782378a6aedade2d62515e7a09183beae3bfcebb.tar.bz2
c++config (_GLIBCXX_NOTHROW): Update for noexcept.
2011-05-24 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/c++config (_GLIBCXX_NOTHROW): Update for noexcept. * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line number. From-SVN: r174107
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/include/bits/c++config9
-rw-r--r--libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc2
3 files changed, 13 insertions, 4 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 9c1cc03..ce898d6 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2011-05-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/bits/c++config (_GLIBCXX_NOTHROW): Update for noexcept.
+ * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error
+ line number.
+
2011-05-23 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/37144
diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config
index 5cb654b..e8a2946 100644
--- a/libstdc++-v3/include/bits/c++config
+++ b/libstdc++-v3/include/bits/c++config
@@ -52,10 +52,9 @@
# define _GLIBCXX_NORETURN __attribute__ ((__noreturn__))
#endif
+// See below for C++
#ifndef _GLIBCXX_NOTHROW
-# ifdef __cplusplus
-# define _GLIBCXX_NOTHROW throw()
-# else
+# ifndef __cplusplus
# define _GLIBCXX_NOTHROW __attribute__((__nothrow__))
# endif
#endif
@@ -110,6 +109,10 @@
# endif
#endif
+#ifndef _GLIBCXX_NOTHROW
+# define _GLIBCXX_NOTHROW _GLIBCXX_USE_NOEXCEPT
+#endif
+
// Macro for extern template, ie controling template linkage via use
// of extern keyword on template declaration. As documented in the g++
// manual, it inhibits all implicit instantiations and is used
diff --git a/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc b/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc
index 632dc19..eb77fb4 100644
--- a/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc
+++ b/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc
@@ -25,4 +25,4 @@
#include <vector>
-// { dg-error "multiple inlined namespaces" "" { target *-*-* } 252 }
+// { dg-error "multiple inlined namespaces" "" { target *-*-* } 255 }