Commit Graph

2494 Commits

Author SHA1 Message Date
Mark Mitchell
afc3bb58d5 * libsupc++/vterminate.cc
(__gnu_cxx::__verbose_terminate_handler): Guard against recursive
	calls to terminate.
	* src/demangle.cc (__cxa_demangle): Wrap in try-catch block.

From-SVN: r78235
2004-02-21 20:59:26 +00:00
Mark Mitchell
e1efc7a028 testsuite_hooks.cc (__gnu_test::set_memory_limits): Do not set RLIMIT_AS on HP-UX.
* testsuite/testsuite_hooks.cc (__gnu_test::set_memory_limits): Do
	not set RLIMIT_AS on HP-UX.

From-SVN: r78233
2004-02-21 20:34:38 +00:00
Paolo Carlini
fe932e504b locale_facets.h (class money_base): Add { _S_minus, _S_zero, _S_end } enum, _S_atoms.
2004-02-21  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h (class money_base): Add { _S_minus,
	_S_zero, _S_end } enum, _S_atoms.
	(struct __moneypunct_cache<>): Parameterize on _Intl too; add
	_M_grouping_size, _M_curr_symbol_size, _M_positive_sign_size,
	_M_negative_sign_size, _M_atoms; tweak constructor consistently.
	(__moneypunct_cache<>::~__moneypunct_cache): Update.
	(__moneypunct_cache<>::_M_cache): Fill the cache.
	(class moneypunct): Tweak __cache_type typedef.
	(class money_put): Inherit from money_base too; tweak declaration
	of _M_insert, now parameterized on _Intl.
	* include/bits/locale_facets.tcc
	(struct __use_cache<__moneypunct_cache<_CharT, _Intl> >): New.
	(money_put<>::_M_insert): Update definition to use the cache;
	call reserve on __res to avoid multiple reallocations.
	(money_put<>::do_put(long double),
	money_put<>::do_put(const string_type&): Update calls of _M_insert.
	* config/locale/generic/monetary_members.cc
	(moneypunct<char, true>::_M_initialize_moneypunct,
	moneypunct<char, false>::_M_initialize_moneypunct,
	moneypunct<wchar_t, true>::_M_initialize_moneypunct,
	moneypunct<wchar_t, false>::_M_initialize_moneypunct): Update.
	* config/locale/gnu/monetary_members.cc: Likewise.
	* config/locale/gnu/monetary_members.cc
	(moneypunct<wchar_t, true>::~moneypunct(),
	moneypunct<wchar_t, false>::~moneypunct()): Likewise.
	* src/globals_locale.cc: Tweak fake_money_cache_c.
	* src/locale-inst.cc: Add instantiations for
	money_put::_M_insert<false> and money_put::_M_insert<true> and
	__moneypunct_cache<C, false>, __moneypunct_cache<C, true>.
	* src/locale_facets.cc: Define money_base::_S_atoms.
	* src/locale_init.cc: Update placement new of
	__moneypunct_cache<char, false>, __moneypunct_cache<char, true>,
	__moneypunct_cache<wchar_t, false>, __moneypunct_cache<wchar_T, true>.

	* config/locale/generic/numeric_members.cc: Clean up.
	* config/locale/gnu/numeric_members.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/1.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/2.cc: Likewise.
	* testsuite/22_locale/money_put/put/char/3.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.

From-SVN: r78216
2004-02-21 09:26:35 +00:00
Mark Mitchell
f196bdc447 9533-1.cc: Open FIFO for writing with ios_base::in|ios_base::out.
* testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc: Open
	FIFO for writing with ios_base::in|ios_base::out.
	* testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
	* testsuite/27_io/objects/char/7.cc: Likewise.
	* testsuite/27_io/objects/char/9661-1.cc: Open FIFO for writing
	with "r+".

From-SVN: r78195
2004-02-20 23:51:07 +00:00
David Edelsohn
2df93cf3c4 2.cc: Change input-charset from iso-8859-1 to ISO8859-1.
* 22_locale/collate/compare/wchar_t/2.cc: Change input-charset
	from iso-8859-1 to ISO8859-1.
	* 22_locale/collate/compare/wchar_t/wrapped_env.cc: Same.
	* 22_locale/collate/compare/wchar_t/wrapped_locale.cc: Same.
	* 22_locale/collate/hash/wchar_t/2.cc: Same.
	* 22_locale/collate/hash/wchar_t/wrapped_env.cc: Same.
	* 22_locale/collate/hash/wchar_t/wrapped_locale.cc: Same.
	* 22_locale/collate/transform/wchar_t/2.cc: Same.
	* 22_locale/collate/transform/wchar_t/wrapped_env.cc: Same.
	* 22_locale/collate/transform/wchar_t/wrapped_locale.cc: Same.

From-SVN: r78124
2004-02-19 17:07:55 -05:00
Paolo Carlini
2ddf25f217 locale_facets.h (money_get<>::_M_extract): New, helper for do_get.
2004-02-18  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h (money_get<>::_M_extract):
	New, helper for do_get.
	(money_put<>::_M_insert): Likewise, for do_put.
	* include/bits/locale_facets.tcc (money_get<>::_M_extract,
	money_put<>::_M_insert): Define.
	(money_get<>::do_get(long double&), money_get<>::do_get(
	string_type&), money_put::do_put(long double),
	money_put::do_put(const string_type&)): Use the helpers.

From-SVN: r78037
2004-02-18 16:39:13 +00:00
Paolo Carlini
94b8de97c4 basic_file_stdio.cc (__gnu_internal::xwritev): Rewrite, avoiding recursion.
2004-02-18  Paolo Carlini  <pcarlini@suse.de>

	* config/io/basic_file_stdio.cc (__gnu_internal::xwritev):
	Rewrite, avoiding recursion.
	(__gnu_internal::xwrite): Minor tweaks.

From-SVN: r78015
2004-02-18 08:36:27 +00:00
Stefan Olsson
4d0bdcd6e1 mt_allocator.h: Removed the last pointer.
2004-02-17  Stefan Olsson  <stefan@xapa.se>

	* include/ext/mt_allocator.h: Removed the last
	pointer. Deallocated blocks are now added to the front of
	freelists as proposed by Felix Yen.  This gives roughly 10%
	performance boost and saves some memory.
	* docs/html/ext/mt_allocator.html: Change due to that deallocated
	blocks now are added to the front of freelists. The reason to this
	approach is also explained.

From-SVN: r78009
2004-02-18 01:21:10 +00:00
Paolo Carlini
6d4925e368 locale_facets.tcc (num_get<>::_M_extract_float, [...]): Simplify grouping fidelity conditional.
2004-02-17  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
	num_get<>::_M_extract_int, money_get<>::do_get): Simplify
	grouping fidelity conditional.

From-SVN: r77948
2004-02-17 11:19:25 +00:00
Paolo Carlini
3e9b6cf4e0 13858.cc: Qualify exception with std::.
2004-02-16  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_filebuf/overflow/char/13858.cc:
	Qualify exception with std::.
	* testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Ditto.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.

From-SVN: r77913
2004-02-16 19:28:06 +00:00
Paolo Carlini
835abbf7f0 13189.cc: Don't check for now that the catch block is not reached.
2004-02-16  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/ext/enc_filebuf/char/13189.cc: Don't check
	for now that the catch block is not reached.
	* testsuite/ext/enc_filebuf/wchar_t/13189.cc: Likewise.

From-SVN: r77906
2004-02-16 17:48:12 +00:00
Paolo Carlini
b7e64db2a4 locale_facets.tcc (money_get::do_get(string_type&)): Fix parsing of the remaining sign characters.
2004-02-16  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
	Fix parsing of the remaining sign characters.
	* 22_locale/money_get/get/char/2.cc: Tweak: now, correctly,
	the input is scanned 'til eof.
	* 22_locale/money_get/get/char/4.cc: Likewise.
	* 22_locale/money_get/get/wchar_t/2.cc: Likewise.
	* 22_locale/money_get/get/wchar_t/4.cc: Likewise.
	* 22_locale/money_get/get/char/8.cc: Tweak: override do_neg_format,
	not do_pos_format: the former is the only one that matters during
	input.
	* 22_locale/money_get/get/wchar_t/8.cc: Likewise.

	* 22_locale/money_get/get/char/6.cc: Minor tweak.
	* 22_locale/money_get/get/wchar_t/6.cc: Likewise.

From-SVN: r77896
2004-02-16 16:46:26 +00:00
David Asher
230377dc69 re PR libstdc++/11352 (crash while internal padding numeric 0)
2004-02-15  David Asher  <david.asher@cavium.com>

	PR libstdc++/11352
	* include/bits/locale_facets.tcc (__pad<>::_S_pad): Don't
	access __olds beyond __oldlen.

From-SVN: r77858
2004-02-15 17:19:00 +00:00
Paolo Carlini
45cbe93c0e 9182-2.cc: Make sure the exception is actually thrown.
2004-02-14  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Make
	sure the exception is actually thrown.
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.

From-SVN: r77828
2004-02-14 20:46:14 +00:00
Paolo Carlini
ac3cadf042 re PR libstdc++/13858 (Bad error handling in basic_filebuf::imbue)
2004-02-14  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13858
	* include/bits/fstream.tcc (basic_filebuf<>::_M_convert_to_external):
	In case of conversion errors, throw ios_failure; simplify.
	* testsuite/27_io/basic_filebuf/overflow/char/13858.cc: New.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/13858.cc: Ditto.
	* testsuite/27_io/basic_filebuf/overflow/char/9182-2.cc: Tweak,
	previously we didn't throw in case of conversion errors, instead
	just returned eof().
	* testsuite/27_io/basic_filebuf/seekoff/wchar_t/3.cc: Ditto.
	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/1.cc: Ditto.
	* testsuite/27_io/basic_filebuf/sync/char/9182-1.cc: Ditto.

	* include/bits/fstream.tcc (basic_filebuf<>::overflow):
	Trivial simplification of a conditional.

From-SVN: r77812
2004-02-14 19:04:00 +00:00
Paolo Carlini
2e9a1f6b05 PR libstdc++/13731 (final part: writev)
2004-02-12  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13731 (final part: writev)
	* config/io/basic_file_stdio.cc (__gnu_internal::xwrite):
	New, a wrapper around writev() handling partial writes.
	(__basic_file<char>::xwrite): Move to __gnu_internal and make
	static.
	(__basic_file<char>::xsputn): Update call.
	(__basic_file<char>::xsputn_2): Likewise.
	* config/io/basic_file_stdio.h (__basic_file<char>::write):
	Don't declare, now static.

From-SVN: r77717
2004-02-12 18:24:07 +00:00
Benjamin Kosnik
1c86f39d32 [multiple changes]
2004-02-11  Stefan Olsson  <stefan@xapa.se>

	* docs/html/ext/mt_allocator.html: New.

2004-02-11  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/html/20_util/allocator.html: New file, consolidate
	allocator information here. Revamp.
	* docs/html/documentation.html: Change links.
	* docs/html/20_util/howto.html: Same.
	* docs/html/ext/howto.html: Same.

From-SVN: r77687
2004-02-12 01:11:48 +00:00
Paolo Carlini
98e9678463 PR libstdc++/13731 (first part: write)
2004-02-11  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13731 (first part: write)
	* config/io/basic_file_stdio.h (__basic_file<char>::xwrite):
	New, declare.
	* config/io/basic_file_stdio.cc (__basic_file<char>::xwrite):
	Define it: a wrapper around write() handling partial write.
	(__basic_file<char>::xsputn): Use it.
	(__basic_file<char>::xsputn_2): Likewise.

From-SVN: r77680
2004-02-12 00:05:35 +00:00
Paolo Carlini
a2af66c186 re PR libstdc++/14078 (Manipulators are slow)
2004-02-10  Paolo Carlini  <pcarlini@suse.de>
	    Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/14078
	* include/std/std_istream.h (operator>>(__istream_type& (*)
	(__istream_type&)), operator>>(__ios_type& (*)(__ios_type&)),
	operator>>(ios_base& (*)(ios_base&))): Declare inline.
	* include/std/std_ostream.h (operator<<(__ostream_type& (*)
	(__ostream_type&)), operator<<(__ios_type& (*)(__ios_type&)),
	operator<<(ios_base& (*) (ios_base&))): Likewise.
	* testsuite/performance/27_io/fmtflags_manipulators.cc: New.

Co-Authored-By: Petur Runolfsson <peturr02@ru.is>

From-SVN: r77650
2004-02-11 12:08:23 +00:00
Loren J. Rittle
d318a8ba74 re PR libstdc++/14097 ([3.4 only] Severe disparity between stdio_filebuf and stdio_sync_filebuf.)
PR libstdc++/14097
	* config/linker-map.gnu: Add typeinfo and typeinfo name for
	__gnu_cxx::stdio_filebuf<char, std::char_traits<char> >.

From-SVN: r77636
2004-02-11 05:21:57 +00:00
Loren J. Rittle
64bd39ccc7 re PR libstdc++/14098 ([3.4 only] typeinfo issue with __gnu_cxx::stdio_sync_filebuf)
PR libstdc++/14098
	* config/linker-map.gnu: Add typeinfo and typeinfo name for
	__gnu_cxx::stdio_sync_filebuf<char, std::char_traits<char> >.

From-SVN: r77635
2004-02-11 05:03:13 +00:00
Loren J. Rittle
a39c16dd5b * include/ext/pool_allocator.h: Include c++config.h.
From-SVN: r77577
2004-02-10 00:43:04 +00:00
Stefan Olsson
1ef0031284 mt_allocator.h: thread_id is unused in non threaded applications and now has a ifdef to remove...
2004-02-09  Stefan Olsson  <stefan@xapa.se>

	* include/ext/mt_allocator.h: thread_id is unused in non threaded
	applications and now has a ifdef to remove it completely on
	compilers without thread support. Include stdlib.h due to a
	compiler warning on getenv().

From-SVN: r77576
2004-02-10 00:31:53 +00:00
Paul Brook
1b81e1b544 configure.host: Explicitly check for atomicity.h file.
2004-02-09  Paul Brook  <paul@codesourcery.com>

	* libstdc++-v3/configure.host: Explicitly check for atomicity.h file.

From-SVN: r77570
2004-02-09 23:51:02 +00:00
Paolo Carlini
cf0d2c4044 re PR libstdc++/14071 (locale::global doesn't always call setlocale)
2004-02-09  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/14071
	* src/locale_init.cc (locale::global(const locale&)): Use
	locale::name() in order to decide whether calling setlocale.
	* testsuite/22_locale/locale/global_locale_objects/14071.cc: New.

	* include/bits/locale_classes.h (locale::_Impl::_M_check_same_name()):
	Avoid computing &= unnecessarily.

From-SVN: r77568
2004-02-09 23:10:47 +00:00
James E Wilson
664fc5df4a re PR libstdc++/5625 ([mips] exception unwinding creates invalid pointer on mips)
PR libstdc++/5625
* libsuspc++/eh_personality.cc (PERSONALITY_FUNCTION): Use
__builtin_extend_pointer.

From-SVN: r77555
2004-02-09 13:20:33 -08:00
Paolo Carlini
86fd2b512a re PR libstdc++/14072 (basic_ios::imbue leaves dangling pointers)
2004-02-09  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/14072
	* include/bits/basic_ios.tcc (basic_ios<>::_M_cache_locale):
	Don't leave dangling pointers.
	* testsuite/27_io/basic_ios/imbue/14072.cc: New.
	* testsuite/22_locale/numpunct/members/pod/2.cc: Tweak, the num_put
	facet is needed in the final test.

From-SVN: r77526
2004-02-09 09:02:52 +00:00
Bernardo Innocenti
f19e9e4d16 crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
* crossconfig.m4: Don't enable _GLIBCXX_USE_LFS on *-uclinux*.
	* configure: Regenerate.

From-SVN: r77523
2004-02-09 08:06:35 +01:00
Richard Henderson
c38628062d re PR libstdc++/14026 (std::uncaught_exception is true although there are no uncaught exceptions (rethrow, ghost exception))
PR libstdc++/14026
        * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust
        uncaughtExceptions during nested catch rethrow.
        * testsuite/18_support/14026.cc: New.

From-SVN: r77492
2004-02-08 10:01:23 -08:00
Paolo Carlini
fd95f498f3 basic_string.tcc (assign(const _CharT*, size_type)): When working in place remember to set the state to sharable (otherwise...
2004-02-08  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.tcc (assign(const _CharT*, size_type)):
	When working in place remember to set the state to sharable
	(otherwise, _M_mutate does it).

From-SVN: r77487
2004-02-08 17:11:07 +00:00
Bernardo Innocenti
ed6814f7b3 Remove trailing whitespace (see ChangeLog for longwinded description).
From-SVN: r77479
2004-02-08 05:46:42 +01:00
Paolo Carlini
eee54836b1 basic_string.h: Fix comment.
2004-02-06  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.h: Fix comment.

From-SVN: r77428
2004-02-06 23:02:45 +00:00
Paolo Carlini
15d7206087 stl_construct.h: Wrap overlong lines, reformat according to the coding standards.
2004-02-06  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_construct.h: Wrap overlong lines, reformat
	according to the coding standards.
	* include/bits/stl_pair.h: Likewise.
	* include/bits/stl_raw_storage_iter.h: Likewise.
	* include/bits/stl_stack.h: Likewise.
	* include/bits/stl_uninitialized.h: Likewise.
	* include/bits/stream_iterator.h: Likewise.
	* include/bits/streambuf_iterator.h: Likewise.
	* include/bits/type_traits.h: Likewise.

From-SVN: r77425
2004-02-06 21:32:48 +00:00
Loren J. Rittle
fbdf188d78 Add commit message included with files.
From-SVN: r77413
2004-02-06 19:20:30 +00:00
Paolo Carlini
c5dd98f3ec 9507.cc: Adjust timings.
2004-02-06  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_filebuf/open/char/9507.cc:
	Adjust timings.

From-SVN: r77392
2004-02-06 11:45:23 +00:00
Loren J. Rittle
462f4a816b * scripts/check_performance: Support PCH.
From-SVN: r77360
2004-02-06 00:51:34 +00:00
Geoffrey Keating
0314451df3 Index: libf2c/ChangeLog
Thu Feb  5 15:08:08 2004  Geoffrey Keating  <geoffk@apple.com>

	PR 12179
	* aclocal.m4 (GLIBCPP_EXPORT_INSTALL_INFO): Use 'gcc', not 'gcc-lib'.
	Add comment about poorly-named variables.
	* Makefile.in (libsubdir): Use 'gcc', not 'gcc-lib'.
	* configure: Regenerate.

Index: libstdc++-v3/ChangeLog
2004-02-05  Geoffrey Keating  <geoffk@apple.com>

	PR 12179
	* .cvsignore: New.
	* acinclude.m4 (GLIBCXX_EXPORT_INSTALL_INFO): Use 'gcc', not
	'gcc-lib'.  Add comment about poorly-named variables.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

From-SVN: r77351
2004-02-05 23:19:54 +00:00
Paolo Carlini
d9010fcacc locale_facets.tcc (money_get::do_get(string_type&)): Thousands-sep are always optional...
2004-02-05  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (money_get::do_get(string_type&)):
	Thousands-sep are always optional; thousands-sep are not allowed
	after the decimal_point.
	* testsuite/22_locale/money_get/get/char/12.cc: New.
	* testsuite/22_locale/money_get/get/char/13.cc: New.
	* testsuite/22_locale/money_get/get/wchar_t/12.cc: New.
	* testsuite/22_locale/money_get/get/wchar_t/13.cc: New.

	* testsuite/22_locale/money_get/get/char/1.cc: Clean-up.
	* testsuite/22_locale/money_get/get/char/2.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/3.cc: Likewise.
	* testsuite/22_locale/money_get/get/char/4.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.

	* testsuite/22_locale/money_get/get/char/9.cc: Fix citation from
	the standard.
	* testsuite/22_locale/money_get/get/wchar_t/9.cc: Likewise.

From-SVN: r77339
2004-02-05 20:13:37 +00:00
Richard Sandiford
d232925f0b os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T): Define.
* config/os/irix/irix6.5/os_defines.h (_GLIBCXX_FIONREAD_TAKES_OFF_T):
	Define.
	* config/io/basic_file_stdio.cc (__basic_file<char>::showmanyc): Use
	it to decide whether FIONREAD should take an off_t or int argument.

From-SVN: r77336
2004-02-05 20:11:32 +00:00
Paolo Carlini
92ff3e4314 stl_function.h: Minor formatting changes.
2004-02-05  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_function.h: Minor formatting changes.

From-SVN: r77316
2004-02-05 15:39:16 +00:00
Zack Weinberg
9fe7e2b747 Revert previous change to config/abi/*/baseline_symbols.txt.
From-SVN: r77305
2004-02-05 07:25:58 +00:00
Benjamin Kosnik
6a734d618f basic_file_stdio.cc (__gnu_internal::fopen_mode): New function.
2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>
	    Zack Weinberg  <zack@codesourcery.com>

	* config/io/basic_file_stdio.cc (__gnu_internal::fopen_mode):
	New function.
	(__basic_file<char>::sys_open, __basic_file<char>::open): Use it.
	(__basic_file<char>::_M_open_mode): Delete.
	* config/io/basic_file_stdio.cc: Delete declaration of _M_open_mode.

	* testsuite/27_io/basic_filebuf/close/char/9964.cc
	* testsuite/27_io/basic_filebuf/open/char/9507.cc:
	Correct flags to filebuf::open calls.

	* config/abi/alpha-freebsd5/baseline_symbols.txt
	* config/abi/alpha-linux-gnu/baseline_symbols.txt
	* config/abi/hppa-linux-gnu/baseline_symbols.txt
	* config/abi/i386-freebsd4/baseline_symbols.txt
	* config/abi/i386-freebsd5/baseline_symbols.txt
	* config/abi/i486-linux-gnu/baseline_symbols.txt
	* config/abi/ia64-linux-gnu/baseline_symbols.txt
	* config/abi/mips-linux-gnu/baseline_symbols.txt
	* config/abi/sparc-freebsd5/baseline_symbols.txt
	* config/abi/sparc-linux-gnu/baseline_symbols.txt
	* config/abi/x86_64-linux-gnu/baseline_symbols.txt:
	Remove entry for __basic_file<char>::_M_open_mode.

From-SVN: r77298
2004-02-05 05:24:18 +00:00
Loren J. Rittle
f63fd68beb * testsuite/performance/20_util/allocator/insert.cc (main): Tweak.
From-SVN: r77293
2004-02-05 03:52:41 +00:00
Benjamin Kosnik
de8a2f8702 [multiple changes]
2004-02-04  Felix Yen  <fwy@alumni.brown.edu>

	* testsuite/performance/20_util/producer_consumer.cc: New.
	* testsuite/performance/20_util/allocator/insert_insert.cc: Two loops.

2004-02-04  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/performance/20_util/allocator.cc: Move to..
	* testsuite/performance/20_util/allocator/insert.cc: ...here.
	* testsuite/performance/20_util/allocator_thread.cc: Move to...
	* testsuite/performance/20_util/allocator/insert_insert.cc: ...here.
	* testsuite/performance/20_util/allocator_map_thread.cc: Move to...
	* testsuite/performance/20_util/allocator/map_thread.cc: ...here.

From-SVN: r77285
2004-02-05 01:33:07 +00:00
Jonathan Wakely
772fec9a0e index.html: Recommend using LD_LIBRARY_PATH.
2004-02-04  Jonathan Wakely  <redi@gcc.gnu.org>

	* docs/html/faq/index.html: Recommend using LD_LIBRARY_PATH.
	* docs/html/faq/index.txt: Regenerate.

From-SVN: r77258
2004-02-04 17:45:18 +00:00
Dhruv Matani
56766e0db5 debug_allocator.h: _M_extra now stands for the number of extra objects instead of the number of...
2004-02-04  Dhruv Matani  <dhruvbird@gmx.net>

	* include/ext/debug_allocator.h: _M_extra now stands for the
	number of extra objects instead of the number of extra bytes.
	(debug_allocator::allocate): Adjust.
	(debug_allocator::deallocate): Adjust.

	* include/ext/pool_allocator.h: Fix typo.

From-SVN: r77256
2004-02-04 17:37:10 +00:00
Felix Yen
2226963242 allocator.cc: Add map, deque, set tests.
2004-02-03  Felix Yen  <fwy@alumni.brown.edu>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/performance/20_util/allocator.cc: Add map,
	deque, set tests.
	* testsuite/performance/20_util/allocator_thread.cc: Same.

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

From-SVN: r77225
2004-02-04 06:21:21 +00:00
Paolo Carlini
129e921059 basic_string.h (insert(iterator)): Remove, non-standard and already scheduled for removal.
2004-02-03  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.h (insert(iterator)): Remove,
	non-standard and already scheduled for removal.

From-SVN: r77198
2004-02-03 23:34:52 +00:00
Paolo Carlini
83042fcaec stl_iterator_base_funcs.h: Minor formatting and indentation tweaks.
2004-02-03  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_iterator_base_funcs.h: Minor formatting
	and indentation tweaks.
	* include/bits/stl_iterator_base_types.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/stl_map.h: Likewise.
	* include/bits/stl_tempbuf.h: Likewise.

From-SVN: r77182
2004-02-03 17:59:05 +00:00
Jerry Quinn
06a81b60c2 gslice.h, [...]: Update copyright years.
2004-02-02  Jerry Quinn  <jlquinn@optonline.net>

	* include/bits/gslice.h, include/bits/gslice_array.h,
	include/bits/indirect_array.h, include/bits/mask_array.h,
	include/bits/slice_array.h, include/bits/stl_numeric.h,
	include/std/std_valarray.h:  Update copyright years.

From-SVN: r77156
2004-02-03 04:01:15 +00:00
Jerry Quinn
7fb397a4b8 gslice.h (gslice): Document.
2004-02-02  Jerry Quinn  <jlquinn@optonline.net>

	* include/bits/gslice.h (gslice):  Document.
	* include/bits/gslice_array.h (gslice_array):  Document.
	* include/bits/indirect_array (indirect_array):  Document.
	* include/bits/mask_array (mask_array):  Document.
	* include/bits/slice_array.h (slice,slice_array):  Document.
	* include/bits/stl_numeric.h (accumulate, inner_product, partial_sum,
	adjacent_difference):  Document
	* include/std/std_valarray.h (valarray):  Document.

From-SVN: r77153
2004-02-03 03:33:24 +00:00
Benjamin Kosnik
7f7fb4ef6a howto.html: Move verbose terminate documentation...
2004-02-02  Benjamin Kosnik  <bkoz@redhat.com>

        * docs/html/19_diagnostics/howto.html: Move verbose terminate
        documentation...
        * docs/html/18_support/howto.html: Here.
        * docs/html/documentation.html: Add reference here.

From-SVN: r77150
2004-02-03 01:26:12 +00:00
Paolo Carlini
9924f721bf c++locale_internal.h: Remove prototypes of no longer used GLIBC thread locale functions.
2004-02-02  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/gnu/c++locale_internal.h: Remove prototypes
	of no longer used GLIBC thread locale functions.

From-SVN: r77140
2004-02-02 23:45:34 +00:00
Eric Christopher
2ba43229d3 Fix date thinko on prev patch.
From-SVN: r77138
2004-02-02 22:50:10 +00:00
Eric Christopher
16dd5cfeb8 [multiple changes]
2004-02-02  Eric Christopher  <echristo@redhat.com>
            Zack Weinberg  <zack@codesourcery.com>

        * c-opts.c (c_common_handle_option): Add -finput-charset.
        * c.opt: Ditto.
        * cppcharset.c (one_iso88591_to_utf8): Remove.
        (convert_iso88591_utf8): Ditto.
        (conversion_tab): Remove 8859-1 converter.
        (_cpp_input_to_utf8): Remove.
        (_cpp_init_iconv_buffer): Ditto.
        (_cpp_close_iconv_buffer): Ditto.
        (_cpp_convert_input): New function.
        (_cpp_default_encoding): Ditto.
        * cpphash.h: Add/remove prototypes for above.
        * cppfiles.c (read_file_guts): Use _cpp_convert_input.
        * cppinit.c (cpp_create_reader): Use _cpp_default_encoding
        for narrow execution and input character sets.
        * cpplib.c (cpp_push_buffer): Delete uses of removed functions.
        * doc/cppopts.texi: Document -finput-charset.

2004-02-02 Eric Christopher  <echristo@redhat.com>
           Zack Weinberg  <zack@codesourcery.com>

        * gcc.c-torture/execute/wchar_t-1.c: Add -finput-charset.

2004-01-29  Eric Christopher  <echristo@redhat.com>
            Zack Weinberg  <zack@codesourcery.com>

        * testsuite/22_locale/collate/compare/wchar_t/2.cc: Remove xfail. Use
        -finput-charset.
        * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Ditto.
        * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc: Ditto
        * testsuite/22_locale/collate/hash/wchar_t/2.cc: Ditto.
        * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Ditto.
        * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Ditto.
        * testsuite/22_locale/collate/transform/wchar_t/2.cc: Ditto.
        * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc: Ditto.
        * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
        Ditto.

From-SVN: r77136
2004-02-02 20:20:58 +00:00
Paolo Carlini
7c92015149 stl_function.h: Additional minor tweaks.
2004-02-02  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_function.h: Additional minor tweaks.
	* include/bits/stl_multiset.h: Likewise.

	* include/bits/stl_queue.h: Minor tweaks.

From-SVN: r77125
2004-02-02 16:35:09 +00:00
Paolo Carlini
dcec0389d1 PR libstdc++/13976 (continued)
2004-02-02  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13976 (continued)
	* include/ext/malloc_allocator.h (malloc_allocator::deallocate):
	Make the second parameter unnamed, to void unused parameter
	warnings.
	* include/ext/new_allocator.h (new_allocator::deallocate): Ditto.

From-SVN: r77113
2004-02-02 13:04:36 +00:00
Paolo Carlini
90f8b69248 re PR libstdc++/13976 (ext/new_allocator.h:81: warning: unused parameter '__h')
2004-02-02  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13976
	* include/ext/malloc_allocator.h (malloc_allocator::allocate):
	Make the second parameter unnamed, to void unused parameter
	warnings.
	* include/ext/mt_allocator.h (__mt_alloc::allocate): Ditto.
	* include/ext/new_allocator.h (new_allocator::allocate): Ditto.

From-SVN: r77111
2004-02-02 12:39:55 +00:00
Paolo Carlini
737ab798c5 stl_algo.h: Additional minor tweaks.
2004-02-01  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algo.h: Additional minor tweaks.
	* include/bits/stl_map.h: Likewise.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/stl_set.h: Likewise.
	* include/bits/stl_tree.h: Likewise.

From-SVN: r77082
2004-02-01 23:19:55 +00:00
Paolo Carlini
64ebadacc4 vector.tcc (vector::_M_insert_aux(iterator)): Remove, unused.
2004-02-01  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/vector.tcc (vector::_M_insert_aux(iterator)):
	Remove, unused.

From-SVN: r77081
2004-02-01 22:14:43 +00:00
Paolo Carlini
afd4cbbb50 stl_function.h: Additional minor tweaks.
2004-02-01  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_function.h: Additional minor tweaks.

From-SVN: r77078
2004-02-01 17:56:06 +00:00
Paolo Carlini
f6592a9e2c deque.tcc: Wrap overlong lines...
2004-02-01  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/deque.tcc: Wrap overlong lines, constify
	a few variables, reformat according to the coding standards.
	* include/bits/list.tcc: Likewise.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/stl_function.h: Likewise.
	* include/bits/stl_iterator.h: Likewise.
	* include/bits/stl_iterator_base_funcs.h: Likewise.
	* include/bits/stl_iterator_base_types.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/stl_map.h: Likewise.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/stl_relops.h: Likewise.
	* include/bits/stl_set.h: Likewise.

From-SVN: r77077
2004-02-01 17:34:44 +00:00
Paolo Carlini
62e6765158 stl_bvector.h: Wrap overlong lines...
2004-02-01  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_bvector.h: Wrap overlong lines, constify
	a few variables, reformat according to the coding standards.
	* include/bits/stl_tree.h: Likewise.

From-SVN: r77065
2004-02-01 11:25:21 +00:00
Paolo Carlini
8f7ca398ca stl_algo.h: Minor additional reformat, add copyright year.
2004-01-31  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algo.h: Minor additional reformat, add
	copyright year.
	* include/bits/stl_algobase.h: Add copyright year.

From-SVN: r77058
2004-01-31 23:51:44 +00:00
Paolo Carlini
ffa67767d0 stl_algo.h: Wrap overlong lines...
2004-01-31  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_algo.h: Wrap overlong lines, constify
	a few variables, reformat according to the coding standards.
	* include/bits/stl_algobase.h: Likewise.
	* include/bits/stl_heap.h: Likewise.

From-SVN: r77050
2004-01-31 21:37:11 +00:00
Paolo Carlini
8de63ee0d7 basic_string.h (_Rep::operator[]): Remove, unused.
2004-01-31  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.h (_Rep::operator[]): Remove, unused.

	* include/bits/basic_string.h: Fix two comments.

From-SVN: r77044
2004-01-31 17:50:46 +00:00
Per Bothner
af3fb3d6dc 2004-01-31 Per Bothner <per@bothner.com>
* include/ext/mt_allocator.h
	(__mt_alloc::_S_thread_freelist_mutex): Guard with
	__GTHREAD_MUTEX_INIT.

From-SVN: r77042
2004-01-31 17:38:45 +00:00
Paolo Carlini
24f330691d basic_string.tcc (_Rep::_S_create): Minor tweak.
2004-01-31  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.tcc (_Rep::_S_create): Minor tweak.

From-SVN: r77035
2004-01-31 15:39:52 +00:00
Paolo Carlini
7c960b3dff 6.cc: New.
2004-01-30  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/21_strings/basic_string/cons/char/6.cc: New.
	* testsuite/21_strings/basic_string/cons/wchar_t/6.cc: New.
	* testsuite/performance/21_strings/string_cons_input_iterator.cc:
	New.

From-SVN: r77006
2004-01-30 23:26:13 +00:00
Felix Yen
7b1d1edf99 allocator_thread.cc (do_loop): Don't use clear, but instead assign.
2004-01-30  Felix Yen  <fwy@alumni.brown.edu>

	* testsuite/performance/20_util/allocator_thread.cc (do_loop):
	Don't use clear, but instead assign. Use insert.

From-SVN: r76979
2004-01-30 18:14:42 +00:00
Benjamin Kosnik
c9732ce7d5 demangle.cc: Add instantiations.
2004-01-30  Benjamin Kosnik  <bkoz@redhat.com>

	* src/demangle.cc: Add instantiations.
	* src/Makefile.am: Remove special rules for demangle.lo, demangle.o.
	* src/Makefile.in: Regenerate.

From-SVN: r76978
2004-01-30 17:54:10 +00:00
David Edelsohn
25d244475b allocator.cc: Protect _S_get_thread_id() and _S_thread_key_destr() with #ifdef __GTHREADS.
* src/allocator.cc: Protect _S_get_thread_id() and
        _S_thread_key_destr() with #ifdef __GTHREADS.

From-SVN: r76977
2004-01-30 12:45:01 -05:00
Paolo Carlini
33e95e9d04 Reshuffle performance testsuite.
2004-01-30  Paolo Carlini  <pcarlini@suse.de>

	Reshuffle performance testsuite.
	* testsuite/performance/allocator.cc, allocator_map_thread.cc,
	allocator_thread.cc, complex_norm.cc, container_benchmark.cc,
	cout_insert_int.cc, filebuf_copy.cc, filebuf_sputc.cc,
	fstream_seek_write.cc, ifstream_extract_float.cc,
	ifstream_extract_int.cc, ifstream_getline.cc, is_wchar_t.cc,
	list_create_fill_sort.cc, map_create_fill.cc,
	narrow_widen_char.cc, narrow_widen_wchar_t.cc,
	ofstream_insert_float.cc, ofstream_insert_int.cc,
	string_append.cc, wchar_t_in.cc, wchar_t_length.cc,
	wchar_t_out.cc: Split into...
	* testsuite/performance/20_util/allocator.cc: New.
	* testsuite/performance/20_util/allocator_map_thread.cc: New.
	* testsuite/performance/20_util/allocator_thread.cc: New.
	* testsuite/performance/21_strings/string_append: New.
	* testsuite/performance/22_locale/is_wchar_t.cc: New.
	* testsuite/performance/22_locale/narrow_widen_char.cc: New.
	* testsuite/performance/22_locale/narrow_widen_wchar_t.cc: New.
	* testsuite/performance/22_locale/wchar_t_in.cc: New.
	* testsuite/performance/22_locale/wchar_t_length.cc: New.
	* testsuite/performance/22_locale/wchar_t_out.cc: New.
	* testsuite/performance/23_containers/container_benchmark.cc: New.
	* testsuite/performance/23_containers/list_create_fill_sort.cc: New.
	* testsuite/performance/23_containers/map_create_fill.cc: New.
	* testsuite/performance/26_numerics/complex_norm.cc: New.
	* testsuite/performance/27_io/cout_insert_int.cc: New.
	* testsuite/performance/27_io/filebuf_copy.cc: New.
	* testsuite/performance/27_io/filebuf_sputc.cc: New.
	* testsuite/performance/27_io/fstream_seek_write.cc: New.
	* testsuite/performance/27_io/ifstream_extract_float.cc: New.
	* testsuite/performance/27_io/ifstream_extract_int.cc: New.
	* testsuite/performance/27_io/ifstream_getline.cc: New.
	* testsuite/performance/27_io/ofstream_insert_float.cc: New.
	* testsuite/performance/27_io/ofstream_insert_int.cc: New.

From-SVN: r76974
2004-01-30 17:06:42 +00:00
Paolo Carlini
d1615643e5 basic_string.tcc (_Rep::_S_create): Never allocate a string bigger than max_size()...
2004-01-30  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.tcc (_Rep::_S_create):
	Never allocate a string bigger than max_size(); always keep
	__capacity and __size in sync to avoid memory leaks at
	deallocation time.

From-SVN: r76955
2004-01-30 13:23:42 +00:00
Paolo Carlini
690495b0fc basic_string.tcc (_S_construct(_InIterator, _InIterator, const _Alloc&, input_iterator_tag)): Simplify the double loop, streamline.
2004-01-30  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.tcc (_S_construct(_InIterator,
	_InIterator, const _Alloc&, input_iterator_tag)): Simplify
	the double loop, streamline.

	* include/bits/basic_string.tcc: Very minor tweaks.

From-SVN: r76937
2004-01-30 09:58:45 +00:00
Loren J. Rittle
f64f44069c check_performance: Only compile with $THREAD_FLAG when test is marked to require it.
* scripts/check_performance: Only compile with $THREAD_FLAG
	when test is marked to require it.  Allow multiple
	compilations/executions of marked tests.
	* testsuite/testsuite_performance.h (report_performance):
	Report dynamic thread support status.
	(report_header): Likewise.
	* testsuite/performance/allocator.cc: Stabilize iteration
	count.  Support more allocators.  Mark each allocator test to
	run and report independently.
	* testsuite/performance/allocator_map_thread.cc: Likewise.
	* testsuite/performance/allocator_thread.cc: Likewise.

From-SVN: r76932
2004-01-30 08:24:27 +00:00
Stephen M. Webb
917a9fd4d5 c_locale.h: Change ::malloc() to new char[].
2004-01-29  Stephen M. Webb  <stephen.webb@bregmasoft.com>

	* config/local/generic/c_locale.h: Change ::malloc() to new char[].
  	* config/local/gnu/c_locale.h: Change ::malloc() to new char[].
  	* include/bits/stl_tempbuf.h: Convert _Temporary_buffer to use
	std::get_temporary_buffer() instead of duplicating its code.
	Update to C++STYLE conventions.
  	* include/std/std_memory.h (get_temporary_buffer): Use ::operator
	new() instead of std::malloc().
	(return_temporary_buffer): Use ::operator delete() instead of
	std::free().

From-SVN: r76922
2004-01-30 03:43:00 +00:00
Benjamin Kosnik
6efc84f476 allocator.h: Temporary switch to new_allocator as the default to unjam bootstraps.
2004-01-29  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/allocator.h: Temporary switch to new_allocator as
	the default to unjam bootstraps.

From-SVN: r76894
2004-01-29 20:42:42 +00:00
Benjamin Kosnik
ba9d552e03 Makefile.am (bits_headers): Remove allocator_traits.h.
2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>

	* include/Makefile.am (bits_headers): Remove allocator_traits.h.
	* include/Makefile.in: Regenerate.
	* include/bits/allocator_traits.h: Remove.
	* include/bits/allocator.h: Remove allocator_traits.h include, and
	relevant comments.
	(allocator): Empty base class, inherit from the underlying allocator.
	* src/allocator-inst.cc: Move __pool_alloc instantiation to...
	* src/allocator.cc: ...here. New. For the underlying allocators.
	Add __mt_alloc, __pool_alloc, new_allocator, malloc_allocator bits.
	* config/linker-map.gnu: Remove __pool_alloc bits.
	* src/Makefile.am (sources): Add allocator.cc.
	* src/Makefile.in: Regenerate.
	* testsuite/20_util/allocator/1.cc: Split second test into...
	* testsuite/20_util/allocator/8230.cc: ...this.
	* include/bits/stl_bvector.h (__gnu_norm): Change bit_vector
	typedef to use std::allocatore. Format.
	* include/ext/pool_allocator.h: Remove allocator_traits.h include,
	_Alloc_traits.
	* include/ext/mt_allocator.h (__gnu_cxx): Qualify
	__throw_bad_alloc calls. Don't include <memory>.
	* include/ext/malloc_allocator.h: Remove <memory> include.
	* include/ext/new_allocator.h (new_allocator): Same.
	* include/ext/ropeimpl.h (__gnu_cxx): Remove __alloc using
	declaration. Switch __alloc to _Alloc.
	* include/ext/hashtable.h: Remove __alloc.
	* include/backward/alloc.h: Only inject allocator, not
	implementation details.

	* include/ext/mt_allocator.h: Replace free with delete.

From-SVN: r76821
2004-01-29 00:18:40 +00:00
Benjamin Kosnik
ff4cf05b3d globals_io.cc: Change to __gnu_internal namespace.
2004-01-28  Benjamin Kosnik  <bkoz@redhat.com>

	* src/globals_io.cc: Change to __gnu_internal namespace.
	* src/globals_locale.cc: Same.
	* src/locale_init.cc: Same.
	* src/ios_init.cc: Same.

From-SVN: r76810
2004-01-28 21:20:42 +00:00
Stefan Olsson
f15f99a14e mt_allocator.h: Replaced all malloc() calls with operator new().
2004-01-28  Stefan Olsson  <stefan@snon.net>

 	* include/ext/mt_allocator.h: Replaced all malloc() calls with
	operator new(). Added support for the env variable
	GLIBCXX_FORCE_NEW (this required the _S_init call to be the first
	one in allocate() as well). Fix typos.

From-SVN: r76795
2004-01-28 17:50:34 +00:00
Paolo Carlini
234e0d3121 basic_string.h (_S_create(size_t, const _Alloc&): Change signature to take two size_type arguments.
2004-01-28  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.h (_S_create(size_t,
	const _Alloc&): Change signature to take two size_type
	arguments.
	* include/bits/basic_string.tcc (_S_construct(_InIterator,
	_InIterator, const _Alloc&, input_iterator_tag)): Update
	call, tweak a bit.
	(_S_construct(_InIterator, _InIterator, const _Alloc&,
	forward_iterator_tag)): Likewise.
	(_S_construct(size_type, _CharT, const _Alloc&)): Likewise.
	(_M_mutate(size_type, size_type, size_type)): Don't
	implement the exponential growth policy, demand it to
	_S_create, update call and simplify.
	(_M_clone(const _Alloc&, size_type)): Likewise.
	(_S_create(size_type, size_type, const _Alloc&)): Implement
	the growth policy, simplify otherwise.

	* include/bits/basic_string.h (_Rep::operator[]): Tweak
	signature to take a size_type, consistently with the other
	members.

From-SVN: r76786
2004-01-28 10:37:32 +00:00
Benjamin Kosnik
62b21ea0fc 11584.cc: Correct new and delete declarations, add include and test variable.
2004-01-27  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/ios_base/storage/11584.cc: Correct new and
	delete declarations, add include and test variable.

From-SVN: r76766
2004-01-27 23:41:16 +00:00
Jerry Quinn
0b5634201a codecvt.h, [...]: Document.
2003-01-26  Jerry Quinn  <jlquinn@optonline.net>

	* include/bits/codecvt.h, include/bits/locale_facets.h,
	include/bits/postypes.h, include/bits/stl_bvector.h,
	include/bits/stl_multiset.h, include/bits/stl_set.h,
	include/bits/stream_iterator.h, include/bits/streambuf_iterator.h,
	include/std/std_complex.h:  Document.

From-SVN: r76749
2004-01-27 21:07:30 +00:00
Jerry Quinn
2a837cf803 re PR libstdc++/11584 (ios::iword() fails to zero-initialize storage on failure)
2004-01-27  Jerry Quinn  <jlquinn@optonline.net>

	PR libstdc++/11584
	* include/bits/ios_base.h (ios_base::_M_grow_words):  Add
        iword/pword selector.
	(ios_base::iword, ios_base::pword):  Use it.
	* src/ios.cc (ios_base::_M_grow_words):  Clear _M_word_zero
        iword or pword member on alloc failure.
	* testsuite/27_io/ios_base/storage/11584.cc:  New test.

From-SVN: r76725
2004-01-27 15:45:43 +00:00
Ulrich Weigand
6e198ee05d configure.host: Add support for *-tpf.
* configure.host: Add support for *-tpf.
	* crossconfig.m4: Likewise.
	* configure: Regenerate.
	* config/os/tpf: New directory.
	* config/os/tpf/os_defines.h: New file.
	* config/os/tpf/ctype_base.h: Likewise.
	* config/os/tpf/ctype_inline.h: Likewise.
	* config/os/tpf/ctype_noninline.h: Likewise.

Co-Authored-By: PJ Darcy <darcypj@us.ibm.com>

From-SVN: r76724
2004-01-27 15:36:22 +00:00
Paolo Carlini
51b6facb1a re PR libstdc++/13884 (Protect sstream.tcc from extern template use)
2004-01-27  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13884
	* include/bits/sstream.tcc: Guard use of extern template.

From-SVN: r76698
2004-01-27 12:37:37 +00:00
Paolo Carlini
a3af79eab6 basic_string.tcc (basic_string(const basic_string&, size_type, size_type), [...]): Avoid unnecessarily constructing iterators.
2004-01-27  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.tcc
	(basic_string(const basic_string&, size_type, size_type),
	basic_string(const basic_string&, size_type, size_type,
	const _Alloc&)): Avoid unnecessarily constructing iterators.

From-SVN: r76696
2004-01-27 10:46:36 +00:00
Paolo Carlini
ba9119ec89 c_locale.cc: Fix throw messages to use the __N marker.
2004-01-26  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/generic/c_locale.cc: Fix throw messages
	to use the __N marker.
	* config/locale/gnu/c_locale.cc: Likewise.
	* config/locale/ieee_1003.1-2001/codecvt_specializations.h:
	Likewise.
	* docs/html/17_intro/C++STYLE: Likewise.
	* include/bits/basic_ios.tcc: Likewise.
	* include/bits/fstream.tcc: Likewise.
	* include/bits/vector.tcc: Likewise.
	* include/ext/ropeimpl.h: Likewise.
	* include/std/std_bitset.h: Likewise.
	* src/ios.cc: Likewise.
	* src/locale.cc: Likewise.
	* src/localename.cc: Likewise.

From-SVN: r76684
2004-01-27 00:49:03 +00:00
Paolo Carlini
0e50667c21 basic_string.h (_M_replace_aux): Use the __N marker in throw message.
2004-01-26  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.h (_M_replace_aux): Use the
	__N marker in throw message.
	* include/bits/basic_string.tcc (assign(const _CharT*,
	size_type), insert(size_type, const _CharT*, size_type),
	replace(size_type, size_type, const _CharT*, size_type),
	reserve, _Rep::_S_create, resize, _M_replace_dispatch):
	Likewise.

	* include/bits/basic_string.h, include/bits/basic_string.tcc:
	Fold overlong lines, minor formatting changes.

From-SVN: r76664
2004-01-26 20:23:20 +00:00
Paolo Carlini
4d39d873e0 basic_string.h (replace(iterator, iterator, const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
2004-01-26  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.h (replace(iterator, iterator,
	const basic_string&)): Remove _GLIBCXX_DEBUG_PEDASSERT.
	(replace(iterator, iterator, const _CharT*)): Ditto.
	(replace(iterator, iterator, const _CharT*, size_type)):
	Add missing _GLIBCXX_DEBUG_PEDASSERT.

From-SVN: r76630
2004-01-26 12:58:53 +00:00
Paolo Carlini
2cb612d1b0 basic_string.tcc (replace(size_type, size_type, const _CharT*, size_type)): Implement optimized in-place algorithm for non-overlapping ranges.
2004-01-26  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.tcc (replace(size_type,
	size_type, const _CharT*, size_type)): Implement optimized
	in-place algorithm for non-overlapping ranges.
	* testsuite/21_strings/basic_string/replace/char/6.cc: New.
	* testsuite/21_strings/basic_string/replace/wchar_t/6.cc: New.

	* include/bits/basic_string.tcc (insert(size_type,
	const _CharT*, size_type)): Tweak slightly.

From-SVN: r76625
2004-01-26 09:07:18 +00:00
Andreas Schwab
f942e78de9 monetary_members.cc: Restore locale before rethrowing exception.
* config/locale/gnu/monetary_members.cc: Restore locale before
rethrowing exception.

From-SVN: r76595
2004-01-25 23:31:43 +00:00
Paolo Carlini
91eab3788d basic_string.h (_M_replace_aux, [...]): Define inline here.
2004-01-25  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
	Define inline here.
	* include/bits/basic_string.tcc (_M_replace_aux, _M_replace_safe):
	Move inline.

	* include/bits/basic_string.tcc: Very minor tweaks.

From-SVN: r76592
2004-01-25 22:43:07 +00:00
Paolo Carlini
9c519c934c string_append.cc: Increase number of iterations.
2004-01-25  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/string_append.cc: Increase number
	of iterations.

From-SVN: r76551
2004-01-25 11:07:50 +00:00
Paolo Carlini
30f315cd16 basic_string.h (erase(size_type, size_type), [...]): Call _M_replace_safe instead, thus avoiding redundant check for length_error.
2004-01-25  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.h (erase(size_type, size_type),
	erase(iterator), erase(iterator, iterator)): Call _M_replace_safe
	instead, thus avoiding redundant check for length_error.

	* include/bits/basic_string.h: Tweak some comments.

From-SVN: r76550
2004-01-25 10:26:46 +00:00
Paolo Carlini
bb9909b0fb basic_string.tcc (operator+(const _CharT*, const basic_string&)): No need to go through the append taking two iterators.
2004-01-24  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.tcc (operator+(const _CharT*,
	const basic_string&)): No need to go through the append
	taking two iterators.

From-SVN: r76517
2004-01-24 18:54:23 +00:00
Paolo Carlini
04cc8aef67 basic_string.tcc (rfind(_CharT, size_type)): Revert last change to use std::min: machine language is worse.
2004-01-24  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.tcc (rfind(_CharT, size_type)):
	Revert last change to use std::min: machine language is worse.
	(find_last_of(const _CharT*, size_type, size_type)): Ditto.
	(find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
	(find_last_not_of(_CharT, size_type)): Ditto.

	* include/bits/basic_string.tcc (insert(size_type, const _CharT*,
	size_type)): Discard the value returned by _M_check.
	(replace(size_type, size_type, const _CharT*, size_type)): Ditto.
	(append(const basic_string&, size_type, size_type)): Ditto.
	(copy(_CharT*, size_type, size_type)): Ditto.
	(compare(size_type, size_type, const basic_string&)): Ditto.
	(compare(size_type, size_type, const basic_string&,
	size_type, size_type)): Ditto.
	(compare(size_type, size_type, const _CharT*)): Ditto.
	(compare(size_type, size_type, const _CharT*, size_type)): Ditto.

From-SVN: r76514
2004-01-24 16:52:04 +00:00
Paolo Carlini
8865bf80ee basic_string.h (insert(size_type, const basic_string&, size_type, size_type)): Define inline here.
2004-01-24  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.h (insert(size_type,
	const basic_string&, size_type, size_type)): Define inline here.
	* include/bits/basic_string.tcc (insert(size_type,
	const basic_string&, size_type, size_type)): Move inline.

From-SVN: r76509
2004-01-24 12:32:54 +00:00
Paolo Carlini
fefe561e80 basic_string.h (assign(const basic_string&, size_type, size_type)): Define inline here.
2004-01-24  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.h (assign(const basic_string&,
	size_type, size_type)): Define inline here.
	(replace(size_type, size_type, const basic_string&,
	size_type, size_type)): Ditto.
	(_M_replace_dispatch(iterator, iterator, _InputIterator,
	_InputIterator, __false_type)): Only declare.
	(_M_replace(iterator, iterator, _InputIterator,
	_InputIterator)): Remove.
	* include/bits/basic_string.tcc (assign(const basic_string&,
	size_type, size_type)): Move inline.
	(replace(size_type, size_type, const basic_string&,
	size_type, size_type)): Ditto.
	(_M_replace_dispatch(iterator, iterator, _InputIterator,
	_InputIterator, __false_type)): Define, now does also what
	_M_replace did before.
	* src/string-inst.cc (_M_replace): Don't instantiate.

	* include/bits/basic_string.tcc (find(const _CharT*,
	size_type, size_type)): Tidy.
	(rfind(_CharT, size_type)): Ditto.
	(find_first_not_of(const _CharT*, size_type, size_type)): Ditto.
	(find_first_not_of(_CharT, size_type)): Ditto.
	(find_last_not_of(const _CharT*, size_type, size_type)): Ditto.
	(find_last_not_of(_CharT, size_type)): Ditto.

From-SVN: r76508
2004-01-24 11:34:06 +00:00
Paolo Carlini
72afd981f8 re PR libstdc++/13838 (std::bitset<>::operator |= error with -D_GLIBCXX_DEBUG)
2004-01-23  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13838
	* include/debug/bitset (operator|=): Fix typo.
	* testsuite/23_containers/bitset/operations/13838.cc: New.

From-SVN: r76479
2004-01-24 01:25:37 +00:00
Paolo Carlini
251804e635 basic_string.tcc (insert(size_type, const _CharT*, size_type __n)): Fix length_error check.
2004-01-23  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.tcc (insert(size_type,
	const _CharT*, size_type __n)): Fix length_error check.
	(replace(size_type, size_type, const _CharT*, size_type):
	Ditto; call _M_replace_safe.
	(_M_replace_aux(size_type, size_type, size_type, _CharT):
	Fix length_error check.
	(_M_replace(iterator, iterator, _InputIterator,
	_InputIterator)): Ditto, tweak.
	(_M_replace_safe(size_type, size_type, const _CharT*,
	size_type)): Remove length_error check.

	* include/bits/basic_string.tcc (append(const basic_string&),
	append(const basic_string&, size_type, size_type)): Tweak
	comment.

	* include/bits/basic_string.tcc (copy(_CharT*, size_type,
	size_type)): If __n == 0 don't call traits::copy.

From-SVN: r76476
2004-01-24 00:27:19 +00:00
Stefan Olsson
3cfb44c200 mt_allocator.h: Reduce lock contention.
2004-01-23  Stefan Olsson  <stefan@snon.net>

	* include/ext/mt_allocator.h: Reduce lock contention.

From-SVN: r76474
2004-01-24 00:21:02 +00:00
Paolo Carlini
22352844c9 re PR libstdc++/13831 (Unused variable in basic_filebuf::underflow)
2004-01-23  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13831
	* include/bits/fstream.tcc (underflow): Remove unused
	variable.
	* include/bits/streambuf_iterator.h (equal): Ditto.
	* include/bits/locale_facets.h (_M_convert_from_char):
	Ditto.

From-SVN: r76433
2004-01-23 16:51:24 +00:00
Kaveh R. Ghazi
129057c1ee re PR c/13814 (rejects different prototypes than builtin function)
PR c/13814
	* config/linker-map.gnu (nan): Delete.
	* libmath/mathconf.h (NAN, nan): Delete.
	* linkage.m4 (nan): Don't check for it.
	* libmath/nan.c: Delete file.

	* config.h.in, configure: Regenerate.

From-SVN: r76431
2004-01-23 16:47:06 +00:00
Paolo Carlini
0e707673d2 basic_string.h (push_back(_CharT)): Call _M_replace_aux.
2004-01-23  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.h (push_back(_CharT)):
	Call _M_replace_aux.
	(insert(size_type, const basic_string&)): Trivial tweak.
	(insert(size_type, size_type, _CharT)): Call _M_replace_aux.
	(insert(iterator, _CharT)): Ditto.
	(erase(size_type, size_type)): Ditto.
	(erase(iterator)): Ditto.
	(erase(iterator, iterator)): Ditto.
	(replace(size_type, size_type, size_type, _CharT)): Ditto.

From-SVN: r76420
2004-01-23 13:57:19 +00:00
Loren J. Rittle
402b0954be allocator_map_thread.cc: New test.
libstdc++/13823
	* testsuite/performance/allocator_map_thread.cc: New test.

From-SVN: r76398
2004-01-23 06:54:06 +00:00
Paolo Carlini
ba46e66a8b locale_facets.tcc (money_put::do_put(..., long double)): Use the basic_string constructor for char arrays...
2004-01-22  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc
	(money_put::do_put(..., long double)): Use the basic_string
	constructor for char arrays, not that for C-strings, to pass
	__digits to do_put(..., const string_type&): __ws isn't
	null-terminated.

From-SVN: r76355
2004-01-22 14:25:37 +00:00
Paolo Carlini
7bb9b33b3b basic_string.h (_M_replace_safe): Change signatures to take size_types and const _CharT*.
2004-01-22  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.h (_M_replace_safe): Change
	signatures to take size_types and const _CharT*.
	(_M_replace_aux): Likewise, takes size_types instead of
	iterators.
	(append(size_type, _CharT)): Update call.
	(assign(size_type, _CharT)): Ditto.
	(replace(iterator, iterator, size_type, _CharT)): Ditto.
	(_M_replace_dispatch(iterator, iterator, _Integer,
	_Integer, __true_type)): Ditto.
	* include/bits/basic_string.tcc (assign(const _CharT*,
	size_type)): Ditto.
	(insert(size_type, const _CharT*, size_type)): Ditto.
	(replace(size_type, size_type, const _CharT*,
	size_type)): Ditto.
	(_M_replace(iterator, iterator, _InputIterator,
	_InputIterator)): Ditto.
	(append(const basic_string&)): Ditto.
	(append(const basic_string&, size_type, size_type): Ditto.
	(append(const _CharT*, size_type): Ditto.
	(_M_replace_safe, _M_replace_safe): Change definitions
	accordingly, simplify.
	* string-inst.cc (_M_replace_safe): Don't instantiate.

From-SVN: r76353
2004-01-22 12:46:28 +00:00
Paolo Carlini
3e7782b2f8 basic_string.tcc (append(const basic_string&)): Revert previous change.
2004-01-21  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.tcc (append(const basic_string&)):
	Revert previous change.
	(append(const basic_string&, size_type, size_type)): Revert
	previous change, use _M_check and _M_limit.

From-SVN: r76282
2004-01-21 15:43:45 +00:00
Paolo Carlini
e03a6fb7b6 basic_string.h (_M_check): Change to return a checked __pos and take an additional const char* argument.
2004-01-21  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.h (_M_check): Change to return
	a checked __pos and take an additional const char* argument.
	(_M_fold): Rename to _M_limit, change to return a size_type,
	corresponding to the __off limited to the actual length.
	(insert(size_type, size_type, _CharT)): Update call, call
	replace.
	(insert(iterator, _CharT)): Call replace(iterator, iterator,
	size_type, _CharT) instead.
	(erase(size_type, size_type)): Update calls.
	(replace(size_type, size_type, size_type, _CharT)): Ditto.
	(substr(size_type, size_type)): Use _M_check.
	* include/bits/basic_string.tcc (basic_string(const basic_string&,
	size_type, size_type)): Update calls.
	(basic_string(const basic_string&, size_type, size_type,
	const _Alloc&)): Ditto.
	(assign(const basic_string&, size_type, size_type)): Use the
	new _M_check and _M_limit.
	(insert(size_type, const basic_string&, size_type, size_type):
	Ditto.
	(insert(size_type, const _CharT*, size_type)): Ditto.
	(replace(size_type, size_type, const _CharT*, size_type): Ditto.
	(replace(size_type, size_type, const basic_string&,
	size_type, size_type)): Ditto.
	(append(const basic_string&)): Ditto.
	(append(const basic_string&, size_type, size_type)): Ditto.
	(copy(_CharT*, size_type, size_type)): Ditto.
	(compare(size_type, size_type, const basic_string&)): Ditto.
	(compare(size_type, size_type, const basic_string&,size_type,
	size_type)): Ditto.
	(compare(size_type, size_type, const _CharT*)): Ditto.
	(compare(size_type, size_type, const _CharT*, size_type)): Ditto.

From-SVN: r76274
2004-01-21 11:29:51 +00:00
Stefan Olsson
cec73eb50c mt_allocator.h: If a thread...
2004-01-19  Stefan Olsson  <stefan@snon.net>

	* include/ext/mt_allocator.h: If a thread, when it dies, still has
	memory on it's freelist this memory is not returned to global
	list. Simplification of deallocate so that memory is always
	returned to the calling thread id's freelist instead of to
	global. Fix typos. Add volatile where appropriate.

From-SVN: r76200
2004-01-20 06:35:21 +00:00
Loren J. Rittle
87d11ccc82 10063-2.cc: Treat unbuffered.
* testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
	* testsuite/ext/stdio_filebuf/char/10063-3.cc: New test.  Like -2 but
	use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.

From-SVN: r76191
2004-01-20 01:30:03 +00:00
Paolo Carlini
f18be892cb debug.cc: Make sure all the names are prefixed with double (or single) underscore.
2004-01-19  Paolo Carlini  <pcarlini@suse.de>

	* src/debug.cc: Make sure all the names are prefixed with
	double (or single) underscore.

From-SVN: r76163
2004-01-19 18:10:55 +00:00
Paolo Carlini
33d4e9b26c debug.cc: Trivial formatting change.
2004-01-19  Paolo Carlini  <pcarlini@suse.de>

	* src/debug.cc: Trivial formatting change.

From-SVN: r76147
2004-01-19 12:11:50 +00:00
Paolo Carlini
954b12d2dc basic_string.tcc (_S_construct(size_type, _CharT, const _Alloc&)): Remove redundant try/catch.
2004-01-19  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.tcc (_S_construct(size_type,
	_CharT, const _Alloc&)): Remove redundant try/catch.
	(_M_mutate(size_type, size_type, size_type)): Ditto.
	(_M_clone(const _Alloc&, size_type)): Ditto.

From-SVN: r76141
2004-01-19 08:53:32 +00:00
Paolo Carlini
bbad4221ec 2004-01-18 Paolo Carlini <pcarlini@suse.de>
* ChangeLog rotation.

From-SVN: r76093
2004-01-18 11:18:29 +00:00
Paolo Carlini
acbab5bf1c basic_string.h (c_str()): Simplify, due to 21.3.4 the internal representation is always kept null-terminated.
2004-01-18  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.h (c_str()): Simplify, due to
	21.3.4 the internal representation is always kept null-terminated.
	* include/bits/basic_string.tcc (_M_clone): Null-terminate.
	* testsuite/21_strings/basic_string/element_access/char/4.cc: New.
	* testsuite/21_strings/basic_string/element_access/wchar_t/4.cc: Ditto.

From-SVN: r76092
2004-01-18 10:51:13 +00:00
Paolo Carlini
9c96a6896b basic_string.h (append(size_type, _CharT)): Moved inline...
2004-01-18  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.h (append(size_type, _CharT)):
	Moved inline, just call _M_replace_aux, no source iterators at
	risk of being clobbered.
	(assign(size_type, _CharT)): Call directly _M_replace_aux.
	(_M_replace(iterator, iterator, _InputIterator, _InputIterator,
	input_iterator_tag)): Remove fifth unused argument.
	(_M_replace_dispatch(iterator, iterator, _InputIterator,
	_InputIterator, __false_type)): Update call.
	* include/bits/basic_string.tcc (replace(size_type, size_type,
	const _CharT*, size_type)): Update call.
	(_M_replace_aux(iterator, iterator, size_type, _CharT)): Tweak
	throw string literal.
	(_M_replace_safe(iterator, iterator, _ForwardIterator,
	_ForwardIterator)): Likewise.
	(_M_replace(iterator, iterator, _InputIterator, _InputIterator,
	input_iterator_tag)): Remove fifth unused argument.
	(append(size_type __n, _CharT __c)): Move inline.
	* src/string-inst.cc (S::_M_replace(S::iterator, S::iterator,
	const C*, const C*, input_iterator_tag)): Remove fifth unused
	argument.

From-SVN: r76091
2004-01-18 09:54:46 +00:00
Benjamin Kosnik
d517f626e1 13189.cc: Fix guards.
2004-01-16  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/ext/enc_filebuf/char/13189.cc: Fix guards.
	* testsuite/ext/enc_filebuf/wchar_t/13189.cc: Same.

From-SVN: r76017
2004-01-17 00:51:35 +00:00
Danny Smith
701b701b54 testsuite_hooks.cc (try_mkfifo): Avoid calling mkfifo for mingw32.
2004-01-16  Danny Smith  <dannysmith@users.sourceforge.net>

	* testsuite/testsuite_hooks.cc (try_mkfifo): Avoid calling
	mkfifo for mingw32.

From-SVN: r75963
2004-01-16 08:43:45 +00:00
Stefan Olsson
2913770f6f mt_allocator.h: Reuse thread id's as soon as possible by changing the behaviour of...
2004-01-15  Stefan Olsson  <stefan@snon.net>

	* include/ext/mt_allocator.h: Reuse thread id's as soon as
	possible by changing the behaviour of thread_freelist to do
	push_front when threads die instead of push_back.

From-SVN: r75939
2004-01-15 19:18:35 +00:00
Paolo Carlini
47f62b27c8 locale_facets.h (struct __numpunct_cache): Add member _M_grouping_size, caching the length of _M_grouping.
2004-01-14  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h (struct __numpunct_cache):
	Add member _M_grouping_size, caching the length of _M_grouping.
	(__numpunct_cache<>::_M_cache): Assign the latter.
	(__verify_grouping): Move declaration...
	* include/bits/locale_facets.tcc (__verify_grouping):
	... here, change signature to take a const char* and a size_t
	for the grouping; not a template anymore.
	(__add_grouping, num_put::_M_group_int, num_put::_M_group_float):
	Likewise change signature and tweak consistently.
	(num_get::_M_extract_float, num_get::_M_extract_int,
	num_put::_M_insert_int, num_put::_M_insert_float,
	money_get::do_get(string_type&), money_get::do_put(string_type)):
	Update callers.
	* config/locale/generic/numeric_members.cc
	(numpunct<>::_M_initialize_numpunct): Assign the new member.
	* config/locale/gnu/numeric_members.cc
	(numpunct<>::_M_initialize_numpunct): Likewise.
	* src/locale-inst.cc (__add_grouping): Tweak signature.
	(__verify_grouping): Don't instantiate, not a template anymore.

	* include/bits/locale_facets.h: Rename _M_truename_len ->
	_M_truename_size, _M_falsename_len -> _M_falsename_size.
	* include/bits/locale_facets.tcc: Likewise.
	* config/locale/generic/numeric_members.cc: Likewise.
	* config/locale/gnu/numeric_members.cc: Likewise.

From-SVN: r75876
2004-01-14 19:14:39 +00:00
Stefan Olsson
41f2472503 mt_allocator.h: Fixups.
2004-01-14  Stefan Olsson  <stefan@snon.net>

	* include/ext/mt_allocator.h: Fixups.
	* testsuite/performance/allocator.cc: Enable __mt_alloc tests.
	* testsuite/performance/allocator_thread.cc: Same.

From-SVN: r75875
2004-01-14 18:54:18 +00:00
Benjamin Kosnik
070ce57b95 ifstream_extract_float.cc: Add higher precision tests.
2
2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/performance/ifstream_extract_float.cc: Add higher
	precision tests.
	* testsuite/performance/ofstream_insert_float.cc: Same.

From-SVN: r75841
2004-01-14 04:11:57 +00:00
Paolo Carlini
c951359074 locale-misc-inst.cc (__convert_from_v(long), [...]): Remove, unused.
2004-01-13  Paolo Carlini  <pcarlini@suse.de>

	* src/locale-misc-inst.cc (__convert_from_v(long),
	__convert_from_v(unsigned long), __convert_from_v(long long),
	__convert_from_v(unsigned long long)): Remove, unused.

From-SVN: r75822
2004-01-13 23:25:55 +00:00
Benjamin Kosnik
60af005f4b ifstream_extract_float.cc: New.
2004-01-13  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/performance/ifstream_extract_float.cc: New.
	* testsuite/performance/ofstream_insert_float.cc: Float generation
	matches above.

	* 20_util/auto_ptr.cc, auto_ptr_neg.cc: Break into...
	* 20_util/auto_ptr/1.cc: ...this.
	* 20_util/auto_ptr/2.cc: Same.
	* 20_util/auto_ptr/3.cc: Same.
	* 20_util/auto_ptr/3946.cc: Same.
	* 20_util/auto_ptr/4.cc: Same.
	* 20_util/auto_ptr/5.cc: Same.
	* 20_util/auto_ptr/6.cc: Same.
	* 20_util/auto_ptr/7.cc: Same.
	* 20_util/auto_ptr/assign_neg.cc
	* 20_util/pairs.cc: Break into...
	* 20_util/pair/1.cc: ...this.
	* 20_util/pair/2.cc: Same.
	* 20_util/pair/3.cc: Same.
	* 20_util/pair/4.cc: Same.

From-SVN: r75811
2004-01-13 18:57:45 +00:00
Paolo Carlini
d8ef7deccb locale_facets.tcc (num_get::do_get(void*&)): Set correctly just basefield, the only group that matters.
2004-01-13  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get::do_get(void*&)):
	Set correctly just basefield, the only group that matters.

From-SVN: r75810
2004-01-13 18:53:57 +00:00
Paolo Carlini
5640461d2f rope (_Rope_rep_alloc_base): Eliminate.
2004-01-13  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/rope (_Rope_rep_alloc_base): Eliminate.
	(_Rope_rep_base): Inherit directly from the rope allocator;
	use rebinding instead of _Alloc_traits; pick up data member
	from _Rope_rep_alloc_base.
	(_Rope_alloc_base): Eliminate.
	(_Rope_base): Inherit directly from the rope allocator; use
	rebinding instead of _Alloc_traits; pick up data member from
	_Rope_alloc_base.
	(rope::_S_new_RopeLeaf, rope::_S_new_RopeConcatenation,
	rope::_S_new_RopeFunction, rope::_S_new_RopeSubstring): Tweak.

From-SVN: r75800
2004-01-13 11:46:50 +00:00
Paolo Carlini
95c9624ff5 re PR libstdc++/13650 (string::compare should not (always) use traits_type::length())
2004-01-13  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13650
	* include/bits/basic_string.tcc (compare(size_type, size_type,
	const _CharT*, size_type)): Implement correctly the resolution
	of DR 5: basically, s is a char array, -not- a C string.
	* include/bits/basic_string.h: Tweak some comments.
	* testsuite/21_strings/basic_string/compare/char/13650.cc: New.
	* testsuite/21_strings/basic_string/compare/wchar_t/13650.cc: New.

From-SVN: r75798
2004-01-13 11:12:38 +00:00
Andreas Tobler
c91de77a9d libstdc++.exp: Set LD_LIBRARY_PATH_32 for Solaris.
2004-01-10  Andreas Tobler  <a.tobler@schweiz.ch>

	* testsuite/lib/libstdc++.exp: Set LD_LIBRARY_PATH_32 for
	Solaris.

From-SVN: r75759
2004-01-12 21:47:44 +01:00
Paolo Carlini
300b3317f3 13582-2.cc: Use try_mkfifo.
2004-01-12  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc:
	Use try_mkfifo.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc:
	Likewise.

From-SVN: r75738
2004-01-12 17:25:25 +00:00
Paolo Carlini
dc6798f865 locale_facets.h (struct __numpunct_cache): Add members _M_truename_len and _M_falsename_len...
2004-01-12  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h (struct __numpunct_cache):
	Add members _M_truename_len and _M_falsename_len, caching
	the lengths of _M_truename and _M_falsename.
	(__numpunct_cache<>::_M_cache): Assign the latter.
	* include/bits/locale_facets.tcc (num_get::do_get(bool&),
	num_put::do_put(bool)): Use the new members, thus avoiding
	computing string lengths again and again.
	* config/locale/generic/numeric_members.cc
	(numpunct<>::_M_initialize_numpunct): Assign the new members.
	* config/locale/gnu/numeric_members.cc
	(numpunct<>::_M_initialize_numpunct): Likewise.

From-SVN: r75735
2004-01-12 17:02:08 +00:00
Mark Mitchell
ea1ea21af5 testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
* testsuite/testsuite_hooks.h (__gnu_test::try_mkfifo): Declare it.
	* testsuite/testsuite_hooks.cc (__gnu_test::try_mkfifo): Define
	it.
	* testsuite/27_io/basic_filebuf/close/char/4879.cc: Use try_mkfifo
	and remove Cygwin XFAIL.
	* testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
	* testsuite/27_io/basic_filebuf/showmanyc/char/9533-1.cc:
	Likewise.
	* testsuite/27_io/basic_filebuf/underflow/char/10097.cc: Likewise.
	* testsuite/27_io/objects/char/7.cc: Likewise.
	* testsuite/27_io/objects/char/9661-1.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/7.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/9661-1.cc: Likewise.

From-SVN: r75706
2004-01-12 08:11:08 +00:00
Paolo Carlini
b74a685105 2004-01-11 Paolo Carlini <pcarlini@suse.de>
* Fix a date in the ChangeLog.

From-SVN: r75682
2004-01-11 17:43:11 +00:00
Gabriel Dos Reis
3b3bfc0eeb std_complex.h (std::complex<>::real): Return a reference.
* include/std/std_complex.h (std::complex<>::real): Return a
        reference. Add non-const overload.
        (std::complex<>::real): Likewise.
        (std::real): Likewise.
        (std::imag): Likewise.
        (std::operator+): Tidy.
        (std::operator-): Likewise.
        (std::operator*): Likewise.
        (std::operator/): Likewise.
        (std::operator>>): Likewise.

From-SVN: r75680
2004-01-11 16:15:42 +00:00
Paolo Carlini
09625c1681 re PR libstdc++/13582 (basic_filebuf::imbue drops characters)
2004-01-11  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13582
	* include/bits/fstream.tcc (imbue): Exploit the external
	buffer to imbue 'on the fly' a new locale and convert its
	remainder with the new codecvt facet.
	(underflow): Tweak slightly to deal with this special case.
	* testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Ditto.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Ditto.
	* testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Ditto.
	* testsuite/27_io/objects/wchar_t/13582-1_xin.in: Ditto.

From-SVN: r75677
2004-01-11 15:17:02 +00:00
Paolo Carlini
a8d6534992 lwg-active.html, [...]: Import Revision 28.
2004-01-10  Paolo Carlini  <pcarlini@suse.de>

	* docs/html/ext/lwg-active.html, docs/html/ext/lwg-defects.html:
	Import Revision 28.

From-SVN: r75648
2004-01-10 20:09:26 +00:00
Paolo Carlini
b656faa883 re PR libstdc++/13630 (Wrong type for locale::category)
2004-01-10  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13630
	* include/bits/locale_classes.h (class locale): Fix category typedef.
	* testsuite/22_locale/locale/13630.cc: Add.

From-SVN: r75635
2004-01-10 10:15:35 +00:00
Giovanni Bajo
f88e471576 locale_facets.h: Make a name really dependent.
* include/bits/locale_facets.h: Make a name really dependent. This
	will be needed when Core Issue 224 is implemented.

From-SVN: r75617
2004-01-10 01:10:23 +00:00
Paolo Carlini
64cb2c4aed allocator.cc: Demangle typeid(obj).name().
2004-01-09  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/allocator.cc: Demangle typeid(obj).name().
	* testsuite/performance/allocator_thread.cc: Likewise.

From-SVN: r75571
2004-01-09 10:09:31 +00:00
Benjamin Kosnik
158960ba7e crossconfig.m4: Add LFS, io bits to linux cross config.
2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>

	* crossconfig.m4: Add LFS, io bits to linux cross config.
	* acconfig.h: Remove obsolete bits, reorder.
	* config.h.in: Regenerate.
	* aclocal.m4: Same.
	* configure: Same.

From-SVN: r75520
2004-01-07 22:17:01 +00:00
Benjamin Kosnik
e135a038d3 [multiple changes]
2004-01-07  Gawain Bolton  <gp.bolton@computer.org>

	* include/bits/stl_list.h:
	* include/bits/list.tc:
	* src/list.cc:
        Performance enhancements for destructor, push_front(),
        push_back(), pop_front(), pop_back(), sort()
        Eliminated static_casts where possible.
        Moved code out of header files into new src/list.cc
        implementation file for library where possible.
        Remove inheritance from iterator class and create separate
        classes for non-constant and constant iterators.
	* include/bits/stl_tree.h (_Rb_tree class):
	* src/tree.cc:
        Only erase contents in destructor.
        Eliminate unnecessary initialization in assignment operator.
        Optimize for the nominal case by not checking whether
        container is empty in clear().
        Re-order test in _M_insert() to improve performance.
        Move initialization of new node's left & right pointers to
        src/tree.cc to where new node's colour is initialized
        and to reduce the amount of inline code.
        Use  _M_leftmost() and _M_end() to improve readability where
        appropriate.
        Create separate classes for non-constant and constant
        iterators to clarify code, avoid extra template parameters and
        casting away constness.

2004-01-07  Benjamin Kosnik  <bkoz@redhat.com>

	* src/Makefile.am (sources): Add list.cc, tree.cc.
	* src/stl_tree.cc: Move to...
	* src/tree.cc: ...here.
	* src/list.cc: Add.
	* config/linker-map.gnu: Tweaks.
	* testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
	* testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.

	* bits/stl_vector.h: Column wrap comments.

From-SVN: r75515
2004-01-07 20:55:06 +00:00
Loren J. Rittle
677e7ddcee (re-open) PR libstdc++/12658
(re-open) PR libstdc++/12658
	* src/locale_init.cc (locale::locale): Remove ill-scoped mutex.
	(locale::global): Likewise.

From-SVN: r75509
2004-01-07 17:40:45 +00:00
Paolo Carlini
d8f5bd5016 9318-in.cc: Remove redundant #include.
2004-01-07  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_istream/extractors_other/char/9318-in.cc:
	Remove redundant #include.
	* testsuite/27_io/basic_ostream/endl/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/ends/char/1.cc: Likewise,
	re-enable normal testing.
	* testsuite/27_io/basic_ostream/ends/char/2.cc: Remove redundant
	#include.
	* testsuite/27_io/basic_ostream/flush/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/1.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/2.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/3.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/4.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/5.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/6.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/8.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/7.cc:
	More properly, #include <locale>.
	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/8.cc:
	Remove redundant #include.
	* testsuite/27_io/basic_ostream/inserters_other/char/2.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/3.cc: Remove
	redundant DejaGnu directive.
	* testsuite/27_io/basic_ostream/inserters_other/char/4.cc: Remove
	redundant #include.

From-SVN: r75508
2004-01-07 17:13:51 +00:00
Benjamin Kosnik
b61f9bf039 check_performance: Use -pthread.
2004-01-06  Benjamin Kosnik  <bkoz@redhat.com>
            Stefan Olsson  <stefan@snon.net>

	* scripts/check_performance: Use -pthread.
	* testsuite/performance/allocator.cc: Tweaks, add list.
	* testsuite/performance/allocator_thread.cc: New.

Co-Authored-By: Stefan Olsson <stefan@snon.net>

From-SVN: r75499
2004-01-07 05:59:19 +00:00
Jerry Quinn
9a01c9b061 locale_facets.h: Document public classes and functions.
2003-01-06  Jerry Quinn  <jlquinn@optonline.net>

	* include/bits/locale_facets.h: Document public classes and
	functions.
	* include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
	Add comment.

From-SVN: r75498
2004-01-07 05:22:37 +00:00
Paolo Carlini
b80115c4b7 1.cc: Remove redundant #includes.
2004-01-06  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_istream/extractors_other/char/1.cc:
	Remove redundant #includes.
	* testsuite/27_io/basic_istream/extractors_other/char/2.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_other/char/3.cc:
	Likewise.
	* testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/get/char/2.cc: Likewise.
	* testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/getline/char/2.cc: Likewise.
	* testsuite/27_io/basic_istream/getline/char/3.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/char/6360.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/char/7220.cc: Likewise.
	* testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/peek/char/6414.cc: Likewise.
	* testsuite/27_io/basic_istream/putback/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/read/char/2.cc: Likewise.
	* testsuite/27_io/basic_istream/read/char/3.cc: Likewise.
	* testsuite/27_io/basic_istream/readsome/char/6746-1.cc:
	Likewise.
	* testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
	Likewise.
	* testsuite/27_io/basic_istream/readsome/char/8258.cc:
	Likewise.
	* testsuite/27_io/basic_istream/seekg/char/2346-fstream.cc:
	Likewise.
	* testsuite/27_io/basic_istream/seekg/char/2346-sstream.cc:
	Likewise.
	* testsuite/27_io/basic_istream/seekg/char/8348-1.cc: Likewise.
	* testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
	* testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.

From-SVN: r75469
2004-01-06 12:20:42 +00:00
Paolo Carlini
22ed0590a4 2004-01-04 Paolo Carlini <pcarlini@suse.de>
* Fix year in the Changelog entry of last commit.

From-SVN: r75399
2004-01-04 23:26:31 +00:00
Paolo Carlini
223b5084a6 01.cc: Remove redundant #includes.
2003-01-04  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
	Remove redundant #includes.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/02.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/03.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/06.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/07.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/08.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/11.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/1.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
	Likewise.
	* testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/1.cc:
	Likewise.

From-SVN: r75398
2004-01-04 23:19:00 +00:00
Mark Mitchell
4f8163b19c re PR c++/12226 (g++ fails to enforce accessibility requirement for copy constructor)
PR c++/12226
	* call.c (CHECK_COPY_CONSTRUCTOR_P): New macro.
	(reference_binding): Set it when appropriate.
	(build_temp): New function, split out from ...
	(convert_like_real): ... here.  Honor CHECK_COPY_CONSTRUCTOR_P.
	(initialize_reference): Likewise.

	PR c++/12226
	* g++.dg/init/copy7.c: New test.

	PR c++/12226
	* testsuite/27_io/basic_filebuf/4.cc: Remove use of invalid copy
	constructor.
	* testsuite/27_io/basic_fstream/4.cc: Likewise.
	* testsuite/27_io/basic_ifstream/4.cc: Likewise.
	* testsuite/27_io/basic_ios/4.cc: Likewise.
	* testsuite/27_io/basic_iostream/4.cc: Likewise.
	* testsuite/27_io/basic_istream/4.cc: Likewise.
	* testsuite/27_io/basic_istingstream/4.cc: Likewise.
	* testsuite/27_io/basic_ofstream/4.cc: Likewise.
	* testsuite/27_io/basic_ostream/4.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/4.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/5.cc: Likewise.
	* testsuite/27_io/basic_stringstream/4.cc: Likewise.

	PR c++/13536
	* parser.c (cp_parser): Add in_type_id_in_expr_p.
	(cp_parser_new): Initialize it.
	(cp_parser_postfix_expression): Set it.
	(cp_parser_sizeof_operand): Likewise.
	(cp_parser_parameteR_declaration): Do not commit early to tenative
	parsers when in_type_id_in_expr_p is set.

	PR c++/13536
	* g++.dg/parse/cast1.C: New test.

From-SVN: r75397
2004-01-04 22:42:22 +00:00
Paolo Carlini
17fa55600a numeric_members.cc (_M_initialize_numpunct): Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in...
2004-01-04  Paolo Carlini  <pcarlini@suse.de>

	* config/locale/generic/numeric_members.cc (_M_initialize_numpunct):
	Avoid unnecessarily zero terminating _M_atoms_out and _M_atoms_in;
	always use double underscored names.
	* config/locale/gnu/numeric_members.cc (_M_initialize_numpunct):
	Likewise.
	* include/bits/locale_facets.h (struct __numpunct_cache):
	Dimension _M_atoms_out and _M_atoms_in one position smaller.
	(__numpunct_cache<>::_M_cache): Don't zero terminate _M_atoms_out
	and _M_atoms_in.

From-SVN: r75393
2004-01-04 18:34:27 +00:00
Paolo Carlini
4f0c9c8a87 locale_facets.tcc (num_get::_M_extract_int, [...]): According to 22.2.2.1.2...
2003-12-31  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get::_M_extract_int,
	num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
	_first_ look for thousands_sep, then for decimal_point and
	finally for digits.
	(num_get::_M_extract_float): After the decimal_point or
	'e'/'E', decimal_point and thousands_sep just break out the
	parsing loop.
	* testsuite/22_locale/num_get/get/char/11.cc: Add tests.
	* testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.

From-SVN: r75259
2003-12-31 08:28:10 +00:00
Paolo Carlini
a27cf81c7a re PR libstdc++/13369 (__verify_grouping (and __add_grouping?) not correct)
2003-12-30  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13369
	* include/bits/locale_facets.tcc (__verify_grouping):
	Fix to deal properly with __grouping_tmp.size() >
	__grouping.size().
	* testsuite/22_locale/num_get/get/char/13.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/13.cc: Ditto.

From-SVN: r75227
2003-12-30 10:43:54 +00:00
Jerry Quinn
a043b1f5c9 locale_facets.h (ctype.narrow,widen): Add cast.
2003-12-29  Jerry Quinn  <jlquinn@optonline.net>

	* include/bits/locale_facets.h (ctype.narrow,widen): Add cast.

From-SVN: r75222
2003-12-30 03:09:17 +00:00
Paolo Carlini
9d47bc51b8 acinclude.m4 (GLIBCXX_CHECK_LFS): Add -fno-exceptions to CXXFLAGS.
2003-12-29  Paolo Carlini  <pcarlini@suse.de>

	* acinclude.m4 (GLIBCXX_CHECK_LFS): Add -fno-exceptions
	to CXXFLAGS.
	* aclocal.m4: Regenerate.
	* configure: Likewise.

From-SVN: r75212
2003-12-29 20:13:22 +00:00
Mark Mitchell
517da0ce8a acconfig.h: Add _GLIBCXX_USE_C99_MATH.
* acconfig.h: Add _GLIBCXX_USE_C99_MATH.
	* acinclude.m4 (GLIBCXX_ENABLE_C99): Define GLIBCXX_USE_C99_MATH.
	* configure.ac: Define HAVE_S_ISREG and HAVE_S_IFREG when
	targeting newlib.
	* aclocal.m4: Regenerated.
	* config.h.in: Likewise.
	* configure: Likewise.
	* Makefile.in: Likewise.
	* include/Makefile.in: Likewise.
	* libmath/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* include/c_std/std_cmath.h (_GLIBCXX_USE_C99): Replace with ...
	(_GLIBCXX_USE_C99_MATH): ... this.

	* testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: XFAIL for
	arm-none-elf.
	* testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
	* testsuite/27_io/basic_istream/readsome/char/6476-2.cc: Likewise.
	* testsuite/27_io/objects/char/9.cc: Likewise.
	* testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.

From-SVN: r75209
2003-12-29 19:26:16 +00:00
Paolo Carlini
b8da67fa2f pool_allocator.h (class __pool_alloc): Use operator new and operator delete.
2003-12-28  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/pool_allocator.h (class __pool_alloc): Use
	operator new and operator delete.

From-SVN: r75181
2003-12-28 12:13:15 +00:00
Andrew Pinski
be88628621 atomicity.h (__exchange_and_add): Fix output constraint.
* config/cpu/i386/atomicity.h (__exchange_and_add): Fix output
        constraint.

From-SVN: r75017
2003-12-24 20:27:58 -08:00
Andrew Pinski
a51c409779 re PR libstdc++/13480 (bits/atomicity.h:56: warning: read-write constraint does not allow a register)
2003-12-24  Andrew Pinski  <pinskia@physics.uc.edu>

        PR libstdc++/13480
        * config/cpu/i486/atomicity.h: Split up read-write memory operand.

From-SVN: r75016
2003-12-24 18:04:06 -08:00
Benjamin Kosnik
d38d4e5d18 new_allocator.h (new_allocator): Proper allocator class.
2003-12-23  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/new_allocator.h (new_allocator): Proper allocator class.
	(__new_alloc): Delete.
	* include/ext/malloc_allocator.h (malloc_allocator): Same.
	(__malloc_alloc): Delete.
 	* include/ext/mt_allocator.h: Same, but weakly.
 	* include/ext/debug_allocator.h: Convert to the new style.
	* include/ext/pool_allocator.h: Use global new and delete directly.
	* include/backward/alloc.h: Don't inject malloc_allocator, or
	debug_allocator.
	* testsuite/ext/allocators.cc: Minimal fixups for usage of new
	classes.  Comment out tests with __pool_alloc for now.
	* testsuite/performance/allocator.cc: Same.

From-SVN: r74965
2003-12-23 07:24:57 +00:00
Matt Austern
34c878297e stl_bvector.h (_Bvector_alloc_base): Eliminate.
* include/bits/stl_bvector.h (_Bvector_alloc_base): Eliminate.
        (_Bvector_base): Inherit directly from word allocator.
        * include/bits/stl_tree.h (_Rb_tree_alloc_base): Eliminate.
        (_Rb_tree_base): Eliminate.
        (_Rb_tree): Inherit directly from node allocator.
        * include/ext/slist (_Alist_alloc_base): Eliminate.
        (_Slist_base): Inherit direcly from node allocator.

From-SVN: r74955
2003-12-23 00:09:26 +00:00
Benjamin Kosnik
941fe801b4 numeric_limits.cc: Add _GLIBCXX_ASSERT to dg-options in testcases that use VERIFY.
2003-12-22  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/18_support/numeric_limits.cc: Add _GLIBCXX_ASSERT to
	dg-options in testcases that use VERIFY.
	* testsuite/23_containers/vector/invalidation/1.cc: Same.
	* testsuite/23_containers/vector/invalidation/2.cc: Same.
	* testsuite/23_containers/vector/invalidation/3.cc: Same.
	* testsuite/23_containers/vector/invalidation/4.cc: Same.
	* testsuite/23_containers/vector/resize/1.cc: Same.
	* testsuite/26_numerics/complex_value.cc: Same.
	* testsuite/27_io/ios_base/storage/1.cc: Same.
	* testsuite/27_io/ios_base/storage/2.cc: Same.
	* testsuite/27_io/ios_base/storage/3.cc: Same.
	* testsuite/27_io/manipulators/standard/char/2.cc: Same.
	* testsuite/backward/11460.cc: Same.
	* testsuite/backward/strstream_members.cc: Same.

	* include/ext/hash_set (class hash_multiset): Fix typo.

From-SVN: r74951
2003-12-22 21:05:22 +00:00
Benjamin Kosnik
70a8416094 5.cc: Don't use stdc++.h.gch.
2003-12-22  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/27_io/objects/char/5.cc: Don't use stdc++.h.gch.
	* testsuite/27_io/objects/wchar_t/5.cc: Same.
	* docs/html/test.html: Add docs for constructing test files that
	don't use stdc++.h.gch.
	* scripts/testsuite_flags.in (PCHFLAGS): Move to --cxxpchflags.
	* testsuite/libstdc++-dg/normal.exp: Compute DEFAULT_CXXFLAGS
	differently.

	* include/bits/ios_base.h (ios_base::Init::_S_initialized): Remove.
	* src/ios_init.cc: Same.
	* config/linker-map.gnu: Same.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Adjust line numbers.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Same.

From-SVN: r74946
2003-12-22 20:09:23 +00:00
Andrew Pinski
67e053df03 re PR libstdc++/13462 (Non-standard conformed type set::pointer)
2003-12-22  Andrew Pinski  <pinskia@physics.uc.edu>

       PR libstdc++/13462
       * include/bits/stl_multiset.h (__gnu_norm::multiset): Define pointer
       as allocator's pointer, likewise for reference, const_pointer, and
       const_reference.
       * include/bits/stl_set.h (__gnu_norm::set): Likewise.
       * include/ext/hash_set (__gnu_ext::hash_set): Likewise.
       (__gnu_ext::hash_multiset): Likewise.

From-SVN: r74944
2003-12-22 11:32:34 -08:00
Paolo Carlini
a827daa06b locale_facets.tcc (num_get::_M_extract_int, [...]): According to 22.2.2.1.2...
2003-12-22  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get::_M_extract_int,
	num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
	first look for decimal_point and thousands_sep, when parsing
	sign, leading zeros (and 0, Ox, 0X for integer types) too.
	* testsuite/22_locale/num_get/get/char/12.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/12.cc: Likewise.

	* testsuite/22_locale/num_get/get/char/11.cc: Add a comment.
	* testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.

From-SVN: r74932
2003-12-22 11:00:43 +00:00
Jason Merrill
c703c3900e atomicity.h: Fix oversight in previous change.
* config/cpu/powerpc/atomicity.h: Fix oversight in previous
        change.

From-SVN: r74890
2003-12-20 13:45:30 -05:00
Jerry Quinn
3101fa3c06 TODO: Update.
2003-12-20  Jerry Quinn  <jlquinn@optonline.net>

	* docs/doxygen/TODO: Update.
	* include/bits/locale_classes.h (locale, facet, id): Document.
	* include/bits/locale_facets.tcc (has_facet, use_facet): Document.

From-SVN: r74884
2003-12-20 15:51:09 +00:00
Jason Merrill
46eb4b3989 atomicity.h: Remove memory clobbers.
* config/cpu/cris/atomicity.h: Remove memory clobbers.
        * config/cpu/mips/atomicity.h: Likewise.
        * config/cpu/i486/atomicity.h: Remove memory clobbers.
        Split up read-write memory operand.
        * config/cpu/m68k/atomicity.h: Likewise.
        * config/cpu/powerpc/atomicity.h: Make memory I/O explicit.
        * config/cpu/s390/atomicity.h: Likewise.
        * config/cpu/sparc/atomicity.h: Likewise.

From-SVN: r74870
2003-12-19 22:08:42 -05:00
Carlo Wood
6fe68b3740 * bits/demangle.h
namespace __gnu_cxx::demangler
(session<Allocator>::decode_encoding): Put the postfix
of the return type of (member) functions after the function
instead of after the return type.

From-SVN: r74853
2003-12-19 23:15:24 +00:00
Jerry Quinn
2dbd0234aa 2003-12-19 Jerry Quinn <jlquinn@optonline.net>
* include/bits/locale_facet.h
        (__ctype_abstract_base,ctype<charT>,ctype<char>,ctype<wchar_t>):
        Document.

From-SVN: r74848
2003-12-19 20:44:18 +00:00
Paolo Carlini
cc16f8b948 locale_facets.tcc (num_get::_M_extract_int, [...]): According to 22.2.2.1.2, p8-9, first look for decimal_point and thousands_sep.
2003-12-19  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get::_M_extract_int,
	num_get::_M_extract_float): According to 22.2.2.1.2, p8-9,
	first look for decimal_point and thousands_sep.
	* testsuite/22_locale/num_get/get/char/11.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/11.cc: Likewise.

From-SVN: r74841
2003-12-19 18:14:22 +00:00
Paolo Carlini
1b4513069a locale_facets.tcc (num_get::_M_extract_float): When __found_sci becomes true stop eating thousands separators and the decimal...
2003-12-19  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get::_M_extract_float):
	When __found_sci becomes true stop eating thousands separators
	and the decimal radix separator.
	* testsuite/22_locale/num_get/get/char/9.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.

	* config/locale/generic/c_locale.cc (__convert_to_v): Don't
	check that *__sanity == '\0': parsing may stop earlier, still
	be successful.
	* config/locale/gnu/c_locale.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/10.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
	Tweak in one place accordingly.

	* testsuite/22_locale/money_get/get/char/1.cc: Fix typo.
	* testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.

From-SVN: r74826
2003-12-19 09:35:24 +00:00
Benjamin Kosnik
4d54539c8f stl_list.h: Formatting tweaks.
2003-12-18  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/stl_list.h: Formatting tweaks.
	* include/bits/list.tcc: Same.

From-SVN: r74795
2003-12-18 20:23:04 +00:00
Matt Austern
8a1d8dd9c8 demangle.h: Fix allocator type correctness, i.e.
* include/bits/demangle.h: Fix allocator type correctness,
	i.e. make sure that when we instantiate a container with a value
	type and an allocator, the allocator's value type matches the
	container's.
	* include/bits/stl_deque.h (_Deque_alloc_base): Eliminate.
	(_Deque_base): inherit directly from the deque's allocator.  Use
	rebinding instead of _Alloc_traits.  Pick up data members from
	_Deque_alloc_base.
	* include/bits/stl_list.h (_List_alloc_base): Eliminate.
	(_List_base): Inherit directly from the list's allocator.  Use
	rebinding instead of _Alloc_traits.  Pick up data members from
	_List_alloc_base.
	* include/bits/stl_vector.h (_Vector_alloc_base): Eliminate
	(_Vector_base): Inherit directly from the vector's allocator.  Use
	rebinding instead of _Alloc_traits.  Pick up data members from
	_Vector_alloc_base.
	* include/ext/hashtable.h: Fix allocator type correctness (the
	vector of buckets must be passed an allocator for objects of
	type _Node*).  Use rebinding instead of _Alloc_traits.

From-SVN: r74787
2003-12-18 18:35:38 +00:00
Paolo Carlini
7e08b3b816 locale_facets.tcc (time_get::_M_extract_via_format): Use narrow to get from __format[__i] a char __c representing a formatting code...
2003-12-17  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (time_get::_M_extract_via_format):
	Use narrow to get from __format[__i] a char __c representing a
	formatting code, don't use it to compare *__beg to __format[__i].
	* testsuite/22_locale/time_get/get_date/wchar_t/4.cc: New.

From-SVN: r74755
2003-12-17 22:14:09 +00:00
Paolo Carlini
cbf22cc549 container_benchmark.cc: Tweak outputs.
2003-12-17  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/container_benchmark.cc: Tweak outputs.

	* testsuite/performance/list_create_fill_sort.cc: Shrink a
	bit some outputs.

	* testsuite/testsuite_performance.h: Widen a few output fields.

	* testsuite/performance/ifstream_extract_int.cc: New.

From-SVN: r74738
2003-12-17 10:16:03 +00:00
Phil Edwards
2d52e9e364 configure.ac (AM_INIT_AUTOMAKE): Don't warn about GNU Make.
2003-12-16  Phil Edwards  <phil@codesourcery.com>

	* configure.ac (AM_INIT_AUTOMAKE):  Don't warn about GNU Make.
	* configure:  Regenerated.
	* Makefile.am (check-%):  New catch-all forwarding target.
	* Makefile.in:  Regenerated.

From-SVN: r74718
2003-12-16 23:44:53 +00:00
Paolo Carlini
93cbdb1a0c container_benchmark.cc: New...
2003-12-16  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/container_benchmark.cc: New, a
	benchmark developed by Bjarne Stroustrup and Alexander
	Stepanov and made available with no restrictions.

	* testsuite/testsuite_performance.h (report_header): New,
	useful to produce header lines in the reports.

From-SVN: r74713
2003-12-16 22:44:19 +00:00
Jonathan Wakely
d159598dda howto.html: Document shrink-to-fit reserve().
2003-12-16  Jonathan Wakely  <redi@gcc.gnu.org>

	* docs/html/21_strings/howto.html: Document shrink-to-fit reserve().
	* docs/html/faq/index.html: Reducing vector's capacity() to size().
	* docs/html/documentation.html, docs/html/faq/index.txt: Regenerate.

From-SVN: r74695
2003-12-16 13:57:55 +00:00
Paolo Carlini
b1660ae9ea narrow_widen_char.cc: Tweak the number of iterations for each test.
2003-12-16  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/performance/narrow_widen_char.cc: Tweak the
	number of iterations for each test.
	* testsuite/performance/narrow_widen_wchar_t.cc: Add a
	missing clear_counters.

From-SVN: r74692
2003-12-16 13:25:23 +00:00
Paolo Carlini
9a1349b920 re PR libstdc++/11723 (ctype<wchar_t>::do_is(mask, wchar_t) is slow)
2003-12-16  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/11723
	* include/bits/locale_facets.h: Add _M_bit and _M_wmask,
	used to speed up the computation of ctype::do_is.
	* config/locale/generic/ctype_members.cc
	(_M_initialize_ctype): Fill _M_bit and _M_wmask.
	(ctype::do_is): Use _M_bit and _M_wmask.
	* config/locale/gnu/ctype_members.cc: Likewise.
	* testsuite/performance/is_wchar_t.cc: New.

	* testsuite/performance/narrow_widen_wchar_t.cc: Tweak
	string literal (incorrect citation ;)

	* include/bits/locale_facets.h: Minor tweaks, const
	correctness, unsigned -> size_t.

From-SVN: r74686
2003-12-16 11:00:52 +00:00
Jerry Quinn
84cea62612 locale_facets.h (widen, narrow): Uncomment the intended code.
2003-12-16  Jerry Quinn  <jlquinn@optonline.net>

	* include/bits/locale_facets.h (widen, narrow):  Uncomment the
	intended code.

From-SVN: r74668
2003-12-16 05:39:36 +00:00
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
Carlo Wood
91daef582a ios_base.h (Init::_S_initialized): Change into declaration.
* include/bits/ios_base.h (Init::_S_initialized): Change into declaration.
* src/ios_init.cc (Init::_S_initialized): Add definition.

From-SVN: r74656
2003-12-16 00:15:24 +00:00
Benjamin Kosnik
3fe1373814 re PR libstdc++/12658 (Thread safety problems in locale::global() and locale::locale())
2003-12-15  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/12658
	* include/Makefile.am (bits_headers): Add concurrence.h.
	* include/Makefile.in: Regenerated.
	* include/bits/concurrence.h: New.
	* src/locale_init.cc: Use it.
	(locale::locale): Lock critical regions.
	(locale::global): Same.

From-SVN: r74648
2003-12-15 21:08:03 +00:00
Benjamin Kosnik
1313d87fd3 basic_string.h: Change _*_references to _*_refcount.
2003-12-15  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/basic_string.h: Change _*_references to _*_refcount.
	* include/bits/locale_classes.h: Same.
	* src/locale.cc: Same.
	* src/locale_name.cc: Same.
	* src/locale_init.cc: Same.

From-SVN: r74645
2003-12-15 19:48:50 +00:00
Benjamin Kosnik
fa972243f6 re PR libstdc++/12855 (Thread safety problems in ios_base::Init)
2003-12-15  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/12855
	* include/bits/ios_base.h (Init::_S_ios_base_init): Change to
	_S_refcount, make atomic.
	* src/ios.cc: Adjust definition.
	* src/ios_init.cc (ios_base::Init::Init): Use __exchange_and_add,
	and __atomic_add.
	(ios_base::Init::~Init): Same.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.

From-SVN: r74642
2003-12-15 19:03:13 +00:00
Paolo Carlini
ca13fb7f5d locale_facets.tcc (num_get::do_get(bool&)): Fail as soon as the begins of both truename and falsename stop to match...
2003-12-15  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get::do_get(bool&)):
	Fail as soon as the begins of both truename and falsename
	stop to match; always leave __beg one position beyond the
	last char successfully matched.
	* testsuite/22_locale/num_get/get/char/8.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/8.cc: Likewise.

2003-12-15  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h (_M_widen): Reserve space
	for all the possible widened chars.
	* config/locale/generic/ctype_members.cc (_M_initialize_ctype):
	Compute at construction time all the possible widened chars.
	(do_widen): Tweak, simplify.
	* config/locale/gnu/ctype_members.cc: Likewise.
	* testsuite/performance/narrow_widen_wchar_t.cc: Add tests
	for the array versions.

From-SVN: r74636
2003-12-15 16:56:42 +00:00
Paolo Carlini
e3c0c0989b re PR libstdc++/13341 (ctype<wchar_t>::do_narrow(wchar_t, char) is slow)
2003-12-12  Paolo Carlini  <pcarlini@suse.de>
	    Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/13341
	* include/bits/locale_facets.h (ctype<wchar_t>): Declare
	_M_initialize_ctype() and _M_narrow_ok, _M_narrow and _M_widen.
	* src/ctype.cc (ctype<wchar_t>::ctype(size_t),
	ctype<wchar_t>::ctype(__c_locale, size_t)): Use
	_M_initialize_ctype to fill _M_narrow and _M_widen.
	(ctype_byname<wchar_t>::ctype_byname(const char*, size_t)):
	Likewise.
	* config/locale/generic/ctype_members.cc (do_narrow, do_widen)
	Use _M_narrow and _M_widen when possible, instead of calling
	wctob and btowc, respectively.
	(_M_initialize_ctype): Define, it fills at construction time
	_M_narrow and _M_widen.
	* config/locale/gnu/ctype_members.cc: Likewise.
	* testsuite/performance/narrow_widen_wchar_t.cc: New.

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

From-SVN: r74580
2003-12-12 19:44:17 +00:00
Jonathan Wakely
a7bc3cdc85 index.txt: Regenerate after adding <link> tags.
2003-12-12  Jonathan Wakely  <redi@gcc.gnu.org>

	* docs/html/faq/index.txt: Regenerate after adding <link> tags.

From-SVN: r74563
2003-12-12 10:55:43 +00:00
Neil Ferguson
cbc6795585 basic_string.tcc (reserve): Allow shrink-to-fit.
2003-12-11  Neil Ferguson  <nferguso@eso.org>
	    Paolo Carlini  <pcarlini@suse.de>

	* include/bits/basic_string.tcc (reserve): Allow shrink-to-fit.
	* testsuite/21_strings/basic_string/capacity/1.cc: Tweak.
	* testsuite/21_strings/basic_string/capacity/char/1.cc: Ditto.
	* testsuite/21_strings/basic_string/capacity/wchar_t/1.cc: Ditto.

Co-Authored-By: Paolo Carlini <pcarlini@suse.de>

From-SVN: r74551
2003-12-11 22:29:12 +00:00
Benjamin Kosnik
645112ddcc re PR libstdc++/6243 (testsuite fails almost all tests due to no libintl in LD_LIBRARY_PATH during test.)
2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/6243
	* testsuite/lib/libstdc++.exp (v3-init): Add
	original_ld_library_path, calculate ld_library path, set
	LD_LIBRARY_PATH to both. Based on libjava.exp.

From-SVN: r74521
2003-12-11 01:08:14 +00:00
Benjamin Kosnik
9f503dd352 re PR libstdc++/11612 (abi_check not finding correct libgcc_s.so.1)
2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>
            Alexandre Oliva  <aoliva@redhat.com>

	PR libstdc++/11612
	* testsuite/Makefile.am (GLIBCXX_DIR): New.
	(GLIBGCC_DIR): New.
	(CXXLINK): Use both with -R so libtool links the correct libs.

Co-Authored-By: Alexandre Oliva <aoliva@redhat.com>

From-SVN: r74508
2003-12-10 21:43:10 +00:00
Paolo Carlini
3090572ce2 re PR libstdc++/13217 (basic_filebuf::underflow doesn't deal gracefully with read errors)
2003-12-10  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13217
	* include/bits/fstream.tcc (underflow): Deal gracefully with
	read errors: throw ios_base::failure.

From-SVN: r74506
2003-12-10 20:05:00 +00:00
Benjamin Kosnik
35d6801ebe re PR libstdc++/10063 (stdio_filebuf broken)
2003-12-10  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/10063
	* config/io/basic_file_stdio.cc (__basic_file::sys_open): Sync.
	* testsuite/ext/stdio_filebuf/char/10063-1.cc: New.
	* testsuite/ext/stdio_filebuf/char/10063-2.cc: New.

From-SVN: r74505
2003-12-10 17:37:25 +00:00
Paolo Carlini
e8c5fc6649 locale_facets.tcc (num_put::do_put(void*)): Remove the try/catch, not necessary.
2003-12-10  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_put::do_put(void*)):
	Remove the try/catch, not necessary.

From-SVN: r74493
2003-12-10 10:06:19 +00:00
Paolo Carlini
9877afe873 12438.cc: Tweak memory limit and iterations to avoid spurious failures on some 64 bit...
2003-12-10  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/22_locale/locale/cons/12438.cc: Tweak memory
	limit and iterations to avoid spurious failures on some
	64 bit machines.

From-SVN: r74489
2003-12-10 09:26:50 +00:00
Benjamin Kosnik
5ec3f5662c linker-map.gnu: Remove private ios_base members from export list.
2003-12-09  Benjamin Kosnik  <bkoz@redhat.com>

        * config/linker-map.gnu: Remove private ios_base members from
        export list.

        * config/cpu/alpha/atomicity.h: Consistently format.
        * config/cpu/cris/atomicity.h: Same.
        * config/cpu/generic/atomicity.h: Same.
        * config/cpu/hppa/atomicity.h: Same.
        * config/cpu/i386/atomicity.h: Same.
        * config/cpu/i486/atomicity.h: Same.
        * config/cpu/ia64/atomicity.h: Same.
        * config/cpu/m68k/atomicity.h: Same.
        * config/cpu/mips/atomicity.h: Same.
        * config/cpu/powerpc/atomicity.h: Same.
        * config/cpu/s390/atomicity.h: Same.
        * config/cpu/sparc/atomicity.h: Same.

From-SVN: r74486
2003-12-10 04:52:37 +00:00
Benjamin Kosnik
8602555360 re PR libstdc++/13296 (unnecessary libunwind support in libstdc++-v3)
2003-12-09  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/13296
	* acinclude.m4 (GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS): Remove.
	* aclocal.m4: Regenerate.
	* configure.ac: Remove call to GLIBCXX_ENABLE_LIBUNWIND_EXCEPTIONS.
	* conigure: Regenerate.
	* src/Makefile.am (libstdc___la_LDFLAGS): Remove LIBUNWIND_FLAGS.
	* src/Makefile.in: Regenerate.
	* docs/html/17_intro/configury.html: Modify.

From-SVN: r74479
2003-12-10 00:05:36 +00:00