linker-map.gnu: Make more *_type_info bits visible.
authorBenjamin Kosnik <bkoz@redhat.com>
Thu, 9 Oct 2003 21:17:11 +0000 (21:17 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Thu, 9 Oct 2003 21:17:11 +0000 (21:17 +0000)
2003-10-09  Benjamin Kosnik  <bkoz@redhat.com>

* config/linker-map.gnu: Make more *_type_info bits visible.
Move new/delete bits back into GLIBCXX space.

* include/bits/locale_classes.h: Move _M_id out of line, so that
locale::id::_S_highwater can be removed from the export list.
* src/locale.cc (locale::id::_M_id): Define.

From-SVN: r72287

libstdc++-v3/ChangeLog
libstdc++-v3/config/linker-map.gnu
libstdc++-v3/include/bits/locale_classes.h
libstdc++-v3/src/locale.cc

index 25018c507b6a6bc35e618117dc64a89efc5cda0e..08950d9f9f7618745853f824f0b76951e68b0361 100644 (file)
@@ -1,3 +1,12 @@
+2003-10-09  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * config/linker-map.gnu: Make more *_type_info bits visible.
+       Move new/delete bits back into GLIBCXX space.
+
+       * include/bits/locale_classes.h: Move _M_id out of line, so that
+       locale::id::_S_highwater can be removed from the export list.
+       * src/locale.cc (locale::id::_M_id): Define.
+       
 2003-10-09  Andreas Tobler  <a.tobler@schweiz.ch>
 
        * testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_64 for
index d0ab03c191d9d1840bb4b313061c24a81f44f61b..adbd390e59f59c5e2b5c2207010fafc681400efd 100644 (file)
@@ -38,7 +38,7 @@ GLIBCXX_3.4 {
       std::locale::facet::_S_destroy_c_locale*;
       std::locale::[A-Zg-h]*;
       std::locale::id::[A-Za-z]*;
-      std::locale::id::_S_highwater;
+      std::locale::id::_M_id*;
       std::locale::[A-Zj-z]*;
       std::locale::_[A-Ha-z]*;
       std::locale::_Impl::[A-Za-z]*;
@@ -62,6 +62,26 @@ GLIBCXX_3.4 {
 
     # Names not in an 'extern' block are mangled names.
 
+    # operator new(size_t)
+    _Znw[jm];
+    # operator new(size_t, std::nothrow_t const&)
+    _Znw[jm]RKSt9nothrow_t;
+
+    # operator delete(void*)
+    _ZdlPv;
+    # operator delete(void*, std::nothrow_t const&)
+    _ZdlPvRKSt9nothrow_t;
+
+    # operator new[](size_t)
+    _Zna[jm];
+    # operator new[](size_t, std::nothrow_t const&)
+    _Zna[jm]RKSt9nothrow_t;
+
+    # operator delete[](void*)
+    _ZdaPv;
+    # operator delete[](void*, std::nothrow_t const&)
+    _ZdaPvRKSt9nothrow_t;
+
     # std::locale destructors
     _ZNSt6localeD*;
        
@@ -84,6 +104,12 @@ GLIBCXX_3.4 {
     _ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_;
     _ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_;
 
+    # std::__ctype_abstract_base*
+    _ZNSt21__ctype_abstract_base*;
+
+    # std::__codecvt_abstract_base*
+    _ZNStSt23__codecvt_abstract_base*;
+
     # virtual table
     _ZTVNSt8ios_base7failureE;
     _ZTVNSt6locale5facetE;
@@ -221,57 +247,68 @@ CXXABI_1.3 {
     __gxx_personality_sj0;
     __dynamic_cast;
 
-    # operator new(size_t)
-    _Znw[jm];
-    # operator new(size_t, std::nothrow_t const&)
-    _Znw[jm]RKSt9nothrow_t;
-
-    # operator delete(void*)
-    _ZdlPv;
-    # operator delete(void*, std::nothrow_t const&)
-    _ZdlPvRKSt9nothrow_t;
-
-    # operator new[](size_t)
-    _Zna[jm];
-    # operator new[](size_t, std::nothrow_t const&)
-    _Zna[jm]RKSt9nothrow_t;
-
-    # operator delete[](void*)
-    _ZdaPv;
-    # operator delete[](void*, std::nothrow_t const&)
-    _ZdaPvRKSt9nothrow_t;
+    # *_type_info classes, ctor and dtor
+    _ZN10__cxxabiv117__array_type_info*;
+    _ZN10__cxxabiv117__class_type_info*;
+    _ZN10__cxxabiv116__enum_type_info*;
+    _ZN10__cxxabiv120__function_type_info*;
+    _ZN10__cxxabiv123__fundamental_type_info*;
+    _ZN10__cxxabiv117__pbase_type_info*;
+    _ZN10__cxxabiv129__pointer_to_member_type_info*;
+    _ZN10__cxxabiv119__pointer_type_info*;
+    _ZN10__cxxabiv120__si_class_type_info*;
+    _ZN10__cxxabiv121__vmi_class_type_info*;
+
+    # *_type_info classes, member functions
+    _ZNK10__cxxabiv117__class_type_info*;
+    _ZNK10__cxxabiv120__function_type_info*;
+    _ZNK10__cxxabiv117__pbase_type_info*;
+    _ZNK10__cxxabiv129__pointer_to_member_type_info*;
+    _ZNK10__cxxabiv119__pointer_type_info*;
+    _ZNK10__cxxabiv120__si_class_type_info*;
+    _ZNK10__cxxabiv121__vmi_class_type_info*;
 
     # virtual table
-    _ZTVN10__cxxabiv117__class_type_infoE;
-    _ZTVN10__cxxabiv120__si_class_type_infoE;
-    _ZTVN10__cxxabiv121__vmi_class_type_infoE;
-    _ZTVN10__cxxabiv123__fundamental_type_infoE;
     _ZTVN10__cxxabiv117__array_type_infoE;
-    _ZTVN10__cxxabiv120__function_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__cxxabiv119__pointer_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 (and some names)
     _ZTI[a-z];
     _ZTIP[a-z];
     _ZTIPK[a-z];
-    _ZTIN10__cxxabiv117__class_type_infoE;
-    _ZTIN10__cxxabiv120__si_class_type_infoE;
-    _ZTIN10__cxxabiv121__vmi_class_type_infoE;
-    _ZTIN10__cxxabiv123__fundamental_type_infoE;
     _ZTIN10__cxxabiv117__array_type_infoE;
-    _ZTIN10__cxxabiv120__function_type_infoE;
+    _ZTIN10__cxxabiv117__class_type_infoE;
     _ZTIN10__cxxabiv116__enum_type_infoE;
+    _ZTIN10__cxxabiv120__function_type_infoE;
+    _ZTIN10__cxxabiv123__fundamental_type_infoE;
     _ZTIN10__cxxabiv117__pbase_type_infoE;
-    _ZTIN10__cxxabiv119__pointer_type_infoE;
     _ZTIN10__cxxabiv129__pointer_to_member_type_infoE;
+    _ZTIN10__cxxabiv119__pointer_type_infoE;
+    _ZTIN10__cxxabiv120__si_class_type_infoE;
+    _ZTIN10__cxxabiv121__vmi_class_type_infoE;
 
     # typeinfo name
     _ZTS[a-z];
     _ZTSP[a-z];
     _ZTSPK[a-z];
+    _ZTSN10__cxxabiv117__array_type_infoE;
+    _ZTSN10__cxxabiv117__class_type_infoE;
+    _ZTSN10__cxxabiv116__enum_type_infoE;
+    _ZTSN10__cxxabiv120__function_type_infoE;
+    _ZTSN10__cxxabiv123__fundamental_type_infoE;
+    _ZTSN10__cxxabiv117__pbase_type_infoE;
+    _ZTSN10__cxxabiv129__pointer_to_member_type_infoE;
+    _ZTSN10__cxxabiv119__pointer_type_infoE;
+    _ZTSN10__cxxabiv120__si_class_type_infoE;
+    _ZTSN10__cxxabiv121__vmi_class_type_infoE;
 
     # __gnu_cxx::_verbose_terminate_handler()
     _ZN9__gnu_cxx27__verbose_terminate_handlerEv;
index e8f4e816fc26605ab024b8f45874057dcaf68e1c..62dabff85a715474d7f71845bb2dd85505199d6f 100644 (file)
@@ -289,13 +289,8 @@ namespace std
     // counted on to be zero-initialized.
     id() { }
 
-    inline size_t
-    _M_id() const
-    {
-      if (!_M_index)
-       _M_index = 1 + __exchange_and_add(&_S_highwater, 1);
-      return _M_index - 1;
-    }
+    size_t
+    _M_id() const;
   };
 
 
index 7c1e8ab5b81d28f4a8d4fabe59d57c47e6a0865a..f5b36044e581a00ac02b4cb9b7132c2c219bd349 100644 (file)
@@ -68,6 +68,14 @@ namespace std
   __gthread_once_t             locale::_S_once = __GTHREAD_ONCE_INIT;
 #endif
 
+  size_t
+  locale::id::_M_id() const
+  {
+    if (!_M_index)
+      _M_index = 1 + __exchange_and_add(&_S_highwater, 1);
+    return _M_index - 1;
+  }
+
   // Definitions for static const data members of locale::id
   _Atomic_word locale::id::_S_highwater;  // init'd to 0 by linker