aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely.gcc@gmail.com>2010-12-02 22:18:11 +0000
committerJonathan Wakely <redi@gcc.gnu.org>2010-12-02 22:18:11 +0000
commit5b824b7616ae246facc5d5cff8dd2ae8eb6088df (patch)
treef11dca6ae27d65279a1c94ee581dba6523b436ad
parent0370b27c1615d53a412872881bf9581e590b55fb (diff)
downloadgcc-5b824b7616ae246facc5d5cff8dd2ae8eb6088df.zip
gcc-5b824b7616ae246facc5d5cff8dd2ae8eb6088df.tar.gz
gcc-5b824b7616ae246facc5d5cff8dd2ae8eb6088df.tar.bz2
future.cc (future_category): Export compatibility symbol.
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. From-SVN: r167394
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/config/abi/pre/gnu.ver10
-rw-r--r--libstdc++-v3/src/future.cc20
3 files changed, 30 insertions, 6 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 7d110a3..ad7afa1 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -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/
diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
index eec63a0..f399b9b 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 ed3088d..6f40c0d 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
+// <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
+