From 57a907894ef36156cfbabc6b19cd0537614527cd Mon Sep 17 00:00:00 2001 From: redi Date: Thu, 2 Dec 2010 22:18:11 +0000 Subject: [PATCH] 2010-12-02 Jonathan Wakely * src/future.cc (future_category): Export compatibility symbol. * config/abi/pre/gnu.ver: Move _ZSt15future_categoryv to 3.4.15 version. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167394 138bc75d-0d04-0410-961f-82ee72b054a4 --- libstdc++-v3/ChangeLog | 6 ++++++ libstdc++-v3/config/abi/pre/gnu.ver | 10 ++++------ libstdc++-v3/src/future.cc | 20 ++++++++++++++++++++ 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 7d110a31e10..ad7afa1f20a 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2010-12-02 Jonathan Wakely + + * src/future.cc (future_category): Export compatibility symbol. + * config/abi/pre/gnu.ver: Move _ZSt15future_categoryv to 3.4.15 + version. + 2010-12-02 François Dumont * testsuite/23_containers/vector/requirements/explicit_instantiation/ diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver index eec63a016da..f399b9b6322 100644 --- a/libstdc++-v3/config/abi/pre/gnu.ver +++ b/libstdc++-v3/config/abi/pre/gnu.ver @@ -1107,7 +1107,6 @@ GLIBCXX_3.4.14 { _ZNSt9__atomic011atomic_flag5clearESt12memory_order; # future - _ZSt15future_category; _ZNSt12future_errorD*; _ZNKSt12future_error4whatEv; _ZTSSt12future_error; @@ -1115,6 +1114,9 @@ GLIBCXX_3.4.14 { _ZTISt12future_error; _ZSt20__throw_future_errori; + # GLIBCXX_ABI compatibility only. + _ZSt15future_category; + # string|wstring ::cbegin member functions _ZNKSs6cbeginEv; _ZNKSs4cendEv; @@ -1191,14 +1193,10 @@ GLIBCXX_3.4.15 { __emutls_v._ZSt11__once_call; __emutls_v._ZSt15__once_callable; -} GLIBCXX_3.4.14; - -GLIBCXX_3.4.16 { - # std::future_category is now a function _ZSt15future_categoryv; -} GLIBCXX_3.4.15; +} GLIBCXX_3.4.14; # Symbols in the support library (libsupc++) have their own tag. CXXABI_1.3 { diff --git a/libstdc++-v3/src/future.cc b/libstdc++-v3/src/future.cc index ed3088d87d6..6f40c0da32e 100644 --- a/libstdc++-v3/src/future.cc +++ b/libstdc++-v3/src/future.cc @@ -75,3 +75,23 @@ _GLIBCXX_BEGIN_NAMESPACE(std) future_error::what() const throw() { return _M_code.message().c_str(); } _GLIBCXX_END_NAMESPACE + +// XXX GLIBCXX_ABI Deprecated +// gcc-4.6.0 +// export changes +#if defined(_GLIBCXX_SYMVER_GNU) && defined(PIC) \ + && defined(_GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE) \ + && defined(_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT) + +namespace __gnu_cxx +{ + const std::error_category* future_category = &__future_category_instance(); +} + +#define _GLIBCXX_ASM_SYMVER(cur, old, version) \ + asm (".symver " #cur "," #old "@@@" #version); + +_GLIBCXX_ASM_SYMVER(_ZN9__gnu_cxx15future_categoryE, _ZSt15future_category, GLIBCXX_3.4.14) + +#endif + -- 2.11.0