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
This commit is contained in:
Benjamin Kosnik 2004-01-30 17:54:10 +00:00 committed by Benjamin Kosnik
parent 25d244475b
commit c9732ce7d5
4 changed files with 40 additions and 18 deletions

View 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

View 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

View 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

View 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&);
}