diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2015-03-23 16:47:18 +0000 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2015-03-23 16:47:18 +0000 |
commit | 8dcf3d3c5d96c5cab3473326c8bc297729ec9ba5 (patch) | |
tree | f9ff7da9eeadcd74ec982a2fc7443a9098b993dd | |
parent | 468489483df36a009216601d2f70c3c8872ca301 (diff) | |
download | gcc-8dcf3d3c5d96c5cab3473326c8bc297729ec9ba5.zip gcc-8dcf3d3c5d96c5cab3473326c8bc297729ec9ba5.tar.gz gcc-8dcf3d3c5d96c5cab3473326c8bc297729ec9ba5.tar.bz2 |
re PR libstdc++/64967 (Bootstrap fails due to errors in libstdc++ sources with `--enable-symvers=gnu-versioned-namespace')
PR libstdc++/64967
* acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use.
* configure: Regenerate.
* src/c++11/compatibility-c++0x.cc (error_category), generic_category,
system_category): Use macros for versioned namespace.
* src/c++11/futex.cc: Add missing end macro for versioned namespace.
From-SVN: r221600
-rw-r--r-- | libstdc++-v3/ChangeLog | 9 | ||||
-rw-r--r-- | libstdc++-v3/acinclude.m4 | 4 | ||||
-rwxr-xr-x | libstdc++-v3/configure | 4 | ||||
-rw-r--r-- | libstdc++-v3/src/c++11/compatibility-c++0x.cc | 4 | ||||
-rw-r--r-- | libstdc++-v3/src/c++11/futex.cc | 1 |
5 files changed, 22 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 787332f..5a72407 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,12 @@ +2015-03-23 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/64967 + * acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use. + * configure: Regenerate. + * src/c++11/compatibility-c++0x.cc (error_category), generic_category, + system_category): Use macros for versioned namespace. + * src/c++11/futex.cc: Add missing end macro for versioned namespace. + 2015-03-20 James Greenhalgh <james.greenhalgh@arm.com> * testsuite/17_intro/headers/c++1998/all_attributes.cc: Disable diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index 74f5a65..a1e301f 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -3859,6 +3859,10 @@ dnl _GLIBCXX_USE_DUAL_ABI (always defined, either to 1 or 0) dnl AC_DEFUN([GLIBCXX_ENABLE_LIBSTDCXX_DUAL_ABI], [ GLIBCXX_ENABLE(libstdcxx-dual-abi,$1,,[support two versions of std::string]) + if test x$enable_symvers = xgnu-versioned-namespace; then + # gnu-versioned-namespace is incompatible with the dual ABI. + enable_libstdcxx_dual_abi="no" + fi if test x"$enable_libstdcxx_dual_abi" != xyes; then AC_MSG_NOTICE([dual ABI is disabled]) default_libstdcxx_abi="c++98" diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index 2507ff7..f5b28f4 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -78258,6 +78258,10 @@ else fi + if test x$enable_symvers = xgnu-versioned-namespace; then + # gnu-versioned-namespace is incompatible with the dual ABI. + enable_libstdcxx_dual_abi="no" + fi if test x"$enable_libstdcxx_dual_abi" != xyes; then { $as_echo "$as_me:${as_lineno-$LINENO}: dual ABI is disabled" >&5 $as_echo "$as_me: dual ABI is disabled" >&6;} diff --git a/libstdc++-v3/src/c++11/compatibility-c++0x.cc b/libstdc++-v3/src/c++11/compatibility-c++0x.cc index 9ed367b..01a9690 100644 --- a/libstdc++-v3/src/c++11/compatibility-c++0x.cc +++ b/libstdc++-v3/src/c++11/compatibility-c++0x.cc @@ -130,6 +130,7 @@ namespace std _GLIBCXX_VISIBILITY(default) constexpr bool system_clock::is_monotonic; } // namespace chrono +_GLIBCXX_BEGIN_NAMESPACE_VERSION // gcc-5 replaces this with _V2::error_category class error_category { @@ -168,6 +169,7 @@ namespace std _GLIBCXX_VISIBILITY(default) operator!=(const error_category& __other) const noexcept { return this != &__other; } }; +_GLIBCXX_END_NAMESPACE_VERSION // gcc-4.9.0 // LWG 2145 changes this constructor to constexpr i.e. inline @@ -213,6 +215,7 @@ namespace std _GLIBCXX_VISIBILITY(default) const system_error_category system_category_instance{}; } +_GLIBCXX_BEGIN_NAMESPACE_VERSION const error_category& system_category() noexcept { return system_category_instance; } @@ -224,6 +227,7 @@ namespace std _GLIBCXX_VISIBILITY(default) _GLIBCXX_CONST const error_categoryxx& system_category() noexcept; _GLIBCXX_CONST const error_categoryxx& generic_category() noexcept; } +_GLIBCXX_END_NAMESPACE_VERSION error_condition error_category::default_error_condition(int __i) const noexcept diff --git a/libstdc++-v3/src/c++11/futex.cc b/libstdc++-v3/src/c++11/futex.cc index a7f0200..e04dba8 100644 --- a/libstdc++-v3/src/c++11/futex.cc +++ b/libstdc++-v3/src/c++11/futex.cc @@ -93,6 +93,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION syscall (SYS_futex, __addr, futex_wake_op, INT_MAX); } +_GLIBCXX_END_NAMESPACE_VERSION } #endif #endif |