Commit Graph

247 Commits

Author SHA1 Message Date
Phil Edwards
be3996918f re PR libstdc++/2054 (g++-3 rejects legal code, accepted by g++-2.95.2 (functors))
2001-12-28  Phil Edwards  <pme@gcc.gnu.org>

	PR libstdc++/2054
	* include/bits/stl_algo.h (lower_bound):  Relax concept checks.
	* testsuite/ext/concept_checks.cc:  New file.

From-SVN: r48351
2001-12-28 21:57:47 +00:00
Paolo Carlini
2c1bc4ebc9 stl_algo.h (count returning void, [...]): Move to...
2001-12-28  Paolo Carlini  <pcarlini@unitus.it>

        * include/bits/stl_algo.h (count returning void,
        count_if returning void, __random_sample, random_sample,
        random_sample_n, __is_heap, is_heap, is_sorted):  Move to...
        * include/ext/algorithm:  ...here, new file.
	* include/Makefile.am (ext_headers):  Add new file.
        * include/Makefile.in:  Regenerate.
	* testsuite/ext/headers.cc:  Include <ext/algorithm>.

From-SVN: r48350
2001-12-28 18:46:54 +00:00
Paolo Carlini
bf95248579 basic_string.h (insert(__pos, __s, __n)): Optimize by avoiding temporaries and working in-place when possible.
2001-12-28  Paolo Carlini  <pcarlini@unitus.it>
            Nathan Myers  <ncm@cantrip.org>

	* include/bits/basic_string.h (insert(__pos, __s, __n)):
	Optimize by avoiding temporaries and working in-place when possible.
	(insert(__pos1, __str)): Call insert(__pos1, __str, __pos2, __n).
	(insert(__pos1, __str, __pos2, __n)): Call insert(__pos, __s, __n).
	* testsuite/21_strings/insert.cc (test02): New testcases.

Co-Authored-By: Nathan Myers <ncm@cantrip.org>

From-SVN: r48345
2001-12-28 14:00:18 +00:00
Phil Edwards
bb2ae697ab testsuite_hooks.h (gnu_counting_struct): Add.
2001-12-27  Phil Edwards  <pme@gcc.gnu.org>

	* testsuite/testsuite_hooks.h (gnu_counting_struct):  Add.
	* testsuite/23_containers/deque_ctor.cc:  New file.

From-SVN: r48332
2001-12-27 21:51:28 +00:00
Phil Edwards
2d53d9ebe7 re PR libstdc++/3829 (missing template instantiations)
2001-12-27  Phil Edwards  <pme@gcc.gnu.org>

	PR libstdc++/3829
	* src/misc-inst.cc:  Many additional I/O-related instantiations.
	* testsuite/27_io/instantiations.cc:  New file.

From-SVN: r48324
2001-12-27 07:26:00 +00:00
Benjamin Kosnik
f591eb23d1 insert_iterator.cc (test02): Add.
2001-12-26  Benjamin Kosnik  <bkoz@waller.constant.com>

	* testsuite/24_iterators/insert_iterator.cc (test02): Add.
	* testsuite/24_iterators/front_insert_iterator.cc (test02): Add.
	* testsuite/24_iterators/back_insert_iterator.cc (test02): Add.
	* testsuite/24_iterators/reverse_iterator.cc (test02): Add.

	* include/bits/stl_iterator.h (reverse_iterator): Uglify member
	current to _M_current.
	(back_insert_iterator): Ulify member container to _M_container.
	(front_insert_iterator): Same.
	(insert_iterator): Same.

From-SVN: r48318
2001-12-26 21:56:17 +00:00
David Billinghurst
c6d96f20fd libstdc++-v3-dg.exp: Append .exe to executable filenames
2001-12-19  David Billinghurst <David.Billinghurst@riotinto.com>

        libstdc++-v3/5148
        * testsuite/lib/libstdc++-v3-dg.exp:  Append .exe to
        executable filenames

From-SVN: r48167
2001-12-18 23:34:06 +00:00
David Billinghurst
9e78e45a8d prune.exp: New file
2001-12-17  David Billinghurst <David.Billinghurst@riotinto.com>

	libstdc++/5136
	* testsuite/lib/prune.exp: New file
	* testsuite/lib/libstdc++-v3-dg.exp: Use it

From-SVN: r48133
2001-12-17 22:39:00 +00:00
Phil Edwards
e9c46bb75e basic_file.h (__basic_file::fd): New function.
2001-12-17  Phil Edwards  <pme@gcc.gnu.org>

	* include/bits/basic_file.h (__basic_file::fd):  New function.
	* config/io/basic_file_stdio.h (__basic_file::fd):  Define.
	* include/bits/std_fstream.h (basic_filebuf::fd):  New function.
	* include/bits/fstream.tcc (basic_filebuf::fd):  Define.
	* testsuite/27_io/filebuf_members.cc (test_02):  New test.

From-SVN: r48107
2001-12-17 17:08:57 +00:00
Paolo Carlini
4b428ee570 assign.cc (test01): Add tests.
2001-12-16  Paolo Carlini  <pcarlini@unitus.it>

	* testsuite/21_strings/assign.cc (test01): Add tests.

From-SVN: r48078
2001-12-16 20:21:20 +00:00
Paolo Carlini
bd1f473825 2001-12-15 Paolo Carlini <pcarlini@unitus.it>
Nathan Myers  <ncm@cantrip.org>

        * include/bits/basic_string.h
	(assign(__str, __pos, __n), assign(__s, __n)):  Optimize
	by avoiding unnecessary temporaries.
	(assign(__s)): Call assign(__s, __n).
	* include/bits/basic_string.tcc (_M_replace_safe): Adjust comment.
	* include/bits/std_string.h: include stl_function.h.
        * testsuite/21_strings/assign.cc (test02, test03): New tests.

Co-Authored-By: Nathan Myers <ncm@cantrip.org>

From-SVN: r48053
2001-12-16 01:02:17 +00:00
Benjamin Kosnik
def9790d51 Clean up initialization and simplfy caching of underlying "C" locale objects.
2001-12-14  Benjamin Kosnik  <bkoz@redhat.com>

	Clean up initialization and simplfy caching of underlying "C"
	locale objects.
	* src/localename.cc (locale::_Impl::_Impl(string, size_t):
	Unconditionally create __clocale object for all named locales,
	including "C" and "POSIX".
	* config/locale/c_locale_generic.cc
	(locale::facet::_S_create_c_locale): Always set __cloc to zero.
	* config/locale/c_locale_gnu.cc: Always delete.
	* include/bits/localefwd.h (locale::facet::_S_c_locale): New.
	* src/locale.cc (locale::classic()): Initialize
	locale::facet::_S_c_locale.
	(locale::facet::_S_c_locale): Define.

	* include/bits/locale_facets.h: Add ctype_byname<wchar_t> ctor
	specialization.
	* src/locale.cc: Add definition here.
	* config/os/gnu-linux/bits/ctype_inline.h: Tweak.
	* config/os/gnu-linux/bits/ctype_noninline.h: Adjust initializations.
	* include/bits/locale_facets.h (ctype<char>::_M_c_locale_ctype): Add.
	Adjust ctors, dtors.
	(ctype<char>::_M_toupper): Remove const&.
	(ctype<char>::_M_tolower): Remove const&.
	(ctype<char>::_M_ctable): Remove const&.

	* include/bits/locale_facets.h (collate): Clean up initialization
	of _M_c_locale_collate in ctors and dtors.
	* config/locale/collate_members_gnu.cc: Always use extended
	functions.

	* include/bits/locale_facets.h (messages): Clean up inits in ctor/dtor.
	(messages_byname): Same.
	* config/locale/messages_members_generic.h (messages::~messages):
	Remove.
	* config/locale/messages_members_gnu.h: Same.

	* include/bits/localefwd.h: Clean. Move dtor definitions to
	* src/locale.cc: Here.
	* testsuite/22_locale/facet.cc: Fix spelling.

	Named locale support for ctype<wchar_t>.
        * acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add variable
        ctype_members_* bits.
        * aclocal.m4: Regenerate.
        * configure: Regenerate.
        * src/Makefile.am (sources): Add ctype.cc.
        * src/Makefile.in: Regenerate.
        * config/locale/ctype_members_generic.cc: New file.
        * config/locale/ctype_members_gnu.cc: New file.
        * src/locale.cc: Remove ctype<wchart_t> definitions.

From-SVN: r48034
2001-12-15 07:05:04 +00:00
Benjamin Kosnik
85230e5255 locale.cc (locale::locale(const char*)): Deal with locales named "".
2001-12-13  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/3679
	* src/locale.cc (locale::locale(const char*)): Deal with locales
	named "".
	* testsuite/22_locale/ctor_copy_dtor.cc (test01): Modify.

From-SVN: r47968
2001-12-13 11:12:56 +00:00
Paolo Carlini
897bb55fe3 ropeimpl.h (rope::_S_leaf_concat_char_iter, [...]): Adjust implicit typename.
2001-12-12  Paolo Carlini  <pcarlini@unitus.it>

	* include/ext/ropeimpl.h (rope::_S_leaf_concat_char_iter,
	_S_destr_leaf_concat_char_iter, _S_tree_concat, _S_concat_char_iter,
	_S_destr_concat_char_iter, _S_concat, _S_substring, _S_balance)
	: Adjust implicit typename.
	* include/ext/stl_rope.h (_Rope_iterator::operator=, rope::npos):
	Adjust implicit typename.
	* testsuite/27_io/streambuf.cc: Adjust implicit typename.

From-SVN: r47958
2001-12-13 00:41:03 +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
Philip Martin
cb93dfb4a0 Ross Smith <r-smith@ihug.co.nz> Paolo Carlini <pcarlini@unitus.it>
2001-12-12  Philip Martin  <philip@codematters.co.uk>
            Ross Smith     <r-smith@ihug.co.nz>
            Paolo Carlini  <pcarlini@unitus.it>

	libstdc++/5045
	* include/bits/std_limits.h (defines, numeric_limits<bool>::digits10):
	Fix digits10 values for integral types.
	* include/bits/locale_facets.tcc (num_get::do_get for integral types):
	Tweak _M_extract_int call.
	* testsuite/27_io/istream_extractor_arith.cc (test13, test12_aux):
	Tweak overflowing number of digits.
	* testsuite/18_support/numeric_limits.cc (test03): New testcase.

Co-Authored-By: Paolo Carlini <pcarlini@unitus.it>
Co-Authored-By: Ross Smith <r-smith@ihug.co.nz>

From-SVN: r47947
2001-12-12 20:23:30 +00:00
Phil Edwards
3c612a619d allocators.cc: New file.
2001-12-11  Phil Edwards  <pme@gcc.gnu.org>

	* testsuite/ext/allocators.cc:  New file.

From-SVN: r47888
2001-12-11 19:04:58 +00:00
Benjamin Kosnik
2a74463013 locale_facets.h (__num_base::_S_scale_hex): Add.
2001-12-09  Benjamin Kosnik  <bkoz@redhat.com>
	    Philip Martin <pmartin@uklinux.net>

	* include/bits/locale_facets.h (__num_base::_S_scale_hex): Add.
	(__num_base::_S_scale_oct): Add.
	* src/locale.cc: Add definitions.
	* testsuite/27_io/istream_extractor_arith.cc (main): Call test13.

	* testsuite/testsuite_hooks.h: Remove duplicate VERIFY define.

Co-Authored-By: Philip Martin <pmartin@uklinux.net>

From-SVN: r47837
2001-12-10 08:41:03 +00:00
Benjamin Kosnik
823b4f7daa [multiple changes]
2001-12-06  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/3720
	* include/bits/locale_facets.tcc (num_put): Clean.
	(num_get::_M_extract_float): Change argument to string.
	(num_get::do_get(float)): Fixup.
	(num_get::do_get(double)): Same.
	(num_get::do_get(long double)): Same.
	(num_get::_M_extract_int): Add maximum length parameter, __max.
	(num_get::_M_extract_float): Correct zeros, use string.
	* include/bits/locale_facets.h (num_get::_M_extract_float): Change
	declaration here.
	* src/locale.cc (__num_base::_S_atoms): Remove x, X.
	* testsuite/27_io/istream_extractor_arith.cc (test13): Add.

2001-12-06  Philip Martin  <pmartin@uklinux.net>

	* testsuite/27_io/istream_extractor_arith.cc (test12): Add
	tests for excess input digits.

From-SVN: r47743
2001-12-07 02:58:36 +00:00
Benjamin Kosnik
0228de0c4f [multiple changes]
2001-12-05  Benjamin Kosnik  <bkoz@redhat.com>

	DR/282
	* include/bits/locale_facets.tcc (num_put::_M_widen_float): Add
	grouping to floating point types.
	* testsuite/27_io/ostream_inserter_arith.cc (test02): Add test.

2001-12-04  Paolo Carlini <pcarlini@unitus.it>

        libstdc++/4402
        * testsuite/27_io/ostream_inserter_arith.cc (test02): add testcase
	from the PR.
        * include/bits/locale_facets.tcc (num_put::_M_convert_float):
        Deal properly with long ios_base::fixed floats.
        (num_put::_M_widen_float): use
	__len in __builtin_alloca call.

From-SVN: r47696
2001-12-05 22:07:36 +00:00
Benjamin Kosnik
5b5e609d03 [multiple changes]
2001-12-04  Benjamin Kosnik  <bkoz@redhat.com>

	* src/Makefile.am (sources): Add ext-inst.cc.
	* src/Makefile.in: Regenerate.
	* src/ext-inst.cc: New file.
	* include/bits/stl_threads.h: Format.
	* src/globals.cc: Add instantiation for _S_swap_lock.

	* testsuite/18_support/numeric_limits.cc: Add numeric_limits<B>
	instantiation.

2001-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* testsuite/22_locale/numpunct_members_wchar_t.cc: Only compile
	and execute test01 if _GLIBCPP_USE_WCHAR_T is defined.
	* testsuite/26_numerics/complex_inserters_extractors.cc: Provide
	for explicit instantiation of class std::basic_string<char,
	gnu_char_traits, std::allocator<char> >.

From-SVN: r47622
2001-12-04 20:13:41 +00:00
Benjamin Kosnik
dbb27f267a collate.cc: Compile-only.
2001-12-03  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/collate.cc: Compile-only.
	* testsuite/22_locale/time_get.cc: Same.
	* testsuite/22_locale/time_put.cc: Same.
	* testsuite/22_locale/numpunct.cc: Same.
	* testsuite/22_locale/num_put.cc: Same.
	* testsuite/22_locale/num_get.cc: Same.
	* testsuite/22_locale/moneypunct.cc: Same.
	* testsuite/22_locale/money_get.cc: Same.
	* testsuite/22_locale/messages.cc: Same.
	* testsuite/22_locale/ctype.cc: Same.

From-SVN: r47592
2001-12-04 07:15:01 +00:00
Paolo Carlini
b334004616 locale_facets.tcc (__pad): Add bool parameter to correctly pad internal-adjusted const char*-type objects.
2001-11-29  Paolo Carlini  <pcarlini@unitus.it>

	libstdc++/3655
	* include/bits/locale_facets.tcc (__pad): Add bool parameter to
	correctly pad internal-adjusted const char*-type objects.
	* include/bits/locale_facts.tcc (num_put::_M_insert): Update call.
	* include/bits/ostream.tcc (operator<<(_CharT , char, const
	_CharT*, const char*, const basic_string&): Update calls.
	* src/locale-inst.tcc: Update declarations.
	* testsuite/27_io/ostream_inserter_arith.cc (test04): Add test.

From-SVN: r47459
2001-11-29 22:31:02 +00:00
Paolo Carlini
5a4c85886a locale_facets.tcc (__pad): correctly output hex numbers internally aligned.
2001-11-28  Paolo Carlini  <pcarlini@unitus.it>

	libstdc++/3655
	* include/bits/locale_facets.tcc (__pad): correctly output hex
	numbers internally aligned.
	* testsuite/27_io/ostream_inserter_arith.cc: Add testcase.

From-SVN: r47433
2001-11-29 00:27:54 +00:00
Benjamin Kosnik
074a8e74dd locale_facets.tcc: Formatting tweaks.
2001-11-27  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.tcc: Formatting tweaks.

	* testsuite/23_containers/map_operators.cc: Don't xfail.
	* testsuite/23_containers/set_operators.cc: Same.
	* testsuite/backward/header_iterator_h.cc: Pass in -Wno-deprecated.
	* testsuite/backward/header_deque_h.cc: Same.

From-SVN: r47401
2001-11-28 06:53:29 +00:00
Benjamin Kosnik
5fd0af8754 locale_facets.tcc: Formatting tweaks.
2001-11-27  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.tcc: Formatting tweaks.

	* testsuite/23_containers/map_operators.cc: Don't xfail.
	* testsuite/23_containers/set_operators.cc: Same.

From-SVN: r47400
2001-11-28 06:35:00 +00:00
Benjamin Kosnik
ec9d6e9f45 Numeric facets cleanup.
2001-11-27  Benjamin Kosnik  <bkoz@redhat.com>

	Numeric facets cleanup.
	* include/bits/locale_facets.h (__num_base::_S_atoms): Add, remove
	+ and - signs.
	(__num_base::_M_zero): Add
	(__num_base::_M_e): Add.
	(__num_base::_M_E): Add.
	* include/bits/locale_facets.tcc (num_get::_M_extract): Remove.
	(num_get::_M_extract_float): New.
	(num_get::_M_extract_int): New.
	* src/locale.cc (num_get::_M_extract): Remove.

	* include/bits/locale_facets.tcc (num_put::_M_insert_float):
	Simplify, use _M_insert.
	(num_put::do_put(bool)): Simplify, remove __pad.
	(__pad): Remove.
	(__pad_output): Change to __pad.
	* include/bits/ostream.tcc: And here.
	* src/locale-inst: Remove instantiations.

	* include/bits/locale_facets.h: Move helper functions in to class
	num_put.
	(num_put::_M_insert_float): Same, for __output_integer.
	(num_put::_M_insert_int): Same, for __output_float.
	(num_put::_M_insert): New.
	(__num_base): Add.
	(__num_base::_S_format_float): Move
	__build_float_format into class __num_base.
	(__num_base::_S_format_int): Move __build_int_format into class
	__num_base.
	* include/bits/locale_facets.tcc (__group_digits): Change to
	(__add_grouping): This.
	* src/locale-inst.cc: And here. Tweak instantiations.
	* src/misc-inst.cc: Remove instantiations.

	* include/bits/ostream.tcc (__pad_char): Rename, adjust inserters
	for new calling conventions, move to...
	* include/bits/locale_facets.tcc (__pad_output): Here. Adjust
	signature to make it useful for both ostream and num_put.
	(__pad_numeric): Remove.
	* src/misc-inst.cc: Remove instantiations.
	* src/locale-inst.cc: Same.

	* include/bits/locale_facets.h (_Numeric_get): Remove.
 	(_Numeric_put): Remove.
	(num_get::get(short)): Remove.
	(num_get::get(int)): Remove.
	(num_get::do_get(short)): Remove.
	(num_get::do_get(int)): Remove.
	* include/bits/istream.tcc (istream::operator>>(short)): Fix as
	per DR 118.
	(istream::operator>>(int)): Same.

	* include/bits/locale_facets.h (_Format_cache): Remove.
	* include/bits/locale_facets.tcc: Same.
	* src/locale.cc: Same.
	* src/locale-inst.cc: Same.
	* include/bits/ostream.tcc: Same.
	* src/ios.cc (ios_base::imbue): Remove here as well.

	* testsuite/22_locale/num_get.cc: New file.
	* testsuite/22_locale/num_get_members_char.cc: New file.
	* testsuite/22_locale/num_get_members_wchar_t.cc: New.
	* testsuite/22_locale/numpunct_members_wchar_t.cc: New file.
	* testsuite/22_locale/num_put.cc: New file.
	* testsuite/22_locale/num_put_members_char.cc: New file.
	* testsuite/22_locale/num_put_members_wchar_t.cc: New file.
	* testsuite/27_io/ostream_inserter_arith.cc: Fix.
	* testsuite/27_io/istream_extractor_arith.cc: Fix.

From-SVN: r47399
2001-11-28 06:29:55 +00:00
Benjamin Kosnik
86ade44cb2 Numeric facets cleanup.
2001-11-27  Benjamin Kosnik  <bkoz@redhat.com>

	Numeric facets cleanup.
	* include/bits/locale_facets.h (__num_base::_S_atoms): Add, remove
	+ and - signs.
	(__num_base::_M_zero): Add
	(__num_base::_M_e): Add.
	(__num_base::_M_E): Add.
	* include/bits/locale_facets.tcc (num_get::_M_extract): Remove.
	(num_get::_M_extract_float): New.
	(num_get::_M_extract_int): New.
	* src/locale.cc (num_get::_M_extract): Remove.

	* include/bits/locale_facets.tcc (num_put::_M_insert_float):
	Simplify, use _M_insert.
	(num_put::do_put(bool)): Simplify, remove __pad.
	(__pad): Remove.
	(__pad_output): Change to __pad.
	* include/bits/ostream.tcc: And here.
	* src/locale-inst: Remove instantiations.

	* include/bits/locale_facets.h: Move helper functions in to class
	num_put.
	(num_put::_M_insert_float): Same, for __output_integer.
	(num_put::_M_insert_int): Same, for __output_float.
	(num_put::_M_insert): New.
	(__num_base): Add.
	(__num_base::_S_format_float): Move
	__build_float_format into class __num_base.
	(__num_base::_S_format_int): Move __build_int_format into class
	__num_base.
	* include/bits/locale_facets.tcc (__group_digits): Change to
	(__add_grouping): This.
	* src/locale-inst.cc: And here. Tweak instantiations.
	* src/misc-inst.cc: Remove instantiations.

	* include/bits/ostream.tcc (__pad_char): Rename, adjust inserters
	for new calling conventions, move to...
	* include/bits/locale_facets.tcc (__pad_output): Here. Adjust
	signature to make it useful for both ostream and num_put.
	(__pad_numeric): Remove.
	* src/misc-inst.cc: Remove instantiations.
	* src/locale-inst.cc: Same.

	* include/bits/locale_facets.h (_Numeric_get): Remove.
 	(_Numeric_put): Remove.
	(num_get::get(short)): Remove.
	(num_get::get(int)): Remove.
	(num_get::do_get(short)): Remove.
	(num_get::do_get(int)): Remove.
	* include/bits/istream.tcc (istream::operator>>(short)): Fix as
	per DR 118.
	(istream::operator>>(int)): Same.

	* include/bits/locale_facets.h (_Format_cache): Remove.
	* include/bits/locale_facets.tcc: Same.
	* src/locale.cc: Same.
	* src/locale-inst.cc: Same.
	* include/bits/ostream.tcc: Same.
	* src/ios.cc (ios_base::imbue): Remove here as well.

	* testsuite/22_locale/num_get.cc: New file.
	* testsuite/22_locale/num_get_members_char.cc: New file.
	* testsuite/22_locale/num_get_members_wchar_t.cc: New.
	* testsuite/22_locale/numpunct_members_wchar_t.cc: New file.
	* testsuite/22_locale/num_put.cc: New file.
	* testsuite/22_locale/num_put_members_char.cc: New file.
	* testsuite/22_locale/num_put_members_wchar_t.cc: New file.
	* testsuite/27_io/ostream_inserter_arith.cc: Fix.
	* testsuite/27_io/istream_extractor_arith.cc: Fix.

From-SVN: r47397
2001-11-28 04:07:11 +00:00
Joseph Myers
c5504edb75 ChangeLog, [...]: Fix spelling errors.
* ChangeLog, docs/doxygen/maint.cfg.in, docs/doxygen/user.cfg.in,
	docs/doxygen/doxygroups.cc, docs/doxygen/Intro.3,
	docs/html/17_intro/BUGS, docs/html/17_intro/C++STYLE,
	docs/html/17_intro/CHECKLIST, docs/html/17_intro/DESIGN,
	docs/html/17_intro/howto.html, docs/html/17_intro/porting.html,
	docs/html/17_intro/porting.texi, docs/html/18_support/howto.html,
	docs/html/19_diagnostics/howto.html, docs/html/20_util/howto.html,
	docs/html/21_strings/howto.html,
	docs/html/23_containers/howto.html,
	docs/html/26_numerics/howto.html, docs/html/27_io/howto.html,
	docs/html/27_io/binary_iostreams_kuehl.txt,
	docs/html/ext/sgiexts.html, docs/html/faq/index.html,
	docs/html/faq/index.txt, testsuite/24_iterators/iterator.cc,
	include/bits/basic_file.h, include/bits/locale_facets.h,
	include/bits/locale_facets.tcc, include/bits/std_sstream.h,
	include/ext/ropeimpl.h, include/ext/stl_rope.h,
	libsupc++/tinfo.cc, libsupc++/cxxabi.h, libsupc++/typeinfo,
	libsupc++/eh_throw.cc, acinclude.m4, aclocal.m4, configure,
	configure.target, ChangeLog-2000: Fix spelling errors.

From-SVN: r47291
2001-11-23 16:29:02 +00:00
Stephen M. Webb
1fc610939a list_capacity.cc: New file.
2001-11-22  Stephen M. Webb  <stephen@bregmasoft.com>

        * testsuite/23_containers/list_capacity.cc: New file.
        * testsuite/23_containers/list_ctor.cc: New file.
        * testsuite/23_containers/list_modifiers.cc: New file.
        * testsuite/23_containers/list_operators.cc: New file.

2001-11-22  Stephen M. Webb  <stephen@bregmasoft.com>

	* include/bits/stl_list.h: Reformatted according to C++STYLE rules.
	(size): Replaced nonstandard distance() call with the standard one.
	(transfer): Uglified to _M_transfer.

From-SVN: r47277
2001-11-22 19:19:23 +00:00
Paolo Carlini
dcc61724f1 re PR libstdc++/4548 (When reserving a string to become smaller, program crashes)
2001-11-21  Paolo Carlini  <pcarlini@unitus.it>

	PR libstdc++/4548
	* include/bits/basic_string.tcc (basic_string::reserve):  Never shrink
	below the current size.
	* testsuite/21_strings/capacity.cc (test02):  Add test.

From-SVN: r47246
2001-11-21 22:04:53 +00:00
Phil Edwards
1b4a6975f7 Intro.3: More notes.
2001-11-19  Phil Edwards  <pme@gcc.gnu.org>

	* docs/doxygen/Intro.3:  More notes.
	* docs/doxygen/style.css:  Update to default style from Doxygen 1.2.10.
	* include/bits/stl_algobase.h:  Add doxygen hooks for functions.
	* include/ext/hash_map:  Add @file hook.
	* include/ext/hash_set:  Likewise.
	* include/ext/rope:  Likewise.
	* include/ext/ropeimpl.h:  Likewise.
	* include/ext/slist:  Likewise.
	* include/ext/stl_hash_fun.h:  Likewise.
	* include/ext/stl_hashtable.h:  Likewise.
	* include/ext/stl_rope.h:  Likewise.

	* docs/html/17_intro/license.html:  Remove "experimental" sentence.
	* docs/html/19_diagnostics/howto.html:  Document new verbose
	terminate handler.
	* testsuite/27_io/filebuf.cc:  Fix comment, move tweakable parameter
	to more visible (closer to description) position.

	* libsupc++/eh_type.cc:  Formatting tweak.
	* libsupc++/exception:  Likewise.
	* src/vterminate.cc:  Likewise.

	* docs/html/17_intro/porting.html:  Regenerate.
	* docs/html/faq/index.txt:  Regenerate.

From-SVN: r47193
2001-11-20 00:51:37 +00:00
Paolo Carlini
2dc8835ac8 ios_manip_fmtflags.cc: Fix for non-interactive output.
2001-11-01  Paolo Carlini  <pcarlini@unitus.it>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/ios_manip_fmtflags.cc: Fix for non-interactive
	output.
	* include/bits/locale_facets.tcc (num_put::do_put(bool)): Fix.

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>

From-SVN: r46709
2001-11-02 03:48:09 +00:00
Benjamin Kosnik
c7e2dba59a codecvt.h: Add virtual member function declarations.
2001-10-31  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/4749
	* include/bits/codecvt.h: Add virtual member function declarations.
	* src/codecvt.cc: Tweaks.
	* testsuite/22_locale/codecvt.cc: Test compilation only,
	non-required facets not required to have linkage.

From-SVN: r46685
2001-10-31 20:05:33 +00:00
Paolo Carlini
9a304d1766 basic_string.h: Tweaks.
2001-10-30  Paolo Carlini  <pcarlini@unitus.it>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/basic_string.h: Tweaks.
	* include/bits/basic_string.tcc (string::_M_replace(iterator,
	iterator, _ForwardIter, _ForwardIter, forward_iterator_tag): Fix.
	* src/string-inst.cc: Tweaks, add instantiation.
	* testsuite/21_strings/replace.cc (test02): Add test.
	* testsuite/21_strings/assign.cc (test01): New file.

0

Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>

From-SVN: r46674
2001-10-31 08:27:20 +00:00
Benjamin Kosnik
99e9125d77 fstream.tcc (filebuf::showmanyc): Simplify.
2001-10-29  Benjamin Kosnik  <bkoz@redhat.com>

	libstdc++/3647
	* include/bits/fstream.tcc (filebuf::showmanyc): Simplify.
	* testsuite/27_io/filebuf.cc (test07): New test.
	(test03): Modify showmanyc test.

From-SVN: r46610
2001-10-29 19:29:29 +00:00
Benjamin Kosnik
322821b9ad Make -fno-exceptions work.
2001-10-23  Benjamin Kosnik  <bkoz@redhat.com>

	Make -fno-exceptions work.
	* config/locale/c_locale_gnu.cc: Use functexcept.
	* include/bits/c++config (__stl_assert): Remove.
	(__STL_USE_EXCEPTIONS): Same.
	(__STL_TRY): Same.
	(__STL_CATCH_ALL): Same.
	(__STL_THROW): Same.
	(__STL_RETHROW): Same.
	(__STL_NOTHROW): Same.
	(__STL_UNWIND): Same.
	* include/bits/pthread_allocimpl.h: Fix.
	* include/bits/std_bitset.h: Same.
	* include/bits/std_list.h: Same.
	* include/bits/std_memory.h: Same.
	* include/bits/std_queue.h: Same.
	* include/bits/stl_alloc.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_queue.h: Same.
	* include/bits/stl_tempbuf.h: Same.
	* include/bits/stl_tree.h: Same.
	* include/bits/stl_uninitialized.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/ext/ropeimpl.h: Same.
	* include/ext/slist: Same.
	* include/ext/stl_hashtable.h: Same.
	* include/ext/stl_rope.h: Same.
	* libsupc++/new_op.cc: Include cstdlib.
	* libsupc++/eh_personality.cc: Add exception_defines include. Use
	__throw_exception_again, tweak.
	* libsupc++/eh_aux_runtime.cc: Include stdlib for abort.
	* libsupc++/vec.cc: Tweak.
	* src/functexcept.cc: Remove unused arguments.
	* testsuite/23_containers/bitset_members.cc: Tweak.

From-SVN: r46455
2001-10-24 02:37:56 +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
Dimitris Vyzovitis
8bf4eeece3 stl_threads.h (_Atomic_swap): New function.
* include/bits/stl_threads.h (_Atomic_swap): New function.
	    (_Swap_lock_struct<__dummy>::_S_swap_lock): New data.
	    * testsuite/ext/rope.cc: New file.

From-SVN: r45999
2001-10-03 21:19:31 +00:00
Benjamin Kosnik
da5c0f6ef5 time_members_gnu.h: Remove.
2001-10-02  Benjamin Kosnik  <bkoz@redhat.com>

	* config/locale/time_members_gnu.h: Remove.
	* config/locale/time_members_generic.h: Remove.
	* config/locale/time_members_gnu.cc (__timepunct::_M_put_helper): Add.
	* config/locale/time_members_generic.cc: Same.
	* include/bits/locale_facets.h: Add data members.
	(__timepunct::_M_put_helper): Change signature.
	(__timepunct::_M_date_formats): Same.
	(__timepunct::_M_time_formats): Same.
	(__timepunct::_M_ampm): Add.
	(__timepunct::_M_date_time_formats): Add.
	(time_get::_M_extract_via_format): Add.
	(time_get::_M_extract_time): Change to...
	(time_get::_M_extract_num): ... this, modify signature.
	* include/bits/locale_facets.tcc (time_get::do_get_year): Fix.
	(time_get::do_get_time): Fix.
	(time_get::do_get_date): Fix.

	* acinclude.m4: Remove CTIME_H.
	* aclocal.m4: Regenerate.
	* include/Makefile.am: Same.
	* include/Makefile.in: Regenerate.
	* configure: Regenerate.

	* testsuite/22_locale/time_get_members_char.cc: Fix.
	* testsuite/22_locale/time_get_members_wchar_t.cc: Add.
	* testsuite/22_locale/time_put_members_wchar_t.cc: Add.

From-SVN: r45966
2001-10-02 18:44:50 +00:00
Benjamin Kosnik
1ab656771a time_members_gnu.h (__timepunct::_M_get_helper): Add.
2001-09-28  Benjamin Kosnik  <bkoz@redhat.com>

	* config/locale/time_members_gnu.h (__timepunct::_M_get_helper): Add.
	(__timepunct::_M_put_helper): Add.
	* config/locale/time_members_generic.h: Same.
	* include/bits/locale_facets.h (__match_parallel): Remove. Format.
	(__timepunct): Add data members.
	(__timepunct::_M_days): Add.
	(__timepunct::_M_days_abbreviated): Add.
	(__timepunct::_M_months): Add.
	(__timepunct::_M_months_abbreviated): Add.
	(__timepunct::_M_initialize_timepunct): Add.
	* include/bits/locale_facets.tcc: Same.
	* src/locale-inst.cc: Remove instantiations for __match_parallel.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add CTIME_CC.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/22_locale/time_put_members_char.cc: Mark XFAIL.
	* testsuite/22_locale/time_put_members_char.cc (test01): New file.
	* testsuite/22_locale/time_get.cc: New file.

From-SVN: r45868
2001-09-28 23:44:48 +00:00
Rainer Orth
c20d89f553 libstdc++-v3-dg.exp (libstdc++-v3-init): Use correct multilib builddir.
* testsuite/lib/libstdc++-v3-dg.exp (libstdc++-v3-init): Use
	correct multilib builddir.
	Properly locate libgcc_s.

From-SVN: r45864
2001-09-28 19:42:12 +00:00
Phil Edwards
4c1805d702 c_strings.cc (test01, test02): Increase `carray' size.
2001-09-25  Phil Edwards  <pme@gcc.gnu.org>

	* testsuite/21_strings/c_strings.cc (test01, test02):  Increase
	`carray' size.

From-SVN: r45817
2001-09-26 01:45:49 +00:00
Benjamin Kosnik
5b66fcf9a9 [multiple changes]
2001-09-20  Scott Johnston <scott@accom.com>
	    Peter Schmid <schmid@snake.iap.physik.tu-darmstadt.de>

	* include/backward/alloc.h: Conditionally define malloc_alloc
	* testsuite/backward/header_deque_h.cc: New file.

2001-09-20  Sylvain Pion <Sylvain.Pion@sophia.inria.fr>

	* libstdc++-v3/include/bits/locale_facets.tcc (money_put::do_put):
        change variable name so that it works with -fno-for-scope.

From-SVN: r45704
2001-09-20 09:48:24 +00:00
Benjamin Kosnik
9a92330f24 numpunct_members_char.cc (test01): Remove redundant sanity checks.
2001-09-20  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/22_locale/numpunct_members_char.cc (test01): Remove
	redundant sanity checks.
	* testsuite/22_locale/money_put_members_wchar_t.cc (test01): Same.
	(test02): Same.
	* testsuite/22_locale/money_put_members_char.cc (test01): Same.
	(test02): Same.
	* testsuite/22_locale/moneypunct_members_wchar_t.cc (test01): Same.
	* testsuite/22_locale/moneypunct_members_char.cc (test01): Same.
	* testsuite/22_locale/money_get_members_wchar_t.cc (test01): Same.
	(test02): Same.
	* testsuite/22_locale/money_get_members_char.cc (test01): Same.
	(test02): Same.

From-SVN: r45703
2001-09-20 09:07:37 +00:00
Benjamin Kosnik
e08138aae3 Implement std::time_put.
2001-09-19  Benjamin Kosnik  <bkoz@redhat.com>

	Implement std::time_put.
	* include/bits/locale_facets.h: Include time_members.h.
	(__timepunct): New.
	(time_put): Implement.
	* include/bits/locale_facets.tcc (do_put): Put generic versions here.
	* include/bits/localefwd.h: Bump number of facets.
	* config/locale/time_members_generic.h: New file.
	* config/locale/time_members_gnu.h: New file.
	* config/locale/c_locale_generic.h: Include clocale.
	* src/locale-inst.cc: Add use_facet instantiations for __timepunct.
	* src/locale.cc: Add __timepunct initializations.
	* src/localename.cc (locale::_Impl::_Impl(string, size_t)): Same.
	* include/Makefile.am (stamp-target): Add time_members.h.
	* include/Makefile.in: Regenerate.
	* acinclude.m4 (GLIBCPP_ENABLE_CLOCALE): Add CTIME_H.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/22_locale/time_put.cc: New file.
	* testsuite/22_locale/time_put_members_char.cc: New file.

	* docs/html/22_locale/locale.html: Add note.

From-SVN: r45702
2001-09-20 08:30:01 +00:00
Benjamin Kosnik
9775a638f4 moneypunct_members_gnu.cc: Fix initialization of wchar_t members.
2001-09-14  Benjamin Kosnik  <bkoz@redhat.com>

	* config/locale/moneypunct_members_gnu.cc: Fix initialization of
	wchar_t members.
	* testsuite/22_locale/money_get_members_wchar_t.cc (test02): New file.
	* testsuite/22_locale/money_put_members_wchar_t.cc (test02): Fix.

From-SVN: r45615
2001-09-14 22:13:11 +00:00
Benjamin Kosnik
55dea7b149 moneypunct_members_gnu.cc: Fix initialization of wchar_t members.
2001-09-14  Benjamin Kosnik  <bkoz@redhat.com>

	* config/locale/moneypunct_members_gnu.cc: Fix initialization of
	wchar_t members.
	* testsuite/22_locale/money_get_members_wchar_t.cc (test02): New file.
	* testsuite/22_locale/money_put_members_wchar_t.cc (test02): Fix.

From-SVN: r45614
2001-09-14 22:09:35 +00:00
Alexandre Petit-Bianco
7330797589 money_get_members_char.cc: Fixed typo in comment.
2001-09-13  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* testsuite/22_locale/money_get_members_char.cc: Fixed typo in comment.
	* testsuite/22_locale/money_put_members_char.cc: Likewise.
	* testsuite/22_locale/money_put_members_wchar_t.cc: Likewise.

(If only spelling them right would make them go away...)

From-SVN: r45592
2001-09-14 01:38:18 -07:00
Benjamin Kosnik
fb67885447 Implement std::money_get.
2001-09-13   Benjamin Kosnik  <bkoz@redhat.com>

	Implement std::money_get.
	* include/bits/locale_facets.tcc (money_get::do_get): Implement.
	* include/bits/locale_facets.h (money_get): Correct signatures.
	* testsuite/22_locale/money_get.cc: New file.
	* testsuite/22_locale/money_get_members_char.cc: New file.

	* include/bits/locale_facets.tcc (__verify_grouping): New
	function. Consolidate num_get and money_get group checking into
	one function.
	(money_get): Use it.
	* src/locale.cc (num_get::_M_extract): Use it.
	* src/locale-inst.cc: Add instantiation.

From-SVN: r45585
2001-09-13 23:21:25 +00:00