aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2015-03-20 13:26:55 +0000
committerJonathan Wakely <redi@gcc.gnu.org>2015-03-20 13:26:55 +0000
commitdf6d9c7f6af7a59d57caa09bd04265901065bc64 (patch)
tree28e953d9a5060ebff591fa84c2bbfcc96a7f43dc
parent3da3ff4e712aad4d79949ce2875e8748b799c95b (diff)
downloadgcc-df6d9c7f6af7a59d57caa09bd04265901065bc64.zip
gcc-df6d9c7f6af7a59d57caa09bd04265901065bc64.tar.gz
gcc-df6d9c7f6af7a59d57caa09bd04265901065bc64.tar.bz2
c++config (__gnu_cxx::__cxx11): Define new namespace.
* include/bits/c++config (__gnu_cxx::__cxx11): Define new namespace. * include/ext/codecvt_specializations.h (encoding_state, encoding_char_traits): Remove abi-tag and use inline namespace. * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line. From-SVN: r221533
-rw-r--r--libstdc++-v3/ChangeLog7
-rw-r--r--libstdc++-v3/include/bits/c++config4
-rw-r--r--libstdc++-v3/include/ext/codecvt_specializations.h6
-rw-r--r--libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc2
4 files changed, 16 insertions, 3 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 6836423..ac13084 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,10 @@
+2015-03-20 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/c++config (__gnu_cxx::__cxx11): Define new namespace.
+ * include/ext/codecvt_specializations.h (encoding_state,
+ encoding_char_traits): Remove abi-tag and use inline namespace.
+ * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line.
+
2015-03-19 Jason Merrill <jason@redhat.com>
* config/locale/gnu/messages_members.cc: Revert abi-tag change.
diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config
index eebe34c..ae3065f 100644
--- a/libstdc++-v3/include/bits/c++config
+++ b/libstdc++-v3/include/bits/c++config
@@ -217,6 +217,10 @@ namespace std
{
inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
}
+namespace __gnu_cxx
+{
+ inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
+}
# define _GLIBCXX_NAMESPACE_CXX11 __cxx11::
# define _GLIBCXX_BEGIN_NAMESPACE_CXX11 namespace __cxx11 {
# define _GLIBCXX_END_NAMESPACE_CXX11 }
diff --git a/libstdc++-v3/include/ext/codecvt_specializations.h b/libstdc++-v3/include/ext/codecvt_specializations.h
index d9f6630..34e90bd 100644
--- a/libstdc++-v3/include/ext/codecvt_specializations.h
+++ b/libstdc++-v3/include/ext/codecvt_specializations.h
@@ -41,13 +41,14 @@
namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
{
+_GLIBCXX_BEGIN_NAMESPACE_CXX11
_GLIBCXX_BEGIN_NAMESPACE_VERSION
/// Extension to use iconv for dealing with character encodings.
// This includes conversions and comparisons between various character
// sets. This object encapsulates data that may need to be shared between
// char_traits, codecvt and ctype.
- class _GLIBCXX_DEFAULT_ABI_TAG encoding_state
+ class encoding_state
{
public:
// Types:
@@ -207,7 +208,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// associated fpos<encoding_state> for the position type, all other
// bits equivalent to the required char_traits instantiations.
template<typename _CharT>
- struct _GLIBCXX_DEFAULT_ABI_TAG encoding_char_traits
+ struct encoding_char_traits
: public std::char_traits<_CharT>
{
typedef encoding_state state_type;
@@ -215,6 +216,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
};
_GLIBCXX_END_NAMESPACE_VERSION
+_GLIBCXX_END_NAMESPACE_CXX11
} // namespace
diff --git a/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc b/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc
index d7a0c56..dd19f14 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 *-*-* } 318 }
+// { dg-error "multiple inlined namespaces" "" { target *-*-* } 322 }