demangle.cc: Add instantiations.
authorBenjamin Kosnik <bkoz@redhat.com>
Fri, 30 Jan 2004 17:54:10 +0000 (17:54 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Fri, 30 Jan 2004 17:54:10 +0000 (17:54 +0000)
2004-01-30  Benjamin Kosnik  <bkoz@redhat.com>

* src/demangle.cc: Add instantiations.
* src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
* src/Makefile.in: Regenerate.

From-SVN: r76978

libstdc++-v3/ChangeLog
libstdc++-v3/src/Makefile.am
libstdc++-v3/src/Makefile.in
libstdc++-v3/src/demangle.cc

index 0ce3f26..a83d268 100644 (file)
@@ -1,3 +1,9 @@
+2004-01-30  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * src/demangle.cc: Add instantiations.
+       * src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
+       * src/Makefile.in: Regenerate.
+       
 2004-01-30  David Edelsohn  <edelsohn@gnu.org>
 
        * src/allocator.cc: Protect _S_get_thread_id() and
index f51ea39..f81db90 100644 (file)
@@ -162,14 +162,6 @@ concept-inst.lo: concept-inst.cc
 concept-inst.o: concept-inst.cc
        $(CXXCOMPILE) -D_GLIBCXX_CONCEPT_CHECKS -fimplicit-templates -c $<
 
-# Use special rules for the demangler, so that an additional implicit
-# instantiation file is not necessary.
-demangle.lo: demangle.cc
-       $(LTCXXCOMPILE) -fimplicit-templates -c $<
-demangle.o: demangle.cc
-       $(CXXCOMPILE) -fimplicit-templates -c $<
-
-
 # AM_CXXFLAGS needs to be in each subdirectory so that it can be
 # modified in a per-library or per-sub-library way.  Need to manually
 # set this option because CONFIG_CXXFLAGS has to be after
index ff570f9..f4165bd 100644 (file)
@@ -219,12 +219,12 @@ AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
 
 # Cross compiler support.
 toolexeclib_LTLIBRARIES = libstdc++.la
+@GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE@version_arg = 
 
 # Symbol versioning for shared libraries.
 @GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@version_arg = -Wl,--version-script=libstdc++-symbol.ver
-@GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE@version_arg = 
-@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@version_dep = libstdc++-symbol.ver
 @GLIBCXX_BUILD_VERSIONED_SHLIB_FALSE@version_dep = 
+@GLIBCXX_BUILD_VERSIONED_SHLIB_TRUE@version_dep = libstdc++-symbol.ver
 
 # Source files linked in via configuration/make substitution for a
 # particular host.
@@ -306,6 +306,13 @@ libstdc___la_LDFLAGS = \
 # deprecated include files.
 GLIBCXX_INCLUDE_DIR = $(glibcxx_builddir)/include
 
+# Use special rules for the demangler, so that an additional implicit
+# instantiation file is not necessary.
+#demangle.lo: demangle.cc
+#      $(LTCXXCOMPILE) -fimplicit-templates -c $<
+#demangle.o: demangle.cc
+#      $(CXXCOMPILE) -fimplicit-templates -c $<
+
 # AM_CXXFLAGS needs to be in each subdirectory so that it can be
 # modified in a per-library or per-sub-library way.  Need to manually
 # set this option because CONFIG_CXXFLAGS has to be after
@@ -674,13 +681,6 @@ concept-inst.lo: concept-inst.cc
 concept-inst.o: concept-inst.cc
        $(CXXCOMPILE) -D_GLIBCXX_CONCEPT_CHECKS -fimplicit-templates -c $<
 
-# Use special rules for the demangler, so that an additional implicit
-# instantiation file is not necessary.
-demangle.lo: demangle.cc
-       $(LTCXXCOMPILE) -fimplicit-templates -c $<
-demangle.o: demangle.cc
-       $(CXXCOMPILE) -fimplicit-templates -c $<
-
 # Added bits to build debug library.
 @GLIBCXX_BUILD_DEBUG_TRUE@all-local: build_debug
 @GLIBCXX_BUILD_DEBUG_TRUE@install-data-local: install_debug
index 58c0767..1221f4c 100644 (file)
@@ -1,6 +1,6 @@
 // C++ IA64 / g++ v3 demangler  -*- C++ -*-
 
-// Copyright (C) 2003 Free Software Foundation, Inc.
+// Copyright (C) 2003, 2004 Free Software Foundation, Inc.
 // Written by Carlo Wood <carlo@alinoe.com>
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
@@ -165,3 +165,27 @@ namespace __cxxabiv1
     return finish(result.data(), result.size(), buf, n, status);
   }
 } // namespace __cxxabiv1
+
+// Explicit instantiations.
+namespace __gnu_cxx
+{
+  template class demangler::qualifier_list<std::allocator<char> >;
+  template class demangler::session<std::allocator<char> >;
+} // namespace __gnu_cxx
+
+namespace std
+{
+  template
+    void vector<int>::_M_insert_aux(vector<int>::iterator, const int&);
+
+  typedef __gnu_cxx::demangler::substitution_st value_type1;
+  template
+    void vector<value_type1>::_M_insert_aux(vector<value_type1>::iterator, 
+                                           const value_type1&);
+
+  typedef __gnu_cxx::demangler::qualifier<std::allocator<char> > value_type2;
+  template
+    void vector<value_type2>::_M_insert_aux(vector<value_type2>::iterator, 
+                                           const value_type2&);
+}
+