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>
* 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"))) { }
}
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 }

View File

@ -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

View File

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