Commit Graph

2200 Commits

Author SHA1 Message Date
Paolo Carlini
4df9c41de5 Optimize locale::_M_impl->_M_names for the most common cases...
2004-05-03  Paolo Carlini  <pcarlini@suse.de>

	Optimize locale::_M_impl->_M_names for the most common cases:
	!_M_names[0] means unnamed; !_M_names[1] means all the categories
	the same name (_M_names[0] && _M_names[1] means that the full set
	of _M_names must be processed, the general case).
	* include/bits/locale_classes.h (locale::_Impl::_M_check_same_name):
	Tweak, saving work when !_M_names[1].
	(locale::locale(const locale&, _Facet*): Simplify: now just setting
	_M_names[0] = 0 means unnamed.
	* src/locale.cc (locale::operator==): Deal first with the common,
	easy cases, otherwise fall back to locale::name().
	(locale::name()): Tweak, if !_M_names[0] just return "*".
	(locale::_Impl::_Impl(const _Impl&, size_t): Tweak, early stop
	copying __imp._M_names if !__imp._M_names[0] or !__imp._M_names[1].
	* src/locale_init.cc (locale::_Impl::_Impl(size_t)): Tweak.
	* src/localename.cc (locale::_Impl::_Impl(const char*, size_t):
	Simplify when !std::strchr, just updating _M_names[0]; clean up.
	(locale::_Impl::_M_replace_categories): When !_M_names[1] prepare
	for the general case (full set of names), then do the usual work;
	clean up.

	* src/locale.cc (locale::name()): Reserve space in __ret.
	* src/locale_init.cc (locale::global(const locale&)): Save
	the name in a temporary.
	* src/localename.cc (locale::locale(const char*)): Reserve space
	in __str.

From-SVN: r81430
2004-05-03 12:14:07 +00:00
GCC Administrator
8905a17985 Daily bump.
From-SVN: r81420
2004-05-03 00:16:11 +00:00
GCC Administrator
3c2d679772 Daily bump.
From-SVN: r81400
2004-05-02 00:16:10 +00:00
GCC Administrator
21ccb11310 Daily bump.
From-SVN: r81376
2004-05-01 00:16:12 +00:00
GCC Administrator
9f08a7559e Daily bump.
From-SVN: r81313
2004-04-30 00:16:14 +00:00
GCC Administrator
b5bfe58403 Daily bump.
From-SVN: r81266
2004-04-29 00:16:12 +00:00
GCC Administrator
7989b0e40b Daily bump.
From-SVN: r81237
2004-04-28 00:16:15 +00:00
GCC Administrator
95d68a9f60 Daily bump.
From-SVN: r81206
2004-04-27 00:16:14 +00:00
Paolo Carlini
479864fe80 istream.tcc: Fix comment.
2004-04-26  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/istream.tcc: Fix comment.

From-SVN: r81193
2004-04-26 15:26:18 +00:00
Paolo Carlini
874e7baa4c stl_vector.h: Trivial formatting fixes.
2004-04-26  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/stl_vector.h: Trivial formatting fixes.
	* include/bits/vector.tcc: Likewise.

From-SVN: r81178
2004-04-26 09:02:43 +00:00
GCC Administrator
a978e17e31 Daily bump.
From-SVN: r81173
2004-04-26 00:16:11 +00:00
Paolo Carlini
247791f5d1 PR libstdc++/15002 (continued again)
2004-04-25  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/15002 (continued again)
	* include/bits/istream.tcc (getline(basic_istream<>&,
	basic_string<>&, _CharT)): Use a temporary buffer, thus
	avoiding reallocation for common case.

	* include/bits/basic_string.tcc (_S_construct(_InIterator,
	_InIterator, const _Alloc&, input_iterator_tag)): Tweak size
	of temporary buffer to a power of two.

	* testsuite/27_io/basic_istream/getline/char/4.cc: Add comment.

From-SVN: r81163
2004-04-25 15:45:13 +00:00
GCC Administrator
6eb91cc093 Daily bump.
From-SVN: r81152
2004-04-25 00:16:12 +00:00
Paolo Carlini
062bf89593 PR libstdc++/15002 (continued)
2004-04-24  Paolo Carlini  <pcarlini@suse.de>
	    Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/15002 (continued)
	* include/bits/istream.tcc (basic_istream<>::getline(char_type*,
	streamsize, char_type)): Use traits::find/copy in a loop to speed
	up greatly the function in the common case (I/O buffer size >> 1).

2004-04-24  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/27_io/basic_istream/getline/char/4.cc: New.

	* include/bits/istream.tcc (getline(basic_istream<>&,
	basic_string<>&, _CharT)): Change to use sgetc()/snextc() instead
	of sbumpc(), consistently with the other functions, thus also
	dealing correctly with the case of exceeded string::max_size().

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

From-SVN: r81146
2004-04-24 22:20:31 +00:00
GCC Administrator
b456ce4232 Daily bump.
From-SVN: r81121
2004-04-24 00:16:12 +00:00
GCC Administrator
08a21bfd0a Daily bump.
From-SVN: r81063
2004-04-23 00:16:12 +00:00
GCC Administrator
83ce8c30ff Daily bump.
From-SVN: r80992
2004-04-22 00:16:43 +00:00
Paolo Carlini
0d8c9baf81 deque.tcc: Trivial formatting fixes.
2004-04-21  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/deque.tcc: Trivial formatting fixes.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/stl_tree.h: Likewise.

From-SVN: r80960
2004-04-21 14:06:00 +00:00
Paolo Carlini
0a7460199f basic_string.tcc (_M_mutate): Don't compute __src unnecessarily.
2004-04-21  Paolo Carlini  <pcarlini@suse.de>
	    Andrew Pinski  <pinskia@physics.uc.edu>

	* include/bits/basic_string.tcc (_M_mutate): Don't compute
	__src unnecessarily.

Co-Authored-By: Andrew Pinski <pinskia@physics.uc.edu>

From-SVN: r80952
2004-04-21 09:23:36 +00:00
GCC Administrator
e3ab7ec73d Daily bump.
From-SVN: r80937
2004-04-21 00:16:14 +00:00
GCC Administrator
712faa50dd Daily bump.
From-SVN: r80872
2004-04-20 00:16:10 +00:00
Paolo Carlini
41b8e86c9a PR libstdc++/15002 (partial)
2004-04-19  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/15002 (partial)
	* include/bits/basic_string.h (_M_replace_aux, _M_replace_safe):
	Special case __n2 == 1, not calling traits_type::assign/copy.

From-SVN: r80847
2004-04-19 11:30:20 +00:00
GCC Administrator
d6ce65ee19 Daily bump.
From-SVN: r80836
2004-04-19 00:16:10 +00:00
Benjamin Kosnik
f178c2d695 stl_bvector.h: Use _M_impl._M_start.
2004-04-17  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/stl_bvector.h: Use _M_impl._M_start.

From-SVN: r80811
2004-04-18 05:04:58 +00:00
GCC Administrator
7dc57c7cc0 Daily bump.
From-SVN: r80805
2004-04-18 00:16:10 +00:00
GCC Administrator
4a4d66e8ed Daily bump.
From-SVN: r80780
2004-04-17 00:16:12 +00:00
Benjamin Kosnik
390e4c0dbe c++config (_GLIBCXX_STD): New.
2004-04-16  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config (_GLIBCXX_STD): New.
	* src/list.cc: Use it.
	* include/std/std_bitset.h: Same.
	* include/bits/vector.tcc: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/stl_bvector.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/deque.tcc: Same.
	* include/bits/list.tcc: Same.
	* include/debug/vector: Same.
	* include/debug/set.h: Same.
	* include/debug/multiset.h: Same.
	* include/debug/multimap.h: Same.
	* include/debug/map.h: Same.
	* include/debug/list: Same.
	* include/debug/deque: Same.
	* include/debug/bitset: Same.
	* include/debug/formatter.h (__gnu_debug): Remove using directive.
	Add using declaration for std::type_info.
	* include/debug/safe_iterator.h: Add using declaration for
	std::iterator_traits and std::pair.
	* src/debug_list.cc: New.
	* src/Makefile.am: Add debug_list.cc.
	* src/Makefile.in: Regenerate.
	* config/linker-map.gnu: Add _List_node_base exports for std and
	__gnu_norm.

	* include/bits/stl_bvector.h (_Bvector_base): Use _Bvector_impl
	idiom that other containers use.
	* testsuite/23_containers/vector/bool/clear_allocator.cc: New.

From-SVN: r80763
2004-04-16 19:04:07 +00:00
Paolo Carlini
2f228199b9 re PR libstdc++/14975 ([3.4 only] Segfault on low-level write error during imbue)
2004-04-16  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/14975
	* include/bits/fstream.tcc (basic_filebuf::imbue): Zero _M_codecvt
	in case of error.
	* testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: New.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: New.

From-SVN: r80753
2004-04-16 16:06:21 +00:00
GCC Administrator
d43e3e280e Daily bump.
From-SVN: r80737
2004-04-16 00:16:12 +00:00
GCC Administrator
b65e599374 Daily bump.
From-SVN: r80701
2004-04-15 00:16:13 +00:00
GCC Administrator
6ef79dcb4e Daily bump.
From-SVN: r80673
2004-04-14 00:16:10 +00:00
GCC Administrator
b103f4218e Daily bump.
From-SVN: r80635
2004-04-13 00:16:45 +00:00
GCC Administrator
034776f6f6 Daily bump.
From-SVN: r80614
2004-04-12 00:16:09 +00:00
GCC Administrator
0333e091f7 Daily bump.
From-SVN: r80590
2004-04-11 00:16:11 +00:00
GCC Administrator
274dda78f4 Daily bump.
From-SVN: r80577
2004-04-10 00:16:41 +00:00
GCC Administrator
f701326e71 Daily bump.
From-SVN: r80534
2004-04-09 00:16:10 +00:00
GCC Administrator
acc18e7a48 Daily bump.
From-SVN: r80496
2004-04-08 00:16:34 +00:00
Benjamin Kosnik
563ae04fec Fixups for EDG front end.
2004-04-06  Benjamin Kosnik  <bkoz@redhat.com>

	Fixups for EDG front end.
	* include/ext/rope: Instead of non-existent function
	_Data_allocate, use allocator's allocate. Use this.
	(namespace _Rope_constants): Move _S_max_rope_depth, and _Tag
	enumerations from _Rope_RopeRep here.
	* include/ext/ropeimpl.h: Same.
	* src/ext-inst.cc (_S_min_len): Fix up definition.

	* config/locale/gnu/ctype_members.cc: Qualify base class members
	with this.
	* config/locale/generic/ctype_members.cc: Same.
	* config/locale/gnu/messages_members.h: Same.
	* config/locale/generic/messages_members.h: Same.
	* src/ctype.cc: Same.
	* include/bits/codecvt.h: Same.

	* include/bits/boost_concept_check.h: Declare.
	(__error_type_must_be_an_unsigned_integer_type): Remove this.
	(__error_type_must_be_an_integer_type): Remove this.
	(__error_type_must_be_a_signed_integer_type): Remove this.

	* config/io/basic_file_stdio.cc (__basic_file::sys_open): Remove cast.

	* libsupc++/eh_alloc.cc (__cxa_free_exception): Add exception
	specification to definition.
	(__cxa_allocate_exception): Same.
	* libsupc++/eh_catch.cc (__cxa_begin_catch): Same.
	* libsupc++/eh_globals.cc (__cxa_get_globals_fast): Same.
	(__cxa_get_globals): Same.

	* libsupc++/del_op.cc: Add comment about freestanding.

From-SVN: r80475
2004-04-07 03:33:36 +00:00
GCC Administrator
d9a91b5545 Daily bump.
From-SVN: r80469
2004-04-07 00:17:07 +00:00
GCC Administrator
cb07f7bbd4 Daily bump.
From-SVN: r80444
2004-04-06 00:16:32 +00:00
Paolo Carlini
268d3b1832 mt_allocator.h (__mt_alloc<>::deallocate): The critical section is actually very small, only two assignments.
2004-04-05  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
	The critical section is actually very small, only two assignments.

From-SVN: r80439
2004-04-05 22:46:04 +00:00
GCC Administrator
e1c6f28deb Daily bump.
From-SVN: r80415
2004-04-05 00:16:16 +00:00
GCC Administrator
6060368e54 Daily bump.
From-SVN: r80385
2004-04-04 00:16:14 +00:00
Paolo Carlini
c8333c0fd5 mt_allocator.h (__mt_alloc<>::allocate): Factor out some duplicated code.
2004-04-03  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/mt_allocator.h (__mt_alloc<>::allocate): Factor out
	some duplicated code.
	(__mt_alloc<>::_Bin_record): Spare the space of _M_free and _M_used
	in the single threaded case.
	* testsuite/performance/20_util/allocator/list_sort_search.cc:
	Reorder and renumber the tests consistently with the other testfiles.
	* testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
	* testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
	* testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.

From-SVN: r80375
2004-04-03 13:39:16 +00:00
GCC Administrator
a0eabb87e1 Daily bump.
From-SVN: r80366
2004-04-03 00:16:22 +00:00
Paolo Carlini
ab40b100d3 mt_allocator.h (__mt_alloc<>::deallocate): Rearrange arithmetic to avoid computing two divisions at each deallocation.
2004-04-02  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
	Rearrange arithmetic to avoid computing two divisions at
	each deallocation.

From-SVN: r80356
2004-04-02 19:51:21 +00:00
GCC Administrator
9b754eac89 Daily bump.
From-SVN: r80342
2004-04-02 00:17:18 +00:00
Paolo Carlini
354d4c68c6 mt_allocator.h (__mt_alloc<>::_S_initialize): Streamline the second half...
2004-04-01  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/mt_allocator.h (__mt_alloc<>::_S_initialize):
	Streamline the second half, wrapping it in a single
	'#ifdef __GTHREADS if (__gthread_active_p())' and avoiding
	conditionals inside loops.

From-SVN: r80323
2004-04-01 21:47:59 +00:00
GCC Administrator
10414f2acd Daily bump.
From-SVN: r80262
2004-04-01 00:16:15 +00:00
GCC Administrator
8cfa1c3e37 Daily bump.
From-SVN: r80104
2004-03-31 00:16:11 +00:00