diff options
author | kan <kan@FreeBSD.org> | 2002-09-17 04:04:04 +0000 |
---|---|---|
committer | kan <kan@FreeBSD.org> | 2002-09-17 04:04:04 +0000 |
commit | d28dfe2607c93215301923596ce65ae6df3d4cd9 (patch) | |
tree | e1352a09cb44f9237c705b49ba032895f99b4cba /contrib/libstdc++/src | |
parent | 366976642281939a5ef910427ef046ec6f72af8a (diff) | |
download | FreeBSD-src-d28dfe2607c93215301923596ce65ae6df3d4cd9.zip FreeBSD-src-d28dfe2607c93215301923596ce65ae6df3d4cd9.tar.gz |
Gcc 3.2.1-prerelease C++ support bits from the FSF anoncvs repo gcc-3_2-branch on 16-Sep-2002 13:23:11 EDT.
Diffstat (limited to 'contrib/libstdc++/src')
-rw-r--r-- | contrib/libstdc++/src/Makefile.am | 59 | ||||
-rw-r--r-- | contrib/libstdc++/src/Makefile.in | 77 | ||||
-rw-r--r-- | contrib/libstdc++/src/bitset.cc | 23 | ||||
-rw-r--r-- | contrib/libstdc++/src/codecvt.cc | 74 | ||||
-rw-r--r-- | contrib/libstdc++/src/concept-inst.cc | 23 | ||||
-rw-r--r-- | contrib/libstdc++/src/ctype.cc | 153 | ||||
-rw-r--r-- | contrib/libstdc++/src/locale.cc | 130 | ||||
-rw-r--r-- | contrib/libstdc++/src/misc-inst.cc | 19 | ||||
-rw-r--r-- | contrib/libstdc++/src/strstream.cc | 23 | ||||
-rw-r--r-- | contrib/libstdc++/src/vterminate.cc | 23 |
10 files changed, 327 insertions, 277 deletions
diff --git a/contrib/libstdc++/src/Makefile.am b/contrib/libstdc++/src/Makefile.am index 4e24041..4592168 100644 --- a/contrib/libstdc++/src/Makefile.am +++ b/contrib/libstdc++/src/Makefile.am @@ -22,12 +22,12 @@ ## Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, ## USA. -AUTOMAKE_OPTIONS = 1.3 gnits +AUTOMAKE_OPTIONS = 1.3 cygnus MAINT_CHARSET = latin1 mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs -# Cross compiler and multilib support. +# Cross compiler support. CXX = @glibcpp_CXX@ toolexecdir = @glibcpp_toolexecdir@ toolexeclibdir = @glibcpp_toolexeclibdir@ @@ -60,17 +60,54 @@ INCLUDES = \ $(LIBSUPCXX_INCLUDES) $(LIBIO_INCLUDES) $(LIBMATH_INCLUDES) \ $(TOPLEVEL_INCLUDES) +# Source files linked in via configuration magic for a particular target. +target_sources = \ + codecvt_members.cc \ + collate_members.cc \ + ctype_members.cc \ + messages_members.cc \ + monetary_members.cc \ + numeric_members.cc \ + time_members.cc + +# Source files linked in via configuration magic for a particular +# target, but with ad hoc naming rules. +target_sources_extra = \ + basic_file.cc \ + c++locale.cc + +# Sources present in the src directory. sources = \ - globals.cc limits.cc \ - basic_file.cc complex_io.cc ios.cc strstream.cc \ bitset.cc \ - functexcept.cc stdexcept.cc vterminate.cc \ - c++locale.cc locale.cc localename.cc codecvt.cc \ - collate.cc ctype.cc messages.cc monetary.cc numeric.cc time.cc \ - concept-inst.cc locale-inst.cc misc-inst.cc stl-inst.cc \ - string-inst.cc wstring-inst.cc valarray-inst.cc ext-inst.cc \ - fstream.cc fstream-inst.cc io-inst.cc istream-inst.cc \ - ostream-inst.cc streambuf-inst.cc sstream-inst.cc + codecvt.cc \ + complex_io.cc \ + concept-inst.cc \ + ctype.cc \ + ext-inst.cc \ + fstream.cc \ + fstream-inst.cc \ + functexcept.cc \ + globals.cc \ + io-inst.cc \ + ios.cc \ + istream-inst.cc \ + limits.cc \ + locale.cc \ + locale-inst.cc \ + localename.cc \ + misc-inst.cc \ + ostream-inst.cc \ + sstream-inst.cc \ + stdexcept.cc \ + stl-inst.cc \ + streambuf-inst.cc \ + string-inst.cc \ + strstream.cc \ + valarray-inst.cc \ + vterminate.cc \ + wstring-inst.cc \ + ${target_sources} \ + ${target_sources_extra} VPATH = $(top_srcdir)/src:$(top_srcdir) diff --git a/contrib/libstdc++/src/Makefile.in b/contrib/libstdc++/src/Makefile.in index d285079..0e55017 100644 --- a/contrib/libstdc++/src/Makefile.in +++ b/contrib/libstdc++/src/Makefile.in @@ -125,12 +125,12 @@ libio_la = @libio_la@ libtool_VERSION = @libtool_VERSION@ toplevel_srcdir = @toplevel_srcdir@ -AUTOMAKE_OPTIONS = 1.3 gnits +AUTOMAKE_OPTIONS = 1.3 cygnus MAINT_CHARSET = latin1 mkinstalldirs = $(SHELL) $(toplevel_srcdir)/mkinstalldirs -# Cross compiler and multilib support. +# Cross compiler support. CXX = @glibcpp_CXX@ toolexecdir = @glibcpp_toolexecdir@ toolexeclibdir = @glibcpp_toolexeclibdir@ @@ -166,17 +166,56 @@ INCLUDES = \ $(TOPLEVEL_INCLUDES) +# Source files linked in via configuration magic for a particular target. +target_sources = \ + codecvt_members.cc \ + collate_members.cc \ + ctype_members.cc \ + messages_members.cc \ + monetary_members.cc \ + numeric_members.cc \ + time_members.cc + + +# Source files linked in via configuration magic for a particular +# target, but with ad hoc naming rules. +target_sources_extra = \ + basic_file.cc \ + c++locale.cc + + +# Sources present in the src directory. sources = \ - globals.cc limits.cc \ - basic_file.cc complex_io.cc ios.cc strstream.cc \ bitset.cc \ - functexcept.cc stdexcept.cc vterminate.cc \ - c++locale.cc locale.cc localename.cc codecvt.cc \ - collate.cc ctype.cc messages.cc monetary.cc numeric.cc time.cc \ - concept-inst.cc locale-inst.cc misc-inst.cc stl-inst.cc \ - string-inst.cc wstring-inst.cc valarray-inst.cc ext-inst.cc \ - fstream.cc fstream-inst.cc io-inst.cc istream-inst.cc \ - ostream-inst.cc streambuf-inst.cc sstream-inst.cc + codecvt.cc \ + complex_io.cc \ + concept-inst.cc \ + ctype.cc \ + ext-inst.cc \ + fstream.cc \ + fstream-inst.cc \ + functexcept.cc \ + globals.cc \ + io-inst.cc \ + ios.cc \ + istream-inst.cc \ + limits.cc \ + locale.cc \ + locale-inst.cc \ + localename.cc \ + misc-inst.cc \ + ostream-inst.cc \ + sstream-inst.cc \ + stdexcept.cc \ + stl-inst.cc \ + streambuf-inst.cc \ + string-inst.cc \ + strstream.cc \ + valarray-inst.cc \ + vterminate.cc \ + wstring-inst.cc \ + ${target_sources} \ + ${target_sources_extra} VPATH = $(top_srcdir)/src:$(top_srcdir) @@ -254,13 +293,15 @@ DEFS = @DEFS@ -I. -I$(srcdir) -I.. CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ -libstdc___la_OBJECTS = globals.lo limits.lo basic_file.lo complex_io.lo \ -ios.lo strstream.lo bitset.lo functexcept.lo stdexcept.lo vterminate.lo \ -c++locale.lo locale.lo localename.lo codecvt.lo collate.lo ctype.lo \ -messages.lo monetary.lo numeric.lo time.lo concept-inst.lo \ -locale-inst.lo misc-inst.lo stl-inst.lo string-inst.lo wstring-inst.lo \ -valarray-inst.lo ext-inst.lo fstream.lo fstream-inst.lo io-inst.lo \ -istream-inst.lo ostream-inst.lo streambuf-inst.lo sstream-inst.lo +libstdc___la_OBJECTS = bitset.lo codecvt.lo complex_io.lo \ +concept-inst.lo ctype.lo ext-inst.lo fstream.lo fstream-inst.lo \ +functexcept.lo globals.lo io-inst.lo ios.lo istream-inst.lo limits.lo \ +locale.lo locale-inst.lo localename.lo misc-inst.lo ostream-inst.lo \ +sstream-inst.lo stdexcept.lo stl-inst.lo streambuf-inst.lo \ +string-inst.lo strstream.lo valarray-inst.lo vterminate.lo \ +wstring-inst.lo codecvt_members.lo collate_members.lo ctype_members.lo \ +messages_members.lo monetary_members.lo numeric_members.lo \ +time_members.lo basic_file.lo c++locale.lo CXXFLAGS = @CXXFLAGS@ CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) diff --git a/contrib/libstdc++/src/bitset.cc b/contrib/libstdc++/src/bitset.cc index 244f308..7103854 100644 --- a/contrib/libstdc++/src/bitset.cc +++ b/contrib/libstdc++/src/bitset.cc @@ -2,22 +2,21 @@ // Copyright (C) 2001, 2002 Free Software Foundation // -// This file is part of GNU CC. -// -// GNU CC is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2, or (at your option) +// 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 +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 2, or (at your option) // any later version. -// -// GNU CC is distributed in the hope that it will be useful, + +// This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with GNU CC; see the file COPYING. If not, write to -// the Free Software Foundation, 59 Temple Place - Suite 330, -// Boston, MA 02111-1307, USA. + +// You should have received a copy of the GNU General Public License along +// with this library; see the file COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. // As a special exception, you may use this file as part of a free software // library without restriction. Specifically, if other files instantiate diff --git a/contrib/libstdc++/src/codecvt.cc b/contrib/libstdc++/src/codecvt.cc index 032667e..a2fb42d 100644 --- a/contrib/libstdc++/src/codecvt.cc +++ b/contrib/libstdc++/src/codecvt.cc @@ -31,6 +31,13 @@ namespace std { + // Definitions for locale::id of standard facets that are specialized. + locale::id codecvt<char, char, mbstate_t>::id; + +#ifdef _GLIBCPP_USE_WCHAR_T + locale::id codecvt<wchar_t, char, mbstate_t>::id; +#endif + #ifdef _GLIBCPP_USE___ENC_TRAITS // Definitions for static const data members of __enc_traits. const int __enc_traits::_S_max_size; @@ -42,7 +49,8 @@ namespace std { } codecvt<char, char, mbstate_t>:: - ~codecvt() { } + ~codecvt() + { } codecvt_base::result codecvt<char, char, mbstate_t>:: @@ -106,39 +114,12 @@ namespace std // codecvt<wchar_t, char, mbstate_t> required specialization codecvt<wchar_t, char, mbstate_t>:: codecvt(size_t __refs) - : __codecvt_abstract_base<wchar_t, char, mbstate_t>(__refs) { } + : __codecvt_abstract_base<wchar_t, char, mbstate_t>(__refs) + { } codecvt<wchar_t, char, mbstate_t>:: - ~codecvt() { } - - codecvt_base::result - codecvt<wchar_t, char, mbstate_t>:: - do_out(state_type& __state, const intern_type* __from, - const intern_type* __from_end, const intern_type*& __from_next, - extern_type* __to, extern_type* __to_end, - extern_type*& __to_next) const - { - result __ret = error; - size_t __len = min(__from_end - __from, __to_end - __to); - size_t __conv = wcsrtombs(__to, &__from, __len, &__state); - - if (__conv == __len) - { - __from_next = __from; - __to_next = __to + __conv; - __ret = ok; - } - else if (__conv > 0 && __conv < __len) - { - __from_next = __from; - __to_next = __to + __conv; - __ret = partial; - } - else - __ret = error; - - return __ret; - } + ~codecvt() + { } codecvt_base::result codecvt<wchar_t, char, mbstate_t>:: @@ -149,35 +130,6 @@ namespace std return noconv; } - codecvt_base::result - codecvt<wchar_t, char, mbstate_t>:: - do_in(state_type& __state, const extern_type* __from, - const extern_type* __from_end, const extern_type*& __from_next, - intern_type* __to, intern_type* __to_end, - intern_type*& __to_next) const - { - result __ret = error; - size_t __len = min(__from_end - __from, __to_end - __to); - size_t __conv = mbsrtowcs(__to, &__from, __len, &__state); - - if (__conv == __len) - { - __from_next = __from; - __to_next = __to + __conv; - __ret = ok; - } - else if (__conv > 0 && __conv < __len) - { - __from_next = __from; - __to_next = __to + __conv; - __ret = partial; - } - else - __ret = error; - - return __ret; - } - int codecvt<wchar_t, char, mbstate_t>:: do_encoding() const throw() diff --git a/contrib/libstdc++/src/concept-inst.cc b/contrib/libstdc++/src/concept-inst.cc index 01cc030..d0129e5 100644 --- a/contrib/libstdc++/src/concept-inst.cc +++ b/contrib/libstdc++/src/concept-inst.cc @@ -2,22 +2,21 @@ // Copyright (C) 2001, 2002 Free Software Foundation // -// This file is part of GNU CC. -// -// GNU CC is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2, or (at your option) +// 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 +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 2, or (at your option) // any later version. -// -// GNU CC is distributed in the hope that it will be useful, + +// This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with GNU CC; see the file COPYING. If not, write to -// the Free Software Foundation, 59 Temple Place - Suite 330, -// Boston, MA 02111-1307, USA. + +// You should have received a copy of the GNU General Public License along +// with this library; see the file COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. // As a special exception, you may use this file as part of a free software // library without restriction. Specifically, if other files instantiate diff --git a/contrib/libstdc++/src/ctype.cc b/contrib/libstdc++/src/ctype.cc new file mode 100644 index 0000000..7ca934e --- /dev/null +++ b/contrib/libstdc++/src/ctype.cc @@ -0,0 +1,153 @@ +// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 +// 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 +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 2, or (at your option) +// any later version. + +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License along +// with this library; see the file COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. + +// As a special exception, you may use this file as part of a free software +// library without restriction. Specifically, if other files instantiate +// templates or use macros or inline functions from this file, or you compile +// this file and link it with other files to produce an executable, this +// file does not by itself cause the resulting executable to be covered by +// the GNU General Public License. This exception does not however +// invalidate any other reasons why the executable file might be covered by +// the GNU General Public License. + +#include <locale> + +namespace std +{ + // XXX At some point, just rename this file to ctype_members_char.cc + // and compile it as a separate file instead of including it here. + // Platform-specific initialization code for ctype tables. + #include <bits/ctype_noninline.h> + + // Definitions for locale::id of standard facets that are specialized. + locale::id ctype<char>::id; + +#ifdef _GLIBCPP_USE_WCHAR_T + locale::id ctype<wchar_t>::id; +#endif + + template<> + const ctype<char>& + use_facet<ctype<char> >(const locale& __loc) + { + size_t __i = ctype<char>::id._M_id(); + const locale::_Impl* __tmp = __loc._M_impl; + return static_cast<const ctype<char>&>(*(__tmp->_M_facets[__i])); + } + +#ifdef _GLIBCPP_USE_WCHAR_T + template<> + const ctype<wchar_t>& + use_facet<ctype<wchar_t> >(const locale& __loc) + { + size_t __i = ctype<wchar_t>::id._M_id(); + const locale::_Impl* __tmp = __loc._M_impl; + return static_cast<const ctype<wchar_t>&>(*(__tmp->_M_facets[__i])); + } +#endif + + // Definitions for static const data members of ctype_base. + const ctype_base::mask ctype_base::space; + const ctype_base::mask ctype_base::print; + const ctype_base::mask ctype_base::cntrl; + const ctype_base::mask ctype_base::upper; + const ctype_base::mask ctype_base::lower; + const ctype_base::mask ctype_base::alpha; + const ctype_base::mask ctype_base::digit; + const ctype_base::mask ctype_base::punct; + const ctype_base::mask ctype_base::xdigit; + const ctype_base::mask ctype_base::alnum; + const ctype_base::mask ctype_base::graph; + + const size_t ctype<char>::table_size; + + ctype<char>::~ctype() + { + if (_M_c_locale_ctype != _S_c_locale) + _S_destroy_c_locale(_M_c_locale_ctype); + if (_M_del) + delete[] this->table(); + } + + // These are dummy placeholders as these virtual functions are never called. + bool + ctype<char>::do_is(mask, char_type) const + { return false; } + + const char* + ctype<char>::do_is(const char_type* __c, const char_type*, mask*) const + { return __c; } + + const char* + ctype<char>::do_scan_is(mask, const char_type* __c, const char_type*) const + { return __c; } + + const char* + ctype<char>::do_scan_not(mask, const char_type* __c, const char_type*) const + { return __c; } + + char + ctype<char>::do_widen(char __c) const + { return __c; } + + const char* + ctype<char>::do_widen(const char* __lo, const char* __hi, char* __dest) const + { + memcpy(__dest, __lo, __hi - __lo); + return __hi; + } + + char + ctype<char>::do_narrow(char __c, char /*__dfault*/) const + { return __c; } + + const char* + ctype<char>::do_narrow(const char* __lo, const char* __hi, + char /*__dfault*/, char* __dest) const + { + memcpy(__dest, __lo, __hi - __lo); + return __hi; + } + +#ifdef _GLIBCPP_USE_WCHAR_T + ctype<wchar_t>::ctype(size_t __refs) + : __ctype_abstract_base<wchar_t>(__refs) + { _M_c_locale_ctype = _S_c_locale; } + + ctype<wchar_t>::ctype(__c_locale __cloc, size_t __refs) + : __ctype_abstract_base<wchar_t>(__refs) + { _M_c_locale_ctype = _S_clone_c_locale(__cloc); } + + ctype<wchar_t>::~ctype() + { + if (_M_c_locale_ctype != _S_c_locale) + _S_destroy_c_locale(_M_c_locale_ctype); + } + + template<> + ctype_byname<wchar_t>::ctype_byname(const char* __s, size_t __refs) + : ctype<wchar_t>(__refs) + { + if (_M_c_locale_ctype != _S_c_locale) + _S_destroy_c_locale(_M_c_locale_ctype); + _S_create_c_locale(_M_c_locale_ctype, __s); + } +#endif +} // namespace std + diff --git a/contrib/libstdc++/src/locale.cc b/contrib/libstdc++/src/locale.cc index 3cb9d1b..6314ba6 100644 --- a/contrib/libstdc++/src/locale.cc +++ b/contrib/libstdc++/src/locale.cc @@ -59,15 +59,6 @@ namespace std locale::_Impl* locale::_S_global; const size_t locale::_S_num_categories; - // Definitions for locale::id of standard facets that are specialized. - locale::id ctype<char>::id; - locale::id codecvt<char, char, mbstate_t>::id; - -#ifdef _GLIBCPP_USE_WCHAR_T - locale::id ctype<wchar_t>::id; - locale::id codecvt<wchar_t, char, mbstate_t>::id; -#endif - // Definitions for static const data members of locale::id _Atomic_word locale::id::_S_highwater; // init'd to 0 by linker @@ -202,7 +193,15 @@ namespace std if (strcmp(__s, "C") == 0 || strcmp(__s, "POSIX") == 0) (_M_impl = _S_classic)->_M_add_reference(); else if (strcmp(__s, "") == 0) - _M_impl = new _Impl(setlocale(LC_ALL, NULL), 1); + { + char* __env = getenv("LC_ALL"); + if (__env) + _M_impl = new _Impl(__env, 1); + else if ((__env = getenv("LANG"))) + _M_impl = new _Impl(__env, 1); + else + (_M_impl = _S_classic)->_M_add_reference(); + } else _M_impl = new _Impl(__s, 1); } @@ -389,97 +388,6 @@ namespace std locale::id::id() { } - // Definitions for static const data members of ctype_base. - const ctype_base::mask ctype_base::space; - const ctype_base::mask ctype_base::print; - const ctype_base::mask ctype_base::cntrl; - const ctype_base::mask ctype_base::upper; - const ctype_base::mask ctype_base::lower; - const ctype_base::mask ctype_base::alpha; - const ctype_base::mask ctype_base::digit; - const ctype_base::mask ctype_base::punct; - const ctype_base::mask ctype_base::xdigit; - const ctype_base::mask ctype_base::alnum; - const ctype_base::mask ctype_base::graph; - - // Platform-specific initialization code for ctype tables. - #include <bits/ctype_noninline.h> - - const size_t ctype<char>::table_size; - - ctype<char>::~ctype() - { - if (_M_c_locale_ctype != _S_c_locale) - _S_destroy_c_locale(_M_c_locale_ctype); - if (_M_del) - delete[] this->table(); - } - - // These are dummy placeholders as these virtual functions are never called. - bool - ctype<char>::do_is(mask, char_type) const - { return false; } - - const char* - ctype<char>::do_is(const char_type* __c, const char_type*, mask*) const - { return __c; } - - const char* - ctype<char>::do_scan_is(mask, const char_type* __c, const char_type*) const - { return __c; } - - const char* - ctype<char>::do_scan_not(mask, const char_type* __c, const char_type*) const - { return __c; } - - char - ctype<char>::do_widen(char __c) const - { return __c; } - - const char* - ctype<char>::do_widen(const char* __lo, const char* __hi, char* __dest) const - { - memcpy(__dest, __lo, __hi - __lo); - return __hi; - } - - char - ctype<char>::do_narrow(char __c, char /*__dfault*/) const - { return __c; } - - const char* - ctype<char>::do_narrow(const char* __lo, const char* __hi, - char /*__dfault*/, char* __dest) const - { - memcpy(__dest, __lo, __hi - __lo); - return __hi; - } - -#ifdef _GLIBCPP_USE_WCHAR_T - ctype<wchar_t>::ctype(size_t __refs) - : __ctype_abstract_base<wchar_t>(__refs) - { _M_c_locale_ctype = _S_c_locale; } - - ctype<wchar_t>::ctype(__c_locale __cloc, size_t __refs) - : __ctype_abstract_base<wchar_t>(__refs) - { _M_c_locale_ctype = _S_clone_c_locale(__cloc); } - - ctype<wchar_t>::~ctype() - { - if (_M_c_locale_ctype != _S_c_locale) - _S_destroy_c_locale(_M_c_locale_ctype); - } - - template<> - ctype_byname<wchar_t>::ctype_byname(const char* __s, size_t __refs) - : ctype<wchar_t>(__refs) - { - if (_M_c_locale_ctype != _S_c_locale) - _S_destroy_c_locale(_M_c_locale_ctype); - _S_create_c_locale(_M_c_locale_ctype, __s); - } -#endif - // Definitions for static const data members of time_base template<> const char* @@ -503,26 +411,6 @@ namespace std const money_base::pattern money_base::_S_default_pattern = { {symbol, sign, none, value} }; - template<> - const ctype<char>& - use_facet<ctype<char> >(const locale& __loc) - { - size_t __i = ctype<char>::id._M_id(); - const locale::_Impl* __tmp = __loc._M_impl; - return static_cast<const ctype<char>&>(*(__tmp->_M_facets[__i])); - } - -#ifdef _GLIBCPP_USE_WCHAR_T - template<> - const ctype<wchar_t>& - use_facet<ctype<wchar_t> >(const locale& __loc) - { - size_t __i = ctype<wchar_t>::id._M_id(); - const locale::_Impl* __tmp = __loc._M_impl; - return static_cast<const ctype<wchar_t>&>(*(__tmp->_M_facets[__i])); - } -#endif - const char __num_base::_S_atoms[] = "0123456789eEabcdfABCDF"; bool diff --git a/contrib/libstdc++/src/misc-inst.cc b/contrib/libstdc++/src/misc-inst.cc index 5576d2c..f4f2ab1 100644 --- a/contrib/libstdc++/src/misc-inst.cc +++ b/contrib/libstdc++/src/misc-inst.cc @@ -70,24 +70,7 @@ namespace std #if 1 // XXX - // 2002-05-24 These are no longer needed and should be deleted. - - // algorithm - typedef _Char_traits_match<char, char_traits<char> > char_match; - - template - const char* - find_if<const char *, char_match> - (const char *, const char *, char_match, random_access_iterator_tag); - -#ifdef _GLIBCPP_USE_WCHAR_T - typedef _Char_traits_match<wchar_t, char_traits<wchar_t> > wchar_match; - - template const wchar_t* - find_if<const wchar_t*, wchar_match> - (const wchar_t*, const wchar_t*, wchar_match, random_access_iterator_tag); -#endif - + // 2002-05-24 These are no longer needed and should eventually be deleted. template string* __uninitialized_fill_n_aux<string*, size_t, string> diff --git a/contrib/libstdc++/src/strstream.cc b/contrib/libstdc++/src/strstream.cc index 0576472..4d58565 100644 --- a/contrib/libstdc++/src/strstream.cc +++ b/contrib/libstdc++/src/strstream.cc @@ -2,22 +2,21 @@ // Copyright (C) 2001, 2002 Free Software Foundation // -// This file is part of GNU CC. -// -// GNU CC is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2, or (at your option) +// 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 +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 2, or (at your option) // any later version. -// -// GNU CC is distributed in the hope that it will be useful, + +// This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with GNU CC; see the file COPYING. If not, write to -// the Free Software Foundation, 59 Temple Place - Suite 330, -// Boston, MA 02111-1307, USA. + +// You should have received a copy of the GNU General Public License along +// with this library; see the file COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. // As a special exception, you may use this file as part of a free software // library without restriction. Specifically, if other files instantiate diff --git a/contrib/libstdc++/src/vterminate.cc b/contrib/libstdc++/src/vterminate.cc index a3543c9..26e09d1 100644 --- a/contrib/libstdc++/src/vterminate.cc +++ b/contrib/libstdc++/src/vterminate.cc @@ -2,22 +2,21 @@ // Copyright (C) 2001, 2002 Free Software Foundation // -// This file is part of GNU CC. -// -// GNU CC is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2, or (at your option) +// 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 +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 2, or (at your option) // any later version. -// -// GNU CC is distributed in the hope that it will be useful, + +// This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with GNU CC; see the file COPYING. If not, write to -// the Free Software Foundation, 59 Temple Place - Suite 330, -// Boston, MA 02111-1307, USA. + +// You should have received a copy of the GNU General Public License along +// with this library; see the file COPYING. If not, write to the Free +// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, +// USA. // As a special exception, you may use this file as part of a free software // library without restriction. Specifically, if other files instantiate |