summaryrefslogtreecommitdiffstats
path: root/contrib/libstdc++/src
diff options
context:
space:
mode:
authorkan <kan@FreeBSD.org>2002-09-17 04:04:04 +0000
committerkan <kan@FreeBSD.org>2002-09-17 04:04:04 +0000
commitd28dfe2607c93215301923596ce65ae6df3d4cd9 (patch)
treee1352a09cb44f9237c705b49ba032895f99b4cba /contrib/libstdc++/src
parent366976642281939a5ef910427ef046ec6f72af8a (diff)
downloadFreeBSD-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.am59
-rw-r--r--contrib/libstdc++/src/Makefile.in77
-rw-r--r--contrib/libstdc++/src/bitset.cc23
-rw-r--r--contrib/libstdc++/src/codecvt.cc74
-rw-r--r--contrib/libstdc++/src/concept-inst.cc23
-rw-r--r--contrib/libstdc++/src/ctype.cc153
-rw-r--r--contrib/libstdc++/src/locale.cc130
-rw-r--r--contrib/libstdc++/src/misc-inst.cc19
-rw-r--r--contrib/libstdc++/src/strstream.cc23
-rw-r--r--contrib/libstdc++/src/vterminate.cc23
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
OpenPOWER on IntegriCloud