aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Kosnik <bkoz@redhat.com>2004-01-30 17:54:10 +0000
committerBenjamin Kosnik <bkoz@gcc.gnu.org>2004-01-30 17:54:10 +0000
commitc9732ce7d527ee3d3adcabe524242221096eedd3 (patch)
treeb691ec2f6566aa155a6e210c79a8b566021fa21a
parent25d244475b8dded27535ff2acaf0279725fba9fa (diff)
downloadgcc-c9732ce7d527ee3d3adcabe524242221096eedd3.zip
gcc-c9732ce7d527ee3d3adcabe524242221096eedd3.tar.gz
gcc-c9732ce7d527ee3d3adcabe524242221096eedd3.tar.bz2
demangle.cc: Add instantiations.
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
-rw-r--r--libstdc++-v3/ChangeLog6
-rw-r--r--libstdc++-v3/src/Makefile.am8
-rw-r--r--libstdc++-v3/src/Makefile.in18
-rw-r--r--libstdc++-v3/src/demangle.cc26
4 files changed, 40 insertions, 18 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 0ce3f26..a83d268 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -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
diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am
index f51ea39..f81db90 100644
--- a/libstdc++-v3/src/Makefile.am
+++ b/libstdc++-v3/src/Makefile.am
@@ -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
diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in
index ff570f9..f4165bd 100644
--- a/libstdc++-v3/src/Makefile.in
+++ b/libstdc++-v3/src/Makefile.in
@@ -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
diff --git a/libstdc++-v3/src/demangle.cc b/libstdc++-v3/src/demangle.cc
index 58c0767..1221f4c 100644
--- a/libstdc++-v3/src/demangle.cc
+++ b/libstdc++-v3/src/demangle.cc
@@ -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&);
+}
+