PR libstdc++/36104 part three
authorBenjamin Kosnik <bkoz@redhat.com>
Thu, 20 Jan 2011 20:04:25 +0000 (20:04 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Thu, 20 Jan 2011 20:04:25 +0000 (20:04 +0000)
2011-01-20  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/36104 part three
* src/hashtable_c++0x.cc: Adjust namespace macros.
* testsuite/util/testsuite_rvalref.h: Don't forward declare hash.
* config/abi/pre/gnu-versioned-namespace.ver: Update.

From-SVN: r169063

libstdc++-v3/ChangeLog
libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
libstdc++-v3/src/hashtable_c++0x.cc
libstdc++-v3/testsuite/util/testsuite_rvalref.h

index 1fdfa915d230d07fdb732334677a2586385c53d1..5de3330bc79185531ee3dd43347b00c47e55b713 100644 (file)
@@ -1,3 +1,10 @@
+2011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
+
+       PR libstdc++/36104 part three
+       * src/hashtable_c++0x.cc: Adjust namespace macros.
+       * testsuite/util/testsuite_rvalref.h: Don't forward declare hash.
+       * config/abi/pre/gnu-versioned-namespace.ver: Update.
+
 2011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
 
        * include/ext/pb_ds/detail/resize_policy/
index be4c5895914aa5a28105b1ce022f2fc1fe9b4077..dfb1345b0ce41108d14c4c5ade985c2279315ca3 100644 (file)
@@ -1,6 +1,7 @@
 ## Linker script for GNU namespace versioning.
 ##
-## Copyright (C) 2002, 2003, 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
+## Copyright (C) 2002, 2003, 2004, 2005, 2007, 2009, 2011
+## Free Software Foundation, Inc.
 ##
 ## This file is part of the libstdc++ version 3 distribution.
 ##
@@ -19,7 +20,7 @@
 ## with this library; see the file COPYING3.  If not see
 ## <http://www.gnu.org/licenses/>.
 
-GLIBCXX_3.7 {
+GLIBCXX_5.0 {
 
   global:
 
@@ -30,6 +31,15 @@ GLIBCXX_3.7 {
       std::*
     };
 
+    # locale
+    _ZNSt2_69has_facetINS_*;
+
+    # hash 
+    _ZNSt2_68__detail12__prime_listE;
+
+    # thread/mutex/condition_variable/future
+    __once_proxy;
+
     # operator new(size_t)
     _Znw[jm];
     # operator new(size_t, std::nothrow_t const&)
@@ -87,7 +97,12 @@ GLIBCXX_3.7 {
     _ZN9__gnu_cxx2_69free_list6_M_getE[jm];
     _ZN9__gnu_cxx2_69free_list8_M_clearEv;
 
+    # __gnu_cxx::stdio_sync_filebuf
+    _ZTVN9__gnu_cxx2_618stdio_sync_filebufI[cw]St2_611char_traitsI[cw]EEE;
+    _ZN9__gnu_cxx2_618stdio_sync_filebufI[cw]NSt2_611char_traitsI[cw]EEE[5-9]*;
+
     # debug mode
+# xxx cxx1998?
     _ZN10__gnu_norm15_List_node_base4hook*;
     _ZN10__gnu_norm15_List_node_base4swap*;
     _ZN10__gnu_norm15_List_node_base6unhookEv;
@@ -106,8 +121,8 @@ GLIBCXX_3.7 {
     _ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv;
     _ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_;
 
-    _ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb;
-    _ZN11__gnu_debug19_Safe_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb;
+    _ZN11__gnu_debug19_Safe_iterator_base9_M_attach*;
+    _ZN11__gnu_debug19_Safe_iterator_base16_M_attach_single*;
     _ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv;
     _ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv;
     _ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv;
@@ -127,7 +142,7 @@ GLIBCXX_3.7 {
 
 
 # Symbols in the support library (libsupc++) have their own tag.
-CXXABI_1.7 {
+CXXABI_2.0 {
 
   global:
     __cxa_allocate_exception;
@@ -165,6 +180,41 @@ CXXABI_1.7 {
     __gxx_personality_sj0;
     __dynamic_cast;
 
+    # std::exception_ptr
+    _ZNSt15__exception_ptr13exception_ptrC1Ev;
+    _ZNSt15__exception_ptr13exception_ptrC2Ev;
+    _ZNSt15__exception_ptr13exception_ptrC1ERKS0_;
+    _ZNSt15__exception_ptr13exception_ptrC2ERKS0_;
+    _ZNSt15__exception_ptr13exception_ptrC1EMS0_FvvE;
+    _ZNSt15__exception_ptr13exception_ptrC2EMS0_FvvE;
+    _ZNSt15__exception_ptr13exception_ptrD1Ev;
+    _ZNSt15__exception_ptr13exception_ptrD2Ev;
+    _ZNSt15__exception_ptr13exception_ptraSERKS0_;
+    _ZNKSt15__exception_ptr13exception_ptrcvMS0_FvvEEv;
+    _ZNKSt15__exception_ptr13exception_ptrntEv;
+    _ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv;
+    _ZNSt15__exception_ptr13exception_ptr4swapERS0_;
+    _ZNSt15__exception_ptreqERKNS_13exception_ptrES2_;
+    _ZNSt15__exception_ptrneERKNS_13exception_ptrES2_;
+
+    _ZSt17current_exceptionv;
+    _ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE;
+
+    # std::bad_function_call.
+    _ZNSt17bad_function_callD*;
+    _ZTISt17bad_function_call;
+    _ZTSSt17bad_function_call;
+    _ZTVSt17bad_function_call;
+
+    # Default function.
+    _ZSt11_Hash_bytesPKv*;
+
+    # FNV hash.
+    _ZSt15_Fnv_hash_bytesPKv*;
+
+    # __gnu_cxx::_verbose_terminate_handler()
+    _ZN9__gnu_cxx2_627__verbose_terminate_handlerEv;
+
     # *_type_info classes, ctor and dtor
     _ZN10__cxxabiv117__array_type_info*;
     _ZN10__cxxabiv117__class_type_info*;
@@ -186,18 +236,6 @@ CXXABI_1.7 {
     _ZNK10__cxxabiv120__si_class_type_info*;
     _ZNK10__cxxabiv121__vmi_class_type_info*;
 
-    # virtual table
-    _ZTVN10__cxxabiv117__array_type_infoE;
-    _ZTVN10__cxxabiv117__class_type_infoE;
-    _ZTVN10__cxxabiv116__enum_type_infoE;
-    _ZTVN10__cxxabiv120__function_type_infoE;
-    _ZTVN10__cxxabiv123__fundamental_type_infoE;
-    _ZTVN10__cxxabiv117__pbase_type_infoE;
-    _ZTVN10__cxxabiv129__pointer_to_member_type_infoE;
-    _ZTVN10__cxxabiv119__pointer_type_infoE;
-    _ZTVN10__cxxabiv120__si_class_type_infoE;
-    _ZTVN10__cxxabiv121__vmi_class_type_infoE;
-
     # typeinfo structure
     _ZTI[a-z];
     _ZTIP[a-z];
@@ -214,6 +252,8 @@ CXXABI_1.7 {
     _ZTIN10__cxxabiv121__vmi_class_type_infoE;
     _ZTIN10__cxxabiv115__forced_unwindE;
     _ZTIN10__cxxabiv119__foreign_exceptionE;
+    _ZTIN10__cxxabiv115__forced_unwindE;
+    _ZTIN10__cxxabiv119__foreign_exceptionE;
 
     # typeinfo name
     _ZTS[a-z];
@@ -230,8 +270,35 @@ CXXABI_1.7 {
     _ZTSN10__cxxabiv120__si_class_type_infoE;
     _ZTSN10__cxxabiv121__vmi_class_type_infoE;
 
-    # __gnu_cxx::_verbose_terminate_handler()
-    _ZN9__gnu_cxx2_627__verbose_terminate_handlerEv;
+    # typeinfo for char16_t and char32_t
+    _ZTIDs;
+    _ZTIPDs;
+    _ZTIPKDs;
+    _ZTIDi;
+    _ZTIPDi;
+    _ZTIPKDi;
+
+    # typeinfo for decimal floating point types
+    _ZTID[fde];
+    _ZTIPD[fde];
+    _ZTIPKD[fde];
+
+    # typeinfo for decltype(nullptr)
+    _ZTIDn;
+    _ZTIPDn;
+    _ZTIPKDn;
+
+    # virtual table
+    _ZTVN10__cxxabiv117__array_type_infoE;
+    _ZTVN10__cxxabiv117__class_type_infoE;
+    _ZTVN10__cxxabiv116__enum_type_infoE;
+    _ZTVN10__cxxabiv120__function_type_infoE;
+    _ZTVN10__cxxabiv123__fundamental_type_infoE;
+    _ZTVN10__cxxabiv117__pbase_type_infoE;
+    _ZTVN10__cxxabiv129__pointer_to_member_type_infoE;
+    _ZTVN10__cxxabiv119__pointer_type_infoE;
+    _ZTVN10__cxxabiv120__si_class_type_infoE;
+    _ZTVN10__cxxabiv121__vmi_class_type_infoE;
 
   local:
     *;
index c99a094c046020007c7bc826b85244e31f34d989..0b5f79cc6f1dfee0cd9b80664c73b6a1d06b567d 100644 (file)
@@ -1,6 +1,6 @@
 // std::__detail definitions -*- C++ -*-
 
-// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
 // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
 // <http://www.gnu.org/licenses/>.
 
+#include <bits/c++config.h>
+
 #ifndef __GXX_EXPERIMENTAL_CXX0X__
 # error "hashtable_c++0x.cc must be compiled with -std=gnu++0x"
 #endif
 
-namespace std
-{
+_GLIBCXX_BEGIN_NAMESPACE(std)
+
 #include "hashtable-aux.cc"
-}
+
+_GLIBCXX_END_NAMESPACE // namespace std
index 5610b77cc43ac09a4841615b5c55db52225eff9e..acf25da503adbe0d052700a4597d1aec6e7d09d5 100644 (file)
@@ -1,7 +1,7 @@
 // -*- C++ -*-
 // Testing utilities for the rvalue reference.
 //
-// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010
+// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
 // Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
@@ -174,10 +174,12 @@ namespace __gnu_test
   
 } // namespace __gnu_test
 
+#ifdef __GXX_EXPERIMENTAL_CXX0X__
+
+#include <bits/functional_hash.h>
+
 namespace std
 {
-  template<typename _Tp> struct hash;
-
   /// std::hash specialization for type_index.
   template<>
     struct hash<__gnu_test::rvalstruct>
@@ -190,5 +192,6 @@ namespace std
       { return __rvs.val; }
     };
 }
+#endif
 
 #endif // _GLIBCXX_TESTSUITE_TR1_H