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
This commit is contained in:
Jonathan Wakely 2015-03-20 13:26:55 +00:00 committed by Jonathan Wakely
parent 3da3ff4e71
commit df6d9c7f6a
4 changed files with 16 additions and 3 deletions

View File

@ -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> 2015-03-19 Jason Merrill <jason@redhat.com>
* config/locale/gnu/messages_members.cc: Revert abi-tag change. * config/locale/gnu/messages_members.cc: Revert abi-tag change.

View File

@ -217,6 +217,10 @@ namespace std
{ {
inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
} }
namespace __gnu_cxx
{
inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
}
# define _GLIBCXX_NAMESPACE_CXX11 __cxx11:: # define _GLIBCXX_NAMESPACE_CXX11 __cxx11::
# define _GLIBCXX_BEGIN_NAMESPACE_CXX11 namespace __cxx11 { # define _GLIBCXX_BEGIN_NAMESPACE_CXX11 namespace __cxx11 {
# define _GLIBCXX_END_NAMESPACE_CXX11 } # define _GLIBCXX_END_NAMESPACE_CXX11 }

View File

@ -41,13 +41,14 @@
namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
{ {
_GLIBCXX_BEGIN_NAMESPACE_CXX11
_GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_BEGIN_NAMESPACE_VERSION
/// Extension to use iconv for dealing with character encodings. /// Extension to use iconv for dealing with character encodings.
// This includes conversions and comparisons between various character // This includes conversions and comparisons between various character
// sets. This object encapsulates data that may need to be shared between // sets. This object encapsulates data that may need to be shared between
// char_traits, codecvt and ctype. // char_traits, codecvt and ctype.
class _GLIBCXX_DEFAULT_ABI_TAG encoding_state class encoding_state
{ {
public: public:
// Types: // Types:
@ -207,7 +208,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// associated fpos<encoding_state> for the position type, all other // associated fpos<encoding_state> for the position type, all other
// bits equivalent to the required char_traits instantiations. // bits equivalent to the required char_traits instantiations.
template<typename _CharT> template<typename _CharT>
struct _GLIBCXX_DEFAULT_ABI_TAG encoding_char_traits struct encoding_char_traits
: public std::char_traits<_CharT> : public std::char_traits<_CharT>
{ {
typedef encoding_state state_type; typedef encoding_state state_type;
@ -215,6 +216,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
}; };
_GLIBCXX_END_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION
_GLIBCXX_END_NAMESPACE_CXX11
} // namespace } // namespace

View File

@ -25,4 +25,4 @@
#include <vector> #include <vector>
// { dg-error "multiple inlined namespaces" "" { target *-*-* } 318 } // { dg-error "multiple inlined namespaces" "" { target *-*-* } 322 }