From bf6adbe2c68151d1ba284a27b00ab1568d2d1be0 Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Tue, 6 Feb 2001 06:36:18 +0000 Subject: [PATCH] locale_facets.tcc: Remove `static' keyword on function definitions. * include/bits/locale_facets.tcc: Remove `static' keyword on function definitions. * include/bits/std_streambuf.h: Likewise. * src/Makefile.am: Remove use of -fimplicit-templates. * src/Makefile.in: Regenerated. * src/locale-inst.cc: Explicitly instantiate more functions. * src/msic-inst.cc: Likewise. * src/string-inst.cc: Likewise. From-SVN: r39481 --- libstdc++-v3/ChangeLog | 11 ++++ libstdc++-v3/include/bits/locale_facets.tcc | 4 +- libstdc++-v3/include/bits/std_streambuf.h | 2 +- libstdc++-v3/src/Makefile.am | 14 ++--- libstdc++-v3/src/Makefile.in | 12 ++-- libstdc++-v3/src/locale-inst.cc | 26 ++++++++ libstdc++-v3/src/misc-inst.cc | 66 ++++++++++++++++++++- libstdc++-v3/src/string-inst.cc | 12 ++++ 8 files changed, 130 insertions(+), 17 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 54e6aba1535..4687d1d4168 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,14 @@ +2001-02-05 Mark Mitchell + + * include/bits/locale_facets.tcc: Remove `static' keyword on + function definitions. + * include/bits/std_streambuf.h: Likewise. + * src/Makefile.am: Remove use of -fimplicit-templates. + * src/Makefile.in: Regenerated. + * src/locale-inst.cc: Explicitly instantiate more functions. + * src/msic-inst.cc: Likewise. + * src/string-inst.cc: Likewise. + 2001-02-05 Benjamin Kosnik * acinclude.m4 (GLIBCPP_EXPORT_INSTALL_INFO): New diff --git a/libstdc++-v3/include/bits/locale_facets.tcc b/libstdc++-v3/include/bits/locale_facets.tcc index 87ba473514b..1c3860ed2b8 100644 --- a/libstdc++-v3/include/bits/locale_facets.tcc +++ b/libstdc++-v3/include/bits/locale_facets.tcc @@ -970,7 +970,7 @@ namespace std // Generic helper function template - static _OutIter + _OutIter _S_output_float(_OutIter __s, ios_base& __io, _CharT __fill, const char* __sptr, size_t __slen) { @@ -980,7 +980,7 @@ namespace std // Partial specialization for ostreambuf_iterator. template - static ostreambuf_iterator<_CharT> + ostreambuf_iterator<_CharT> _S_output_float(ostreambuf_iterator<_CharT> __s, ios_base& __io, _CharT __fill, const char* __sptr, size_t __slen) { diff --git a/libstdc++-v3/include/bits/std_streambuf.h b/libstdc++-v3/include/bits/std_streambuf.h index 5cf7b023f4c..e98543af4b9 100644 --- a/libstdc++-v3/include/bits/std_streambuf.h +++ b/libstdc++-v3/include/bits/std_streambuf.h @@ -43,7 +43,7 @@ namespace std { template - static streamsize + streamsize _S_copy_streambufs(basic_ios<_CharT, _Traits>& _ios, basic_streambuf<_CharT, _Traits>* __sbin, basic_streambuf<_CharT, _Traits>* __sbout); diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am index 986f319ebae..4bad5210b85 100644 --- a/libstdc++-v3/src/Makefile.am +++ b/libstdc++-v3/src/Makefile.am @@ -21,7 +21,7 @@ ## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, ## USA. -## $Id: Makefile.am,v 1.67 2001/02/03 09:01:44 bkoz Exp $ +## $Id: Makefile.am,v 1.68 2001/02/06 06:32:01 bkoz Exp $ AUTOMAKE_OPTIONS = 1.3 gnits MAINT_CHARSET = latin1 @@ -298,13 +298,13 @@ myinstallheaders: # for things like vptrs, type_info bits, etc. when using # -fno-implicit-templates. misc-inst.o: misc-inst.cc - $(CXXCOMPILE) -fimplicit-templates -c $< + $(CXXCOMPILE) -c $< misc-inst.lo: misc-inst.cc - $(LTCXXCOMPILE) -fimplicit-templates -c $< + $(LTCXXCOMPILE) -c $< locale-inst.o: locale-inst.cc - $(CXXCOMPILE) -fimplicit-templates -c $< + $(CXXCOMPILE) -c $< locale-inst.lo: locale-inst.cc - $(LTCXXCOMPILE) -fimplicit-templates -c $< + $(LTCXXCOMPILE) -c $< # Use special rules for the deprecated source files so that they find # deprecated include files. @@ -315,9 +315,9 @@ strstream.o: strstream.cc # Make wstring-inst.cc from string-inst.cc wstring-inst.o: string-inst.cc - $(CXXCOMPILE) -fimplicit-templates -c -DC=wchar_t $< -o $@ + $(CXXCOMPILE) -c -DC=wchar_t $< -o $@ wstring-inst.lo: string-inst.cc - $(LTCXXCOMPILE) -fimplicit-templates -c -DC=wchar_t $< -o $@ + $(LTCXXCOMPILE) -c -DC=wchar_t $< -o $@ # Alexandre put this in here for some libtool-related reason. diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in index d1c6a7bd2c9..a1547862a3c 100644 --- a/libstdc++-v3/src/Makefile.in +++ b/libstdc++-v3/src/Makefile.in @@ -567,13 +567,13 @@ myinstallheaders: # for things like vptrs, type_info bits, etc. when using # -fno-implicit-templates. misc-inst.o: misc-inst.cc - $(CXXCOMPILE) -fimplicit-templates -c $< + $(CXXCOMPILE) -c $< misc-inst.lo: misc-inst.cc - $(LTCXXCOMPILE) -fimplicit-templates -c $< + $(LTCXXCOMPILE) -c $< locale-inst.o: locale-inst.cc - $(CXXCOMPILE) -fimplicit-templates -c $< + $(CXXCOMPILE) -c $< locale-inst.lo: locale-inst.cc - $(LTCXXCOMPILE) -fimplicit-templates -c $< + $(LTCXXCOMPILE) -c $< # Use special rules for the deprecated source files so that they find # deprecated include files. @@ -584,9 +584,9 @@ strstream.o: strstream.cc # Make wstring-inst.cc from string-inst.cc wstring-inst.o: string-inst.cc - $(CXXCOMPILE) -fimplicit-templates -c -DC=wchar_t $< -o $@ + $(CXXCOMPILE) -c -DC=wchar_t $< -o $@ wstring-inst.lo: string-inst.cc - $(LTCXXCOMPILE) -fimplicit-templates -c -DC=wchar_t $< -o $@ + $(LTCXXCOMPILE) -c -DC=wchar_t $< -o $@ # Alexandre put this in here for some libtool-related reason. all: libstdc++.INC diff --git a/libstdc++-v3/src/locale-inst.cc b/libstdc++-v3/src/locale-inst.cc index c67dd040b15..08c6dacf569 100644 --- a/libstdc++-v3/src/locale-inst.cc +++ b/libstdc++-v3/src/locale-inst.cc @@ -282,5 +282,31 @@ namespace std { locale::facet** fill_n (locale::facet**, unsigned long, locale::facet* const&); + + template + const numpunct& + use_facet(const locale&); + + template + void __sink_unused_warning(locale::facet*); + + template + __normal_iterator > + fill_n(__normal_iterator >, + unsigned, locale::facet* const&); + + template + void + fill (__normal_iterator >, + __normal_iterator >, + locale::facet* const&); + + template + const collate& + use_facet >(const locale&); } //std diff --git a/libstdc++-v3/src/misc-inst.cc b/libstdc++-v3/src/misc-inst.cc index 4bab4930336..5556ebf0296 100644 --- a/libstdc++-v3/src/misc-inst.cc +++ b/libstdc++-v3/src/misc-inst.cc @@ -1,6 +1,6 @@ // Explicit instantiation file. -// Copyright (C) 1997-1999, 2000 Free Software Foundation, Inc. +// Copyright (C) 1997-1999, 2000, 2001 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -43,6 +43,7 @@ #include #include #include +#include // NB: unnecessary if the .h headers include these #ifndef _GLIBCPP_FULLY_COMPLIANT_HEADERS @@ -239,6 +240,69 @@ namespace std { (vector::const_iterator, vector::const_iterator, string*, _Bool); + template + void + __sink_unused_warning(char); +#ifdef _GLIBCPP_USE_WCHAR_T + template + void + __sink_unused_warning(wchar_t); +#endif + + template + void + __sink_unused_warning > + (ostreambuf_iterator); +#ifdef _GLIBCPP_USE_WCHAR_T + template + void + __sink_unused_warning > + (ostreambuf_iterator); +#endif + + template + void + _S_pad_char (basic_ios&, char*, const char*, int, int); +#ifdef _GLIBCPP_USE_WCHAR_T + template + void + _S_pad_char (basic_ios&, wchar_t*, const wchar_t*, int, int); +#endif + + template + ostreambuf_iterator + _S_pad_numeric (ostreambuf_iterator, _Ios_Fmtflags, char, int, + const char*, const char*, const char*); +#ifdef _GLIBCPP_USE_WCHAR_T + template + ostreambuf_iterator + _S_pad_numeric (ostreambuf_iterator, _Ios_Fmtflags, wchar_t, int, + const wchar_t*, const wchar_t*, const wchar_t*); +#endif + + template + ostreambuf_iterator + _S_output_float (ostreambuf_iterator, ios_base&, char, + const char*, unsigned); +#ifdef _GLIBCPP_USE_WCHAR_T + template + ostreambuf_iterator + _S_output_float (ostreambuf_iterator, ios_base&, wchar_t, + const wchar_t*, unsigned); +#endif + + template + int + _S_copy_streambufs(basic_ios&, + basic_streambuf*, + basic_streambuf*); +#ifdef _GLIBCPP_USE_WCHAR_T + template + int + _S_copy_streambufs(basic_ios&, + basic_streambuf*, + basic_streambuf*); +#endif } //std diff --git a/libstdc++-v3/src/string-inst.cc b/libstdc++-v3/src/string-inst.cc index 70ee21eadcf..920311254ed 100644 --- a/libstdc++-v3/src/string-inst.cc +++ b/libstdc++-v3/src/string-inst.cc @@ -71,6 +71,9 @@ namespace std S::_S_construct (S::iterator, S::iterator, const allocator&, forward_iterator_tag); + template + S::basic_string(C*, C*, const allocator&); + template S::basic_string(S::iterator, S::iterator, const allocator&); @@ -87,6 +90,15 @@ namespace std C* S::_S_construct(const C*, const C*, const allocator&, forward_iterator_tag); + + template + C* + S::_S_construct (C*, C*, const allocator&, + forward_iterator_tag); + + template + void + __destroy_aux(S*, S*, _Bool); } // namespace std -- 2.30.2