Makefile.am (hashtable_c++0x.lo, [...]): Use -fimplicit-templates.

2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>

	* src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
	Use -fimplicit-templates.
	* src/c++11/Makefile.in: Regenerate.
	* src/c++11/hashtable_c++0x.cc: Remove instantiation for
	std::lower_bound template.

From-SVN: r195966
This commit is contained in:
Benjamin Kosnik 2013-02-12 00:39:38 +00:00 committed by Benjamin Kosnik
parent 6e310c46bb
commit 6e1d47c46a
4 changed files with 22 additions and 7 deletions

View File

@ -1,3 +1,11 @@
2013-02-11 Benjamin Kosnik <bkoz@redhat.com>
* src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
Use -fimplicit-templates.
* src/c++11/Makefile.in: Regenerate.
* src/c++11/hashtable_c++0x.cc: Remove instantiation for
std::lower_bound template.
2013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
* include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.

View File

@ -60,6 +60,13 @@ vpath % $(top_srcdir)/src/c++11
libc__11convenience_la_SOURCES = $(sources) $(inst_sources)
# Use special rules for the hashtable.cc file so that all
# the generated template functions are also instantiated.
hashtable_c++0x.lo: hashtable_c++0x.cc
$(LTCXXCOMPILE) -fimplicit-templates -c $<
hashtable_c++0x.o: hashtable_c++0x.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

@ -627,6 +627,13 @@ uninstall-am:
vpath % $(top_srcdir)/src/c++11
# Use special rules for the hashtable.cc file so that all
# the generated template functions are also instantiated.
hashtable_c++0x.lo: hashtable_c++0x.cc
$(LTCXXCOMPILE) -fimplicit-templates -c $<
hashtable_c++0x.o: hashtable_c++0x.cc
$(CXXCOMPILE) -fimplicit-templates -c $<
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -94,11 +94,4 @@ namespace __detail
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace __detail
// Instantiations.
template
const unsigned long*
lower_bound<const unsigned long*, size_t>(const unsigned long*,
const unsigned long*,
const size_t&);
} // namespace std