OSDN Git Service

2010-12-02 Jonathan Wakely <jwakely.gcc@gmail.com>
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 2 Dec 2010 22:18:11 +0000 (22:18 +0000)
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 2 Dec 2010 22:18:11 +0000 (22:18 +0000)
* 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
libstdc++-v3/config/abi/pre/gnu.ver
libstdc++-v3/src/future.cc

index 7d110a3..ad7afa1 100644 (file)
@@ -1,3 +1,9 @@
+2010-12-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * 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  <francois.cppdevs@free.fr>
 
        * testsuite/23_containers/vector/requirements/explicit_instantiation/
index eec63a0..f399b9b 100644 (file)
@@ -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 {
index ed3088d..6f40c0d 100644 (file)
@@ -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
+// <future> 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
+