Commit Graph

16 Commits

Author SHA1 Message Date
Jerry Quinn 3fc63c15b4 ctype_noninline.h, [...] (ctype): Initialize _M_narrow, _M_widen.
2003-12-15  Jerry Quinn  <jlquinn@optonline.net>

        * config/os/aix/ctype_noninline.h,
	config/os/bsd/freebsd/ctype_noninline.h,
	config/os/bsd/netbsd/ctype_noninline.h,
	config/os/djgpp/ctype_noninline.h,
	config/os/generic/ctype_noninline.h,
	config/os/gnu-linux/ctype_noninline.h,
	config/os/hpux/ctype_noninline.h,
	config/os/irix/irix5.2/ctype_noninline.h,
	config/os/irix/irix6.5/ctype_noninline.h,
	config/os/mingw32/ctype_noninline.h,
	config/os/newlib/ctype_noninline.h,
	config/os/qnx/qnx6.1/ctype_noninline.h,
	config/os/solaris/solaris2.5/ctype_noninline.h,
	config/os/solaris/solaris2.6/ctype_noninline.h,
	config/os/solaris/solaris2.7/ctype_noninline.h,
	config/os/vxworks/ctype_noninline.h,
	config/os/windiss/ctype_noninline.h (ctype):  Initialize
	_M_narrow, _M_widen.
	* include/bits/locale_facets.h (_M_widen, _M_widen_ok,
	_M_narrow, _M_narrow_ok): New.
	(widen, narrow): Use tables to bypass virtual functions.
	(_M_widen_init, _M_narrow_init): New.

From-SVN: r74662
2003-12-16 01:57:03 +00:00
Benjamin Kosnik 82c2e3d44a re PR libstdc++/9858 (Extra virtual functions in ctype<char>)
2003-10-21  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/9858
	* include/bits/locale_facets.h (ctype<char>): Remove
	__ctype_abstract_base.
	(ctype<char>::do_is): Remove.
	(ctype<char>::do_scan_is): Remove.
	* src/ctype.cc: Same. Inline the rest.
	* testsuite/22_locale/ctype/is/char/9858.cc: New.
	* config/os/aix/ctype_noninline.h: Adjust ctor.
	* config/os/bsd/freebsd/ctype_noninline.h: Same.
	* config/os/bsd/netbsd/ctype_noninline.h: Same.
	* config/os/djgpp/ctype_noninline.h: Same.
	* config/os/generic/ctype_noninline.h: Same.
	* config/os/gnu-linux/ctype_noninline.h: Same.
	* config/os/hpux/ctype_noninline.h: Same.
	* config/os/irix/irix5.2/ctype_noninline.h: Same.
	* config/os/irix/irix6.5/ctype_noninline.h: Same.
	* config/os/mingw32/ctype_noninline.h: Same.
	* config/os/newlib/ctype_noninline.h: Same.
	* config/os/qnx/qnx6.1/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.5/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.6/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.7/ctype_noninline.h: Same.
	* config/os/windiss/ctype_noninline.h: Same.

From-SVN: r72753
2003-10-21 14:22:43 +00:00
Benjamin Kosnik 3d7c150e3f Move from CPP to CXX.
2003-07-04  Benjamin Kosnik  <bkoz@redhat.com>

	Move from CPP to CXX.
	* include/bits/c++config: Move to GLIBCXX from GLIBCPP.
	* testsuite/Makefile.am: Same.
	* testsuite/Makefile.in: Regenerate.
	* po/Makefile.am: Same.
	* po/Makefile.in: Regenerate.
	* libsupc++/Makefile.am: Same.
	* libsupc++/Makefile.in: Regenerate.
	* libmath/Makefile.am: Same.
	* libmath/Makefile.in: Regenerate.
	* include/Makefile.am: Same.
	* include/Makefile.in: Regenerate.
	* src/Makefile.am: Same.
	* src/Makefile.in: Regenerate.
	* acconfig.h: Same.
	* configure.host: Same.
	* configure.in: Same.
	* configure: Regenerate.
	* acinclude.m4: Same.
	* aclocal.m4: Same.
	* src: Change all files in this directory.
	* testsuite: Same.
	* include: Same, standardize include guards.
	* config: Same.
	* libsupc++: Same.

From-SVN: r68958
2003-07-05 04:05:45 +00:00
Krister Walfridsson 2e8a523fa7 2003-06-27 Krister Walfridsson <cato@df.lth.se>
* config/os/bsd/netbsd/ctype_noninline.h
	(_C_ctype_): Declare.
	(ctype<char>::classic_table): Return _C_ctype_ + 1.
	(ctype<char>::ctype): Use classic_table.

From-SVN: r68584
2003-06-27 16:59:04 +00:00
Phil Edwards d32e25dffa *: Move header files up a level.
2002-06-24  Phil Edwards  <pme@gcc.gnu.org>

	* config/cpu/*/bits/*:  Move header files up a level.  Remove bits.
	* config/os/*/bits/*:  Likewise.
	* configure.in:  Update.
	* configure:  Regenerate.
	* configure.target:  Update.
	* docs/html/17_intro/porting.texi:  Update.

From-SVN: r54943
2002-06-24 05:50:58 +00:00
Benjamin Kosnik a0e073b266 ctype_noninline.h: Fix formatting.
2002-01-22  Benjamin Kosnik  <bkoz@redhat.com>

	* config/os/aix/bits/ctype_noninline.h: Fix formatting.
	* config/os/bsd/netbsd/bits/ctype_noninline.h: Fix typo.
	* config/os/bsd/freebsd/bits/ctype_noninline.h: Fix formatting.

From-SVN: r49078
2002-01-22 16:09:25 +00:00
Benjamin Kosnik 93dbe8d76d [multiple changes]
2002-01-20  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h (ctype<char>::classic_table):
	Remove definition.
	(ctype<char>::_S_ctable): Remove.
	* config/os/gnu-linux/bits/ctype_noninline.h
	(ctype<char>::_S_table): Remove definition.
	(ctype<char>::classic_table): Define.
	(ctype<char>::ctype): Replace _S_ctable with classic_table().
	* config/os/aix/bits/ctype_noninline.h: Same.
	* config/os/bsd/freebsd/bits/ctype_noninline.h: Same.
	* config/os/bsd/netbsd/bits/ctype_noninline.h: Same.
	* config/os/djgpp/bits/ctype_noninline.h: Same.
	* config/os/generic/bits/ctype_noninline.h: Same.
	* config/os/gnu-linux/bits/ctype_noninline.h: Same.
	* config/os/hpux/bits/ctype_noninline.h: Same.
	* config/os/irix/irix5.2/bits/ctype_noninline.h: Same.
	* config/os/irix/irix6.5/bits/ctype_noninline.h: Same.
	* config/os/mingw32/bits/ctype_noninline.h: Same.
	* config/os/newlib/bits/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.5/bits/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.6/bits/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.7/bits/ctype_noninline.h: Same.

2002-01-20  Danny Smith  <dannysmith@users.sourceforge.net>

	* config/os/mingw32/bits/ctype_noninline.h: Declare _ctype instead
	of _pctype. Use to define _S_ctable.  Add definition for alternate
	ctor.  Initialise _M_ctable to _S_ctable in ctors.
	(do_toupper, do_tolower): Use inline code appropriate for C-locale
	rather than ::toupper, ::tolower.

From-SVN: r49032
2002-01-21 04:08:54 +00:00
Benjamin Kosnik 8f7a401515 stl_iterator.h (reverse_iterator::_M_current): Deuglify, should be current.
2002-01-16  Benjamin Kosnik  <bkoz@redhat.com>
            Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

	* include/bits/stl_iterator.h (reverse_iterator::_M_current):
	Deuglify, should be current.
	(back_insert_iterator::_M_container): Deuglify, should be container.
	(front_insert_iterator::_M_container): Same.
	(insert_iterator::_M_container): Same.
	* testsuite/24_iterators/reverse_iterator.cc: Add check.
	* testsuite/24_iterators/back_insert_iterator.cc: Add check.
	* testsuite/24_iterators/front_insert_iterator.cc: Same.
	* testsuite/24_iterators/insert_iterator.cc: Same.

2002-01-16  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h (ctype<char>::classic_table): Make
	static.
	(ctype<char>::_M_ctable): Make static, change name to _S_ctable.
	* config/os/gnu-linux/bits/ctype_noninline.h: Define _S_ctable.
	* config/os/solaris/solaris2.7/bits/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.6/bits/ctype_noninline.h: Same.
	* config/os/solaris/solaris2.5/bits/ctype_noninline.h: Same.
	* config/os/newlib/bits/ctype_noninline.h: Same.
	* config/os/irix/irix6.5/bits/ctype_noninline.h: Same.
	* config/os/irix/irix5.2/bits/ctype_noninline.h: Same.
	* config/os/hpux/bits/ctype_noninline.h: Same.
	* config/os/djgpp/bits/ctype_noninline.h: Same.
	* config/os/bsd/netbsd/bits/ctype_noninline.h: Same.
	* config/os/bsd/freebsd/bits/ctype_noninline.h: Same.
	* config/os/aix/bits/ctype_noninline.h: Same.

	Testcase by Dietmar K�hl via Peter Schmid
	* testsuite/22_locale/ctype_members_char.cc (char>): Add test for
	classic_table().

Co-Authored-By: Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>

From-SVN: r48938
2002-01-17 03:59:42 +00:00
Benjamin Kosnik 9e5c7dba50 Named locale support for ctype<char>.
2001-12-12  Benjamin Kosnik  <bkoz@redhat.com>

	Named locale support for ctype<char>.
	* config/locale/c_locale_gnu.h (_GLIBCPP_C_LOCALE_GNU): New.
	* config/os/gnu-linux/bits/ctype_noninline.h (ctype<char>): Add
	definitions for alternate constructor.
	* config/os/solaris/solaris2.7/bits/ctype_noninline.h (ctype): Same.
	* config/os/solaris/solaris2.6/bits/ctype_noninline.h (ctype): Same.
	* config/os/solaris/solaris2.5/bits/ctype_noninline.h (ctype): Same.
	* config/os/newlib/bits/ctype_noninline.h (ctype): Same.
	* config/os/irix/irix6.5/bits/ctype_noninline.h (ctype): Same.
	* config/os/irix/irix5.2/bits/ctype_noninline.h (ctype): Same.
	* config/os/hpux/bits/ctype_noninline.h (ctype): Same.
	* config/os/generic/bits/ctype_noninline.h (ctype): Same.
	* config/os/djgpp/bits/ctype_noninline.h (ctype): Same.
	* config/os/bsd/netbsd/bits/ctype_noninline.h (ctype): Same.
	* config/os/bsd/freebsd/bits/ctype_noninline.h (ctype): Same.
	* config/os/aix/bits/ctype_noninline.h (ctype): Same.
	* include/bits/locale_facets.h (ctype<_CharT>): Remove dummy
	definitions for all virtual functions. These are now explicitly
	undefined for non-required factets, ie any non-char, non-wchar_t
	instantiations.
	* src/localename.cc (locale::_Impl::_Impl(string, size_t): Named
	locales use alternate constructor for ctype facet.
	* include/bits/locale_facets.h (ctype<char>::ctype(__c_locale, const
	mask*, bool, size_t): Add.
	(ctype<wchar_t>::ctype(__c_locale, size_t): Add.
	* src/locale.cc (ctype<wchar_t>::ctype(__c_locale, size_t)): Add
	definition.

	* testsuite/22_locale/ctype_members_char.cc (test02): Add, mark
	XFAIL for non-gnu locale models.

From-SVN: r47953
2001-12-12 23:16:35 +00:00
Benjamin Kosnik f295ecef02 limits.h: Move to...
2001-10-22  Benjamin Kosnik  <bkoz@redhat.com>

	* config/cpu/i386/bits/limits.h: Move to...
	* config/cpu/i386/bits/cpu_limits.h: ...here.
	* config/cpu/cris/bits/cpu_limits.h: Same.
	* config/cpu/powerpc/bits/cpu_limits.h: Same.
	* config/cpu/x86-64/bits/cpu_limits.h: Same.
	* config/cpu/alpha/bits/cpu_limits.h: New.
	* config/cpu/m68k/bits/cpu_limits.h: New.
	* config/cpu/s390/bits/cpu_limits.h: New.
	* config/os/aix/bits/os_defines.h: Tweaks.
	* config/os/bsd/freebsd/bits/os_defines.h: Same.
	* config/os/bsd/netbsd/bits/os_defines.h: Same.
	* config/os/djgpp/bits/os_defines.h: Same.
	* config/os/generic/bits/os_defines.h: Same.
	* config/os/gnu-linux/bits/os_defines.h: Same.
	* config/os/hpux/bits/os_defines.h: Same.
	* config/os/irix/irix5.2/bits/os_defines.h: Same.
	* config/os/irix/irix6.5/bits/os_defines.h: Same.
	* config/os/newlib/bits/os_defines.h: Same.
	* config/os/solaris/solaris2.5/bits/os_defines.h: Same.
	* config/os/solaris/solaris2.6/bits/os_defines.h: Same.
	* config/os/solaris/solaris2.7/bits/os_defines.h: Same.

	* include/bits/c++config: Remove include.
	* include/bits/limits_generic.h: Remove.
	* include/bits/std_limits.h: Include cpu_limits.h.
	* include/Makefile.am: Fixup.
	* src/limits.cc: Tweak.
	* src/limits_generic.cc: Remove.
	* src/gen-num-limits.cc: Remove.
	* mknumeric_limits: Remove.

From-SVN: r46445
2001-10-23 21:40:31 +00:00
Benjamin Kosnik 62f4333a68 ctype_inline.h (is): Same.
2000-12-19  Benjamin Kosnik  <bkoz@fillmore.redhat.com>

	* config/os/solaris/solaris2.5/bits/ctype_inline.h (is): Same.
	* config/os/solaris/solaris2.6/bits/ctype_inline.h (is): Same.
	* config/os/solaris/solaris2.7/bits/ctype_inline.h (is): Same.
	* config/os/newlib/bits/ctype_inline.h (is): Same.
	* config/os/irix/bits/ctype_inline.h (is): Same.
	* config/os/bsd/netbsd/bits/ctype_inline.h (is): Same.
	* config/os/bsd/freebsd/bits/ctype_inline.h (is): Same.
	* config/os/aix/bits/ctype_inline.h (is): Same.
	* config/os/gnu-linux/bits/ctype_inline.h (is): Revert.
	* config/os/generic/bits/ctype_inline.h (is): Non-table based
	implementation.

	* testsuite/22_locale/ctype_char_members.cc (test01): Use binary
	operator correctly.
	(test01): Check 'A' for alnum, upper, alpha.

From-SVN: r38385
2000-12-19 19:49:00 +00:00
Benjamin Kosnik 0c3a231d2f locale_facets.h (ctype<char>): Remove throw specs not in base class signature.
2000-12-13  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h (ctype<char>): Remove throw specs not in
	base class signature.
	* config/os/*/bits/ctype_inline.h (is): Same.

From-SVN: r38250
2000-12-14 09:19:56 +00:00
Benjamin Kosnik d9ab8adb37 ctype_base.h (ctype_base): Consistency with linux.
2000-12-13  Benjamin Kosnik  <bkoz@redhat.com>

	* config/os/generic/bits/ctype_base.h (ctype_base): Consistency
	with linux.
	* config/os/generic/bits/ctype_inline.h (is): Same.
	* config/os/solaris/solaris2.5/bits/ctype_inline.h (is): Same.
	* config/os/solaris/solaris2.5/bits/ctype_base.h: Same.
	* config/os/solaris/solaris2.6/bits/ctype_inline.h (is): Same.
	* config/os/solaris/solaris2.6/bits/ctype_base.h: Same.
	* config/os/solaris/solaris2.7/bits/ctype_inline.h (is): Same.
	* config/os/solaris/solaris2.7/bits/ctype_base.h: Same.
	* config/os/irix/bits/ctype_inline.h (is): Same.
	* config/os/irix/bits/ctype_base.h (ctype_base): Same.
	* config/os/aix/bits/ctype_inline.h (is): Same.
	* config/os/aix/bits/ctype_base.h (ctype_base): Same.
	* config/os/bsd/netbsd/bits/ctype_inline.h (is): Same.
	* config/os/bsd/netbsd/bits/ctype_base.h (ctype_base): Same.
	* config/os/bsd/freebsd/bits/ctype_base.h (ctype_base): Same.
	* config/os/bsd/freebsd/bits/ctype_inline.h (is): Same.
	* config/os/newlib/bits/ctype_inline.h (is): Same.
	* config/os/newlib/bits/ctype_base.h (ctype_base): Same.

	* testsuite/22_locale/ctype_char_members.cc (test01): Add tests, fix.
	* testsuite/22_locale/ctype.cc (test01): Add tests for
	ctype_base::mask bitmask features.
	* src/locale.cc: Define const static data for ctype_base.
	* config/os/gnu-linux/bits/ctype_base.h (ctype_base): Make
	ctype_base::mask type an integer type, not an enum.
	* config/os/gnu-linux/bits/ctype_inline.h (is): Implement correctly.
	* include/bits/locale_facets.h: Tweaks.

	* include/bits/ios_base.h: Formatting tweaks.

	* docs/html/17_intro/C++STYLE: Add.

From-SVN: r38243
2000-12-14 07:20:37 +00:00
Benjamin Kosnik 4716be24b5 ctype_base.h (ctype_base): Change space mask.
2000-12-07  Benjamin Kosnik  <bkoz@purist.soma.redhat.com>

	* config/os/generic/bits/ctype_base.h (ctype_base): Change space mask.

	* config/os/generic/bits/ctype_noninline.h (ctype): Remove default
	arguments in definition.
	* config/os/solaris/solaris2.7/bits/ctype_noninline.h (ctype): Same.
	* config/os/solaris/solaris2.6/bits/ctype_noninline.h (ctype): Same.
	* config/os/solaris/solaris2.5/bits/ctype_noninline.h (ctype): Same.
	* config/os/newlib/bits/ctype_noninline.h (ctype): Same.
	* config/os/irix/bits/ctype_noninline.h (ctype): Same.
	* config/os/hpux/bits/ctype_noninline.h (ctype): Same.
	* config/os/bsd/netbsd/bits/ctype_noninline.h (ctype): Same.
	* config/os/bsd/freebsd/bits/ctype_noninline.h (ctype): Same.
	* config/os/aix/bits/ctype_noninline.h (ctype): Same.

	* include/bits/locale_facets.h: Tweak.

From-SVN: r38115
2000-12-07 20:49:10 +00:00
Benjamin Kosnik 167ed88f7a locale_facets.h (ctype): Remove _Ctype_nois and _Ctype and replace with common __ctype_abstract_base.
2000-12-06  Benjamin Kosnik  <bkoz@kredhat.com>

	* include/bits/locale_facets.h (ctype): Remove _Ctype_nois and
	_Ctype and replace with common __ctype_abstract_base.
	(ctype<wchar_t>::_M_convert_to_wmask): Move to locale.cc.
	* config/os/gnu-linux/bits/ctype_noninline.h (ctype<char>::ctype):
	And here.
	* config/os/solaris/solaris2.7/bits/ctype_noninline.h (ctype): Same.
	* config/os/solaris/solaris2.6/bits/ctype_noninline.h (ctype): Same.
	* config/os/solaris/solaris2.5/bits/ctype_noninline.h (ctype): Same.
	* config/os/newlib/bits/ctype_noninline.h (ctype): Same.
	* config/os/irix/bits/ctype_noninline.h (ctype): Same.
	* config/os/hpux/bits/ctype_noninline.h (ctype): Same.
	* config/os/generic/bits/ctype_noninline.h (ctype): Same.
	* config/os/aix/bits/ctype_noninline.h (ctype): Same.
	* config/os/bsd/netbsd/bits/ctype_noninline.h (ctype): Same.
	* config/os/bsd/freebsd/bits/ctype_noninline.h (ctype): Same.
	* src/locale-inst.cc: Clean instantiations.
	* src/locale.cc (ctype<char>): Add definitions here.
	(ctype<wchar_t>::_M_wmask): Move definitions here.

	* config/os/generic/bits/ctype_inline.h (ctype<char>::is):
	Implement in a generic way, with only "C" functionality and no
	knowlege of the target os.
	* config/os/generic/bits/os_defines.h: Change comments to C++ style.
	* testsuite/22_locale/ctype_char_members.cc (test01): Add tests.

	* include/bits/codecvt.h (ctype_byname): Remove specializations,
	as not required.
	* include/bits/localefwd.h (codecvt_byname): And here.
	* src/codecvt.cc: Remove codecvt_byname specializations.

	* include/c/bits/std_cstdio.h: Include c++config.h.

From-SVN: r38100
2000-12-07 06:44:49 +00:00
Benjamin Kosnik f502ff4fc8 acinclude.m4: Change up to reflect new directory organization.
2000-12-05  Benjamin Kosnik  <bkoz@fillmore.redhat.com>

	* acinclude.m4: Change up to reflect new directory organization.
	Add in bits for NetBSD.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config/os/bsd: New directory.
	* config/os/netbsd: Move to...
	* config/os/bsd/netbsd: ...here.
	* config/os/freebsd: Move to...
	* config/os/bsd/freebsd: ...here.

From-SVN: r38055
2000-12-05 23:25:08 +00:00