Commit Graph

2386 Commits

Author SHA1 Message Date
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
Benjamin Kosnik 06ce772609 re PR libstdc++/14783 (Warning in std::set constructor at bits/stl_tree.h:403)
2004-03-30  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/14783
	* include/bits/stl_tree.h: Adjust initialization list order.

From-SVN: r80095
2004-03-30 21:04:19 +00:00
GCC Administrator 285df6bfe5 Daily bump.
From-SVN: r80070
2004-03-30 00:16:50 +00:00
GCC Administrator 0e32714724 Daily bump.
From-SVN: r80047
2004-03-29 00:16:12 +00:00
Chavdar Botev f26e5597f0 re PR libstdc++/14245 ([3.4 only] problem with user-defined allocators in std::basic_string)
2004-03-28  Chavdar Botev  <cbotev@yahoo.com>

	PR libstdc++/14245
	* include/bits/basic_string.tcc
	(basic_string::basic_string(const basic_string&)): Pass to
	_Rep::_M_grab the actual allocator of the string being constructed
	not the default constructed one.

From-SVN: r80041
2004-03-28 16:27:27 +00:00
GCC Administrator 4c24abdce4 Daily bump.
From-SVN: r80034
2004-03-28 00:16:10 +00:00
Paolo Carlini 6f52a889fd [multiple changes]
2004-03-27  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/mt_allocator.h: Uglify consistently names of
	variables, members and classes; tidy.

2004-03-27  Dhruv Matani  <dhruvbird@gmx.net>

	* include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
	Deallocation loop rewrote.

From-SVN: r80012
2004-03-27 10:15:49 +00:00
GCC Administrator 8c7555a5b6 Daily bump.
From-SVN: r80006
2004-03-27 00:16:18 +00:00
Paolo Carlini dd95381f8a mt_allocator.h (__mt_alloc<>::allocate, [...]): Protect two instances of block->thread_id with __GTHREADS.
2004-03-26  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/mt_allocator.h (__mt_alloc<>::allocate,
	__mt_alloc<>::deallocate): Protect two instances of
	block->thread_id with __GTHREADS.

From-SVN: r79986
2004-03-26 16:56:09 +00:00
Benjamin Kosnik 8bd22a3ceb [multiple changes]
2004-03-25  Gawain Bolton  <gp.bolton@computer.org>

	* include/bits/stl_tree.h (_Rb_tree_impl): Add _Node_allocator
	default argument in constructors.
	(_Rb_tree::_M_empty_initialize): Remove.

2004-03-25  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/23_containers/map/operators/1_neg.cc: Adjust line numbers.
	* testsuite/23_containers/set/operators/1_neg.cc: Same.

2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>

	* include/bits/cpp_type_traits.h: Changed __is_pod
	completely. Now, it does not use any of the previous type_traits
	to detect the pod types, and it also detects function pointers as
	POD types.

	* include/bits/stl_tree.h: Introduced a new class _Rb_tree_impl,
	which encapsulates the internal implementation of an rb_tree. Made
	the allocator a base class of this class instead of the rb_tree,
	which was not conforming. This _Rb_tree_impl class is also
	specialized on whether the _Compare parameter is a POD type or
	not. If so, then it maintains the comparison function as a data
	member, otherwise it makes the _Compare parameter a base class of
	itself. Also, _M_key_compare is now a function instead of a data
	member, so that the above trick can work properly. Delegated the
	initialization of the other data members to this newly created
	class. Also, now other member functions of rb_tree must refer to
	_M_key_compare as _M_impl._M_key_compare(). The other data members
	(*) can be referenced to as _M_impl.(*), where
	(*) includes _M_header, and _M_node_count.

From-SVN: r79977
2004-03-26 00:38:57 +00:00
GCC Administrator 53d98cdbc2 Daily bump.
From-SVN: r79972
2004-03-26 00:16:14 +00:00
Paolo Carlini 90ceccd46e mt_allocator.h (__mt_alloc<>::tune): Add _M_min_bin, the size in bytes of the smallest bin.
2004-03-25  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/mt_allocator.h (__mt_alloc<>::tune):
	Add _M_min_bin, the size in bytes of the smallest bin.
	(__mt_alloc<>::tune()): Tweak accordingly.
	(__mt_alloc<>::tune(size_t, ...)): Likewise.
	(__mt_alloc<>::block_record): Change to a union: members next
	and thread_id are never used at the same time.
	(__mt_alloc<>::allocate): Update consistently.
	(__mt_alloc<>::deallocate): Likewise.
	(__mt_alloc<>::_S_initialize): Update setups of _S_binmap and
	_S_bin_size for the configurable _M_min_size.

From-SVN: r79962
2004-03-25 18:23:40 +00:00
Dhruv Matani 03f9ea4437 stl_list.h: Created a _List_impl class and made it derive from the allocator...
2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>

	* include/bits/stl_list.h: Created a _List_impl class and made it
	derive from the allocator, instead of the list deriving from the
	allocator class, which was not conformant. Changed all references
	from this->_M_node to this->_M_impl._M_node * bits/list.tcc: Same
	as above (changed all references to the concerned variables).

2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>

	* include/bits/stl_deque.h: Created a _Deque_impl class and made
	it derive from the allocator, instead of the deque deriving from
	the allocator class, which was not conformant. Changed all
	references to the _M_start, _M_finish, _M_map, and _M_map_size to
	_M_impl.*.
	(_Deque_base<_Tp,_Alloc>::~_Deque_base()): Added this->
	qualification in 2 places where it was missing.
	(_Deque_base<_Tp,_Alloc>::_M_initialize_map(size_t)): Same as
	above.
	* include/bits/deque.tcc: Same as above (changed all references to
	the concerned variables).

2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>

	* include/bits/stl_vector.h: Created a _Vector_impl class and made
	it derive from the allocator, instead of the _Vector_base class,
	deriving from the allocator which was not conformant. Changed all
	references to the _M_start, _M_finish, and _M_end_of_storage to
	_M_impl.*.
	* include/bits/vector.tcc: Same as above (changed all references
	to the concerned variables).

2004-03-25  Dhruv Matani  <dhruvbird@gmx.net>

	* testsuite/23_containers/deque/cons/clear_allocator.cc: New.
	* testsuite/23_containers/list/cons/clear_allocator.cc: New.
	* testsuite/23_containers/vector/cons/clear_allocator.cc: New.

From-SVN: r79957
2004-03-25 17:12:16 +00:00
GCC Administrator bbcb76f264 Daily bump.
From-SVN: r79941
2004-03-25 00:16:17 +00:00
Dhruv Matani 58c959212f malloc_allocator.h: Fixed the construct function to call global placement new instead of assignment.
2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>

	* ext/malloc_allocator.h: Fixed the construct function to call
	global placement new instead of assignment. Added a check after
	the return from malloc to check whether returned pointer is NULL,
	and if so, throw std::bad_alloc().
	* ext/debug_allocator.h: Added a check in the deallocate function
	to check whether the user has passed a NULL pointer or not.

From-SVN: r79934
2004-03-24 21:40:01 +00:00
Dhruv Matani 71f9a9d15e bitmap_allocator.h: (_Bit_scan_forward) -> Made this function call __builtin_ctz instead of the...
2004-03-24  Dhruv Matani  <dhruvbird@gmx.net>

	* include/ext/bitmap_allocator.h: (_Bit_scan_forward) -> Made this
	function call __builtin_ctz instead of the while loop.
	(allocate) -> If condition has __builtin_expect.
	(deallocate) -> Ditto.
	Renamed a few left-over variables and typedefs according to the
	C++STYLE mentioned in the documentation.
	Protected calls to __gthread* by __gthread_active_p(), whose value
	is cached in the local variable __threads_active.

From-SVN: r79924
2004-03-24 18:27:43 +00:00
Paolo Carlini affb18b2fa mt_allocator.h (__mt_alloc<>::allocate, [...]): Avoid redundant conditionals.
2004-03-24  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/mt_allocator.h (__mt_alloc<>::allocate,
	__mt_alloc<>::deallocate): Avoid redundant conditionals.

From-SVN: r79917
2004-03-24 15:25:37 +00:00
Benjamin Kosnik 586b5f2013 locale_facets.h: Tweaks for 80 column.
2004-03-23  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/locale_facets.h: Tweaks for 80 column.
	(__numpunct_cache::_M_cache): Move to locale_facets.tcc.
	(__moneypunct_cache::_M_cache): Same.
	(num_get): Don't inherit from __num_base.
	(num_put): Same.
	(money_get): Don't inherit from money_base.
	(money_put): Same.
	(__timepunct::_M_am_pm_format): New.
	(time_get::_M_extract_num): Return iterator, use ios_base as argument.
	(time_get::_M_extract_name): Same.
	(time_get::_M_extract_via_format): Same.
	* include/bits/locale_facets.tcc: Tweaks for 80 column.
	Use _M_getloc instead of getloc.
	* testsuite/22_locale/money_put/put/char/9780-3.cc: New.
	* testsuite/22_locale/num_put/put/char/9780-2.cc: New.
	* testsuite/22_locale/time_put/put/char/9780-1.cc: New.

From-SVN: r79902
2004-03-24 06:41:07 +00:00
GCC Administrator cba4497d92 Daily bump.
From-SVN: r79888
2004-03-24 00:16:14 +00:00
GCC Administrator 1d44058799 Daily bump.
From-SVN: r79846
2004-03-23 00:16:15 +00:00
Paolo Carlini 29d4adf460 acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
2004-03-22  Paolo Carlini  <pcarlini@suse.de>

	* acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): Add pool_allocator.
	* configure: Regenerate.
	* config/allocator/pool_allocator_base.h: New.
	* include/ext/pool_allocator.h: Convert to a standard-conforming
	allocator.
	* src/allocator.cc: Tweak instantiations.
	* testsuite/performance/20_util/allocator/insert.cc: Add __pool_alloc.
	* testsuite/performance/20_util/allocator/insert_insert.cc: Ditto.
	* testsuite/performance/20_util/allocator/list_sort_search.cc: Ditto.
	* 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: r79824
2004-03-22 13:07:13 +00:00
GCC Administrator 9175d40929 Daily bump.
From-SVN: r79799
2004-03-22 00:16:10 +00:00
GCC Administrator d52666c3f3 Daily bump.
From-SVN: r79767
2004-03-21 00:16:13 +00:00
Paolo Carlini 2787b59a7f std_valarray.h: Document DR389 [Ready].
2004-03-20  Paolo Carlini  <pcarlini@suse.de>

	* include/std/std_valarray.h: Document DR389 [Ready].
	* docs/html/ext/howto.html: Add an entry for DR389.

From-SVN: r79733
2004-03-20 10:05:48 +00:00
GCC Administrator b40bc279e7 Daily bump.
From-SVN: r79719
2004-03-20 00:16:13 +00:00
Paolo Carlini 8268bba6f8 re PR libstdc++/12077 ([3.4 only] wcin.rdbuf()->in_avail() return value too high)
2004-03-19  Paolo Carlini  <pcarlini@suse.de>
	    Petur Runolfsson  <peturr02@ru.is>

	PR libstdc++/12077
	* include/ext/stdio_sync_filebuf.h (showmanyc): Remove, there's
	no way to find out the conversion used by the underlying FILE*.
	* testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: New.
	* testsuite/27_io/objects/char/9.cc: Tweak.

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

From-SVN: r79695
2004-03-19 19:31:38 +00:00
Paolo Carlini 59d3567214 re PR libstdc++/14648 (rope is broken (regression))
2004-03-19  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/14648
	* include/ext/ropeimpl.h (rope<>::_S_apply_to_pieces): Fix
	memory allocation/deallocation calls.
	* testsuite/ext/14648.cc: New.

From-SVN: r79687
2004-03-19 16:08:15 +00:00
Peter Schmid ab7ac2227a re PR libstdc++/14647 (bit_vectors are broken (regression))
2004-03-19  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>

        PR libstdc++/14647
        * include/backward/bvector.h (bit_vector): Allocator is in std
        namespace.

From-SVN: r79685
2004-03-19 06:54:40 -08:00
Phil Edwards d54bc1d870 acinclude.m4 (GLIBCXX_CHECK_WCHAR_T_SUPPORT): Set LIBICONV, not libiconv.
2004-03-19  Phil Edwards  <phil@codesourcery.com>

	* acinclude.m4 (GLIBCXX_CHECK_WCHAR_T_SUPPORT):  Set LIBICONV,
	not libiconv.  SUBST this variable as well.
	* testsuite/Makefile.am (site.exp):  New target, based on that
	created by automake.  Also set libiconv.

	* configure, Makefile.in, include/Makefile.in, libmath/Makefile.in,
	libsupc++/Makefile.in, po/Makefile.in, src/Makefile.in,
	testsuite/Makefile.in:  Regenerate.

From-SVN: r79678
2004-03-19 11:34:47 +00:00
GCC Administrator 8b37de20f5 Daily bump.
From-SVN: r79653
2004-03-19 00:16:12 +00:00
GCC Administrator d241443846 Daily bump.
From-SVN: r79612
2004-03-18 00:16:13 +00:00
GCC Administrator 990ab4b403 Daily bump.
From-SVN: r79561
2004-03-17 00:16:12 +00:00
GCC Administrator 199f5c2b84 Daily bump.
From-SVN: r79518
2004-03-16 00:16:11 +00:00
Paolo Carlini 33674f003a locale_facets.tcc (money_get<>::_M_extract): Adjust the logic underlying the parsing of symbol to deal correctly with an...
2004-03-15  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (money_get<>::_M_extract):
	Adjust the logic underlying the parsing of symbol to deal
	correctly with an optional sign component (i.e., when either
	negative_sign or positive_sign is empty)
	* testsuite/22_locale/money_get/get/char/19.cc: New.
	* testsuite/22_locale/money_get/get/wchar_t/19.cc: New.

2004-03-15  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (money_get<>::_M_extract):
	Do not accept an incomplete currency symbol.
	* testsuite/22_locale/money_get/get/char/18.cc: New.
	* testsuite/22_locale/money_get/get/wchar_t/18.cc: New.

From-SVN: r79491
2004-03-15 09:02:30 +00:00
GCC Administrator d08418fa77 Daily bump.
From-SVN: r79488
2004-03-15 00:16:13 +00:00
GCC Administrator db4397e7c5 Daily bump.
From-SVN: r79465
2004-03-14 00:16:14 +00:00
Benjamin Kosnik 8b0d605196 allocator: New.
2004-03-13  Benjamin Kosnik  <bkoz@redhat.com>

	* config/allocator: New.
	* config/allocator/bitmap_allocator_base.h: New.
	* config/allocator/malloc_allocator_base.h: New.
	* config/allocator/mt_allocator_base.h: New.
	* config/allocator/new_allocator_base.h: New.
	* include/bits/allocator.h: Include c++allocator.h.
	* acinclude.m4 (GLIBCXX_ENABLE_ALLOCATOR): New.
	* aclocal.m4: Regenerate.
	* configure.ac: Use GLIBCXX_ENABLE_ALLOCATOR.
	* configure: Regenerate.
	* include/Makefile.am (host_headers_extra): Add c++allocator.h.
	* include/Makefile.in: Regenerate.
	* docs/html/configopts.html: Add enable-libstdcxx-allocator.

From-SVN: r79435
2004-03-13 06:54:25 +00:00
GCC Administrator ba6e856b2d Daily bump.
From-SVN: r79417
2004-03-13 00:16:13 +00:00
Benjamin Kosnik eef56029ed allocator.h: Revert.
2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/allocator.h: Revert.

From-SVN: r79413
2004-03-12 23:52:08 +00:00
Paolo Carlini d4cd08dda5 howto.html: Add entry for DR 253 [Ready].
2004-03-12  Paolo Carlini  <pcarlini@suse.de>

	* docs/html/ext/howto.html: Add entry for DR 253 [Ready].
	* include/bits/gslice_array.h: Add comment about DR 253.
	* include/bits/indirect_array.h: Likewise.
	* include/bits/mask_array.h: Likewise.
	* include/bits/slice_array.h: Likewise.

From-SVN: r79412
2004-03-12 23:32:03 +00:00
Benjamin Kosnik ce7df2fd97 14176.cc: New.
2004-03-12  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/20_util/allocator/14176.cc: New.
	* include/ext/mt_allocator.h: Formatting fixes.

From-SVN: r79407
2004-03-12 21:11:51 +00:00
Dhruv Matani 009368dba6 ballocator_doc.txt: New file.
2004-03-11  Dhruv Matani  <dhruvbird@HotPOP.com>

	* docs/html/ext/ballocator_doc.txt: New file.
	* include/Makefile.am (ext_headers): Add
	${ext_srcdir}/bitmap_allocator.h .
	* include/Makefile.in: Regenerate (by hand, since I didn't have
	automake de jure on hand).
	* include/ext/bitmap_allocator.h: New file.
	* testsuite/performance/20_util/allocator/list_sort_search.cc: New test.
	* testsuite/performance/20_util/allocator/map_mt_find.cc: Likewise.
	* testsuite/performance/20_util/allocator/producer_consumer.cc: Add
	test for the bitmap_allocator<>.
	* testsuite/performance/20_util/allocator/insert.cc: Likewise.
	* testsuite/performance/20_util/allocator/insert_insert.cc: Likewise.
	* testsuite/performance/20_util/allocator/map_thread.cc: Likewise.

From-SVN: r79366
2004-03-12 03:28:12 +00:00
GCC Administrator a8dad789a5 Daily bump.
From-SVN: r79357
2004-03-12 00:16:13 +00:00
Paolo Carlini c6feb69790 std_complex.h (pow(const complex&, const _Tp&), [...]): Fully qualify with std:: a few calls.
2004-03-11  Paolo Carlini  <pcarlini@suse.de>

	* include/std/std_complex.h (pow(const complex&, const _Tp&),
	pow(const _Tp&, const complex&), pow(const complex&,
	const complex&)): Fully qualify with std:: a few calls.
	* testsuite/26_numerics/complex/13450.cc: Minor tweak.

From-SVN: r79338
2004-03-11 19:05:19 +00:00
Steven Bosscher b7c34954fe re PR libstdc++/11706 (std::pow(T, int) implementation pessimizes code)
2004-03-11  Steven Bosscher  <s.bosscher@student.tudelft.nl>

	PR libstdc++/11706
	* include/c_std/cmath.tcc (__cmath_power): Define inline.

From-SVN: r79316
2004-03-11 10:42:26 +00:00
GCC Administrator 6790e4db7b Daily bump.
From-SVN: r79282
2004-03-11 00:16:48 +00:00
Paolo Carlini e9264dac56 2004-03-10 Paolo Carlini <pcarlini@suse.de>
Add include/bits/valarray_array.tcc changes missing from
	Jerry's commit to mainline.

From-SVN: r79260
2004-03-10 17:08:32 +00:00
Paul Kienzle 52ddaf41bf re PR libstdc++/13450 (std::pow(std::complex<double>(-1.,0.),0.5) yields (NaN,0))
2004-03-10  Paul Kienzle  <pkienzle@nist.gov>
	    Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/13450
	* include/std/std_complex.h (pow(const complex&, const _Tp&),
	pow(const _Tp&, const complex&)): Use cmath pow only when safe.
	* testsuite/26_numerics/complex/13450.cc: New.

	* testsuite/26_numerics/cmath/overloads.C: Rename to overloads.cc.
	* testsuite/26_numerics/complex/pow.C: Rename to pow.cc and fix.

From-SVN: r79227
2004-03-10 09:16:12 +00:00
Jerry Quinn ecc7568da6 re PR libstdc++/3247 (valarray private member)
2004-03-10  Jerry Quinn  <jlquinn@optonline.net>

	PR 3247
	* include/bits/gslice_array.h (gslice_array()): Make public.
	(operator=(gslice_array)): Make public.  Implement.
	* include/bits/indirect_array.h (indirect_array()): Make public.
	* include/bits/mask_array.h (mask_array()): Make public.
	(operator=(mask_array)): Make public.  Implement.
	* include/bits/valarray_array.tcc (__valarray_copy):
	Comment.  Add versions for gslice_array and mask_array.
	* testsuite/26_numerics/valarray_subset_assignment.cc:  New test.

From-SVN: r79226
2004-03-10 06:50:13 +00:00
GCC Administrator b86f05b692 Daily bump.
From-SVN: r79213
2004-03-10 00:16:12 +00:00
GCC Administrator 6ec731401a Daily bump.
From-SVN: r79137
2004-03-09 00:16:12 +00:00
Paolo Carlini 1d4eb925b9 howto.html: Add entry for DR 103 [WP].
2004-03-08  Paolo Carlini  <pcarlini@suse.de>

	* docs/html/ext/howto.html: Add entry for DR 103 [WP].
	* include/bits/stl_multiset.h: Add comment about DR 103.
	* include/bits/stl_set.h: Likewise.

From-SVN: r79114
2004-03-08 15:04:11 +00:00
Paolo Carlini f1c89270e5 locale_facets.tcc (money_get<>::_M_extract): The value _space_ indicates that at least one space is required at that position.
2004-03-08  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (money_get<>::_M_extract):
	The value _space_ indicates that at least one space is required
	at that position.
	* testsuite/22_locale/money_get/get/char/17.cc: New.
	* testsuite/22_locale/money_get/get/wchar_t/17.cc: New.

	* testsuite/22_locale/money_get/get/char/7.cc: Minor tweaks.
	* testsuite/22_locale/money_get/get/wchar_t/7.cc: Likewise.

	* include/bits/locale_facets.tcc (money_get<>::do_get(long_double&)):
	Remove redundant conditional on __str.size().

From-SVN: r79111
2004-03-08 10:51:30 +00:00
Benjamin Kosnik f5fb3886b2 allocator.h: Switch defaults to mt_alloc.
2004-03-08  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/allocator.h: Switch defaults to mt_alloc.

From-SVN: r79084
2004-03-08 00:27:37 +00:00
GCC Administrator 3bf92dad69 Daily bump.
From-SVN: r79081
2004-03-08 00:16:11 +00:00
Benjamin Kosnik c0bec71b82 mt_allocator.h (_S_initialize): If !__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.
2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/mt_allocator.h (_S_initialize): If
	!__GTHREAD_MUTEX_INIT, then initialize _S_thread_freelist_mutex.

From-SVN: r79044
2004-03-07 02:17:19 +00:00
Benjamin Kosnik f83295bafc re PR libstdc++/12658 (Thread safety problems in locale::global() and locale::locale())
2004-03-06  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/12658
	* src/locale_init.cc (locale::locale): Lock critical regions with
	external mutexes.
	(locale::global): Same.
	* include/bits/concurrence.h (__glibcxx_mutex_define_initialized):
	Add in once bits for cases without __GTHREAD_MUTEX_INIT.
	(__glibcxx_mutex_lock): Same.

	* config/cpu/generic/atomicity.h: Remove
	_GLIBCXX_NEED_GENERIC_MUTEX, use concurrence.h.
	* src/misc-inst.cc: Move all locking bits out of this file.

	* config/os/hpux/os_defines.h: Remove _GLIBCXX_INST_ATOMICITY_LOCK.
	* src/misc-inst.cc: Same.
	* config/cpu/hppa/atomicity.h: Same.

	* config/linker-map.gnu: Remove types in the signature of atomic
	exports, as they may vary.

From-SVN: r79043
2004-03-07 01:32:43 +00:00
GCC Administrator 679d316741 Daily bump.
From-SVN: r79035
2004-03-07 00:16:14 +00:00
Paolo Carlini 0c2cc7b37a locale_facets.tcc: Tweak the comment preceding has_facet: doesn't throw.
2004-03-06  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc: Tweak the comment preceding
	has_facet: doesn't throw.

From-SVN: r79022
2004-03-06 16:55:28 +00:00
Paolo Carlini ce3455909f locale_facets.tcc (num_get<>::_M_extract_float, [...]): Prefer plain operator== to traits::eq().
2004-03-06  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
	num_get<>::_M_extract_int, num_get<>::do_get(bool&),
	__pad<>::_S_pad): Prefer plain operator== to traits::eq().
	* testsuite/testsuite_character.h (struct __gnu_test::character):
	Provide operator==.
	* testsuite/testsuite_hooks.h (struct __gnu_test::pod_char):
	Likewise.

From-SVN: r79011
2004-03-06 09:00:14 +00:00
GCC Administrator ddb3d624da Daily bump.
From-SVN: r79001
2004-03-06 00:16:19 +00:00
GCC Administrator 5fd200f17f Daily bump.
From-SVN: r78947
2004-03-05 00:16:11 +00:00
GCC Administrator c158d74ab4 Daily bump.
From-SVN: r78872
2004-03-04 00:16:16 +00:00
Paolo Carlini ced3ad4d7c locale_facets.tcc (money_put<>::_M_insert): Fix warning regression.
2004-03-03  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (money_put<>::_M_insert):
	Fix warning regression.

From-SVN: r78861
2004-03-03 20:51:22 +00:00
Paolo Carlini 039e3c5c45 locale_facets.tcc (money_put<>::_M_insert): Deal properly with empty __digits and negative frac_digits, clean-up a bit.
2004-03-03  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (money_put<>::_M_insert):
	Deal properly with empty __digits and negative frac_digits,
	clean-up a bit.

From-SVN: r78844
2004-03-03 18:07:23 +00:00
Paolo Carlini 0b1d67d23b re PR libstdc++/14320 (istreambuf_iterator::difference_type is not a signed integral type)
2004-03-02  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/14320
	* include/bits/postypes.h (class streamoff): Remove, now
	streamoff is just typedef a 64 bit signed integer type.
	(class fpos): Tweak consistently.
	* testsuite/27_io/fpos/14320-1.cc: New.
	* testsuite/27_io/fpos/14320-2.cc: New.
	* testsuite/27_io/fpos/14320-3.cc: New.
	* testsuite/27_io/fpos/14320-4.cc: New.
	* testsuite/27_io/fpos/14320-5.cc: New.
	* testsuite/27_io/fpos/mbstate_t/4_neg.cc: xfail for now.

From-SVN: r78799
2004-03-03 00:22:05 +00:00
GCC Administrator 3a75069d35 Daily bump.
From-SVN: r78795
2004-03-03 00:17:23 +00:00
Paolo Carlini 59564c5e9a locale_facets.tcc (money_get<>::_M_extract): Reorganize a bit the main parsing loop...
2004-03-02  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (money_get<>::_M_extract):
	Reorganize a bit the main parsing loop, thus early detecting
	an empty value component.
	* testsuite/22_locale/money_get/get/char/16.cc: New.
	* testsuite/22_locale/money_get/get/wchar_t/16.cc: New.

From-SVN: r78788
2004-03-02 22:25:51 +00:00
Benjamin Kosnik ec2075e962 Support automake 1.8.2
2004-03-02  Benjamin Kosnik  <bkoz@redhat.com>

	Support automake 1.8.2
	* configure.ac (AM_INIT_AUTOMAKE): Add -Wno-override.
	* po/Makefile.am (EXTRA_DIST): New.
	* po/Makefile.in: Regenerate.
	* Makefile.in: Same.
	* include/Makefile.in: Same.
	* libmath/Makefile.in: Same.
	* libsupc++/Makefile.in: Same.
	* src/Makefile.in: Same.
	* testsuite/Makefile.in: Same.

	* include/Makefile.am (${host_builddir}/gthr-posix.h): Use
	__GXX_WEAK__ instead of SUPPORTS_WEAK.
	(${host_builddir}/gthr-default.h): Same.
	(${host_builddir}/gthr.h): Same.
	* acinclude.m4 (GLIBCXX_ENABLE_THREAD): Remove
	_GLIBCXX_SUPPORTS_WEAK, as this behavior can be modified via
	-fno-weak.
	* aclocal.m4: Regenerate.
	* acconfig.h: Remove _GLIBCXX_SUPPORTS_WEAK.
	* config.h.in: Regenerate.
	* configure: Same.

From-SVN: r78770
2004-03-02 18:30:08 +00:00
GCC Administrator 27c102117d Daily bump.
From-SVN: r78730
2004-03-02 00:16:15 +00:00
Paolo Carlini 98e953f57b locale_facets.tcc (money_get<>::_M_extract, [...]): ...
2004-03-01  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (money_get<>::_M_extract,
	money_get<>::do_get(string_type&)): ... and two more.

From-SVN: r78708
2004-03-01 17:29:27 +00:00
Paolo Carlini b19fb27d1e locale_facets.tcc (money_get<>::_M_extract): Fix thinkos in the switch from string_type& to string& as last argument.
2004-03-01  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (money_get<>::_M_extract):
	Fix thinkos in the switch from string_type& to string& as last
	argument.

From-SVN: r78707
2004-03-01 17:08:45 +00:00
Paolo Carlini 08ff96c346 locale_facets.tcc (num_get<>::_M_extract_float): Also when parsing exponent sign, first look for thousands_sep and decimal_point...
2004-03-01  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
	Also when parsing exponent sign, first look for thousands_sep
	and decimal_point; tweak a bit.
	* testsuite/22_locale/num_get/get/char/15.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/15.cc: New.

	* include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
	num_get<>::_M_extract_int): Reorder some conditionals.

2004-03-01  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (money_get<>::_M_extract):
	Consistently with numpunct, enforce the requirements in
	22.2.6.3, p3 for the thousands separators; tweak a bit.
	* testsuite/22_locale/money_get/get/char/15.cc: New.
	* testsuite/22_locale/money_get/get/wchar_t/15.cc: New.

From-SVN: r78699
2004-03-01 10:31:33 +00:00
GCC Administrator 4ce4f2b50c Daily bump.
From-SVN: r78686
2004-03-01 00:16:12 +00:00
GCC Administrator 4217f24bf8 Daily bump.
From-SVN: r78642
2004-02-29 00:16:40 +00:00
Paolo Carlini 0e1b98cccc locale_facets.tcc (num_get<>::_M_extract_float): According to 22.2.3.1...
2004-02-28  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get<>::_M_extract_float):
	According to 22.2.3.1, p2, 'units' may be followed by 'e' with
	no 'decimal-point' in the middle: in this case too we must fix
	up __found_grouping; slightly tweak.
	* testsuite/22_locale/num_get/get/char/14.cc: New.
	* testsuite/22_locale/num_get/get/wchar_t/14.cc: New.

From-SVN: r78625
2004-02-28 20:37:54 +00:00
GCC Administrator 2a4fc77a22 Daily bump.
From-SVN: r78593
2004-02-28 00:16:18 +00:00
Paolo Carlini a8ea738974 locale_facets.tcc (num_get<>::_M_extract_float, [...]): If appropriate, call reserve on the __tmp_gruping string.
2004-02-27  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (num_get<>::_M_extract_float,
	num_get<>::_M_extract_int, money_get<>::_M_extract): If appropriate,
	call reserve on the __tmp_gruping string.
	(num_get<>::_M_extract_float): Don't append unnecessarily a
	char() to the returned string.
	* include/bits/locale_facets.tcc: Trivial reformattings.

From-SVN: r78565
2004-02-27 14:30:19 +00:00
Paolo Carlini f4bdbead2e locale_facets.h (money_get<>::_M_extract): Change signature: now takes a plain string&.
2004-02-27  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h (money_get<>::_M_extract):
	Change signature: now takes a plain string&.
	* include/bits/locale_facets.tcc (money_get<>::_M_extract):
	Update consistently the definition; use the moneypunct cache
	to parse the value; use swap to change __units.
	(money_get<>::do_get(long double&)): Update call of _M_extract,
	avoid ctype::narrow, not correct wrt the standard.
	(money_get<>::do_get(string_type&)): Likewise, update call
	of _M_extract, use ctype::widen.
	* src/locale-inst.cc: Tweak instantiations of _M_extract.

From-SVN: r78562
2004-02-27 10:12:01 +00:00
Benjamin Kosnik 40fcf31b2f [multiple changes]
2004-02-26  Ian Lance Taylor  <ian@wasabisystems.com>

	* testsuite/demangle/abi_examples/01.cc: Expect error -2.
	* testsuite/demangle/abi_examples/02.cc: Likewise.
	* testsuite/demangle/regression/cw-11.cc: Likewise.
	* testsuite/demangle/regression/cw-16.cc: Change two expected
	results to match libiberty demangler output.

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

	PR libstdc++/10246
        * libsupc++/Makefile.am: Use libiberty demangler.
        (c_sources): Add cp-demangle.c.
        * libsupc++/Makefile.in: Regenerate.
        * src/Makefile.am (sources): Remove demangle.cc.
        * src/Makefile.in: Regenerate.
        * include/Makefile.am (bits_headers): Move demangle.h.
	(ext_headers): ...here.
        * include/Makefile.in: Regenerate.
        * include/bits/demangle.h: Move...
	* include/ext/demangle.h: ...here.
        * src/demangle.cc: Remove.

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

        * include/bits/demangle.h: Add type template parameter to all
        templates with just an Allocator template parameter.

From-SVN: r78553
2004-02-27 03:21:16 +00:00
Benjamin Kosnik 2c5d0ae842 atomicity.h: New, forward declarations for __atomic_add and __exchange_and_add.
2004-02-25  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/atomicity.h: New, forward declarations for __atomic_add
	and __exchange_and_add.
	* config/cpu/generic/atomic_word.h: New, typdef for atomic word.
	* config/cpu/cris/atomic_word.h: Same.
	* config/cpu/sparc/atomic_word.h: Same.
	* include/bits/ios_base.h (_Callback_list::_M_remove_reference):
	Qualifiy with __gnu_cxx.
	(_Callback_list::_M_add_reference): Same.
	* include/bits/locale_classes.h (locale::facet::_M_add_reference): Add.
	(locale::facet::_M_remove_reference): Same.
	(locale::_Impl::_M_add_reference): Add.
	(locale::_Impl::_M_remove_reference): Same.
	* include/bits/basic_string.h (basic_string::_Rep::_M_refcopy): Same.
	(basic_string::_Rep::_M_dispose): Same.
	* src/ios.cc (ios_base::xalloc): Same.
	* src/ios_init.cc (ios_base::Init::Init): Same.
	(ios_base::Init::~Init): Same.
	* src/locale.cc (locale:🆔:_M_id): Same.
	* config/cpu/i486/atomicity.h: Use __gnu_cxx namespace. Remove
	static, and inline keyworks.
	* config/cpu/alpha/atomicity.h: Same.
	* 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/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.

	* src/Makefile.am (host_sources): Add atomicity.cc.
	(atomicity.cc): New rule.
	* src/Makefile.in: Regenerate.
	* include/Makefile.am (host_headers): Remove host atomicity.h.
	(host_headers): Add atomic_word.h.
	(bits_headers): Add bits atomicity.h.
	Change ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
	* include/Makefile.in: Regenerate.
	* configure.host (atomic_word_dir): Add.
	* configure.ac: Substitute ATOMIC_WORD_SRCDIR. Change
	ATOMICITY_INC_SRCDIR to ATOMICITY_SRCDIR.
	* configure: Regenerate.
	* config/linker-map.gnu: Export __exchange_and_add, and __atomic_add.

	* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Same.

From-SVN: r78544
2004-02-27 00:49:50 +00:00
GCC Administrator 2b390edc65 Daily bump.
From-SVN: r78537
2004-02-27 00:16:14 +00:00
GCC Administrator 6ce7631670 Daily bump.
From-SVN: r78468
2004-02-26 00:16:13 +00:00
Carlo Wood bb9f8a85b1 * bits/demangle.h
namespace __gnu_cxx::demangler
(session<Allocator>::qualifier_list_Allocator): Add
(session<Allocator>::M_qualifier_list_alloc): Add
(session<Allocator>::decode_type_with_postfix):
Use M_qualifier_list_alloc instead of calling operator new/delete.

From-SVN: r78457
2004-02-25 21:31:01 +00:00
GCC Administrator a00ad86b8c Daily bump.
From-SVN: r78405
2004-02-25 00:16:13 +00:00
Paolo Carlini b79cef0683 re PR libstdc++/14252 (Problems with count and iterator_traits<istreambuf_iterator<char> >::difference_type)
2004-02-24  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/14252
	* include/bits/postypes.h (class streamoff): Add operator++(),
	operator++(int), operator--() and operator--(int).
	* testsuite/27_io/fpos/14252.cc: New.

From-SVN: r78388
2004-02-24 21:20:33 +00:00
Richard Sandiford 212063a844 locale_facets.tcc (num_get::_M_extract_int): Fix bounds error in handling of hex constants.
* include/bits/locale_facets.tcc (num_get::_M_extract_int): Fix bounds
	error in handling of hex constants.

From-SVN: r78385
2004-02-24 20:49:40 +00:00
Paolo Carlini 031e658e58 locale_facets.tcc (money_put<>::_M_insert): Prefer basic_string::append to operator+= and a temporary.
2004-02-24  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (money_put<>::_M_insert):
	Prefer basic_string::append to operator+= and a temporary.

From-SVN: r78360
2004-02-24 09:37:52 +00:00
GCC Administrator bbb00ead7e Daily bump.
From-SVN: r78340
2004-02-24 00:16:12 +00:00
Benjamin Kosnik f263b26e17 malloc_allocator.h: Add operators ==, !=.
2004-02-20  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/malloc_allocator.h: Add operators ==, !=.
	* include/ext/new_allocator.h: Add operators ==, !=.
	* include/ext/mt_allocator.h (__mt_alloc::tune): New.
	(__mt_alloc::_S_get_options): New.
	(__mt_alloc::_S_set_options): New.
	(__mt_alloc::_S_thread_key_destr): To _S_destroy_thread_key.
	(__mt_alloc::_S_no_of_bins): To _S_bin_size.
	Move functions out of line, simplify, format.
	* src/allocator.cc: Simplify explicit instantiations.
	* include/bits/allocator.h: Tweak.

From-SVN: r78314
2004-02-23 15:41:43 +00:00
GCC Administrator c5f7ba9ee7 Daily bump.
From-SVN: r78284
2004-02-23 00:16:11 +00:00
Paolo Carlini 20da06efdc locale_facets.tcc (money_put<>::_M_insert): Restructure formatting of value component...
2004-02-22  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.tcc (money_put<>::_M_insert):
	Restructure formatting of value component, first dealing with
	the non-decimal digits; use reserve.

2004-02-22  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/locale_facets.h (class money_get): Inherit
	from money_base too; tweak declaration of _M_extract, now
	parameterized on _Intl too.
	* include/bits/locale_facets.tcc (money_get<>::_M_extract):
	Update definition to use the cache; call reserve on __res to
	avoid multiple reallocations; fix parsing of sign component
	according to 22.2.6.1.2, p3.
	(money_get<>::do_get(long double&),
	money_get<>::do_get(string_type&)): Update calls of _M_extract.
	* src/locale-inst.cc:  Add instantiations of
	money_get::_M_extract<false> and money_get::_M_extract<true>.
	* testsuite/22_locale/money_get/get/char/14.cc: New.
	* testsuite/22_locale/money_get/get/wchar_t/14.cc: Ditto.

From-SVN: r78253
2004-02-22 11:13:27 +00:00
GCC Administrator 5904e65f29 Daily bump.
From-SVN: r78246
2004-02-22 00:16:13 +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
GCC Administrator 5a0df46884 Daily bump.
From-SVN: r78198
2004-02-21 00:16:16 +00:00
GCC Administrator 325b439bbc Daily bump.
From-SVN: r78137
2004-02-20 00:16:10 +00:00
GCC Administrator d63d3c7c2e Daily bump.
From-SVN: r78064
2004-02-19 00:16:11 +00: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
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
GCC Administrator 6cf291df7d Daily bump.
From-SVN: r78003
2004-02-18 00:16:11 +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
GCC Administrator 1e3c1e4585 Daily bump.
From-SVN: r77937
2004-02-17 00:16:13 +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
GCC Administrator 2c2ab3acc1 Daily bump.
From-SVN: r77865
2004-02-16 00:16:13 +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
GCC Administrator fa7c0d68a4 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r77836.2
2004-02-15 00:16:23 +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
GCC Administrator e8cae65926 Daily bump.
From-SVN: r77783
2004-02-14 00:16:15 +00:00
GCC Administrator 74eb57176a Daily bump.
From-SVN: r77741
2004-02-13 00:16:22 +00:00
GCC Administrator feec892281 Daily bump.
From-SVN: r77683
2004-02-12 00:16:16 +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
GCC Administrator b87ab499fd Daily bump.
From-SVN: r77627
2004-02-11 00:16: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
GCC Administrator f0c4dd0010 Daily bump.
From-SVN: r77573
2004-02-10 00:16:11 +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
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
GCC Administrator 413b591234 Daily bump.
From-SVN: r77515
2004-02-09 00:16:11 +00: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
GCC Administrator 19755f9808 Daily bump.
From-SVN: r77469
2004-02-08 00:16:12 +00:00
GCC Administrator 7a174c8b8c Daily bump.
From-SVN: r77433
2004-02-07 00:16:42 +00: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
GCC Administrator f3c9154d0e Daily bump.
From-SVN: r77356
2004-02-06 00:16:14 +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
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
GCC Administrator 90bd9d546d Daily bump.
From-SVN: r77282
2004-02-05 00:16:15 +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
GCC Administrator c3bf16ff7d Daily bump.
From-SVN: r77206
2004-02-04 00:16:13 +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
GCC Administrator c1def8ec35 Daily bump.
From-SVN: r77143
2004-02-03 00:16:13 +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
GCC Administrator 618e342744 Daily bump.
From-SVN: r77085
2004-02-02 00:16:13 +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
GCC Administrator 15cf1452c0 Daily bump.
From-SVN: r77061
2004-02-01 00:16:12 +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
GCC Administrator 7e434ad47d Daily bump.
From-SVN: r77012
2004-01-31 00:16:21 +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
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
GCC Administrator 3c282ead41 Daily bump.
From-SVN: r76904
2004-01-30 00:16:12 +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
GCC Administrator 63d47f2ab4 Daily bump.
From-SVN: r76818
2004-01-29 00:16:14 +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
GCC Administrator c4ef652567 Daily bump.
From-SVN: r76771
2004-01-28 00:16:16 +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
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
Jerry Quinn ffcec5c832 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: r76688
2004-01-27 02:58:06 +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
GCC Administrator efc8d3d272 Daily bump.
From-SVN: r76681
2004-01-27 00:16:13 +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
GCC Administrator 3a03ba7473 Daily bump.
From-SVN: r76604
2004-01-26 00:16:15 +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 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
GCC Administrator 1a50f072d6 Daily bump.
From-SVN: r76529
2004-01-25 00:16:10 +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
GCC Administrator b4eb7029c3 Daily bump.
From-SVN: r76471
2004-01-24 00:16:13 +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
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
GCC Administrator 8755a8c7bb Daily bump.
From-SVN: r76386
2004-01-23 00:16:13 +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
GCC Administrator ed78a9fd7c Daily bump.
From-SVN: r76322
2004-01-22 00:16:52 +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
GCC Administrator 0144d441ac Daily bump.
From-SVN: r76243
2004-01-21 00:16:14 +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
GCC Administrator ee395405c5 Daily bump.
From-SVN: r76187
2004-01-20 00:16:49 +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
GCC Administrator 60fa6554f5 Daily bump.
From-SVN: r76128
2004-01-19 00:16:13 +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
GCC Administrator cec403bcea Daily bump.
From-SVN: r76068
2004-01-18 00:16:43 +00:00
GCC Administrator 790b6144d1 Daily bump.
From-SVN: r76013
2004-01-17 00:16:11 +00:00
GCC Administrator 16a9a2803f Daily bump.
From-SVN: r75953
2004-01-16 00:16:07 +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
GCC Administrator 38bdcc805a Daily bump.
From-SVN: r75894
2004-01-15 00:16:08 +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
GCC Administrator 4bcab2210b Daily bump.
From-SVN: r75829
2004-01-14 00:23:09 +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
GCC Administrator 3c702a6f25 Daily bump.
From-SVN: r75772
2004-01-13 00:16:08 +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
GCC Administrator a0af2afae4 Daily bump.
From-SVN: r75698
2004-01-12 00:16:08 +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
GCC Administrator 0fbbe8a492 Daily bump.
From-SVN: r75659
2004-01-11 00:16:12 +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