Commit graph

2681 commits

Author SHA1 Message Date
Paolo Carlini
9634af0238 re PR libstdc++/19535 (Wrong return types for __pair_get<1>)
2005-01-19  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/19535
	* include/tr1/utility (struct __pair_get<1>::__get, __const_get):
	Fix typo in the return type.
	* testsuite/tr1/6_containers/utility/19535.cc: New.

From-SVN: r93940
2005-01-20 02:13:49 +00:00
GCC Administrator
29de1f673f Daily bump.
From-SVN: r93930
2005-01-20 00:16:20 +00:00
Loren J. Rittle
75aa3f658c array_allocator.h (array_allocator<>::allocate): Avoid __used.
* include/ext/array_allocator.h (array_allocator<>::allocate):
	Avoid __used.  Use __array_used instead.

From-SVN: r93923
2005-01-19 21:59:55 +00:00
GCC Administrator
feee824616 Daily bump.
From-SVN: r93876
2005-01-19 00:16:36 +00:00
GCC Administrator
e5cd332117 Daily bump.
From-SVN: r93801
2005-01-18 00:16:59 +00:00
Paolo Carlini
ac317859d4 re PR libstdc++/19433 (set, multiset, map, multimap misuse hint on insert)
2005-01-17  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/19433
	* include/bits/stl_tree.h (_Rb_tree<>::insert_unique(iterator,
	const _Val&), _Rb_tree<>::insert_equal(iterator, const _Val&)):
	Obtain amortized constant complexity if t is inserted right after
	p - not before p - as per Table 69.
	* testsuite/performance/23_containers/set_insert_from_sorted.cc: New.

	* testsuite/23_containers/multiset/insert/2.cc: New.
	* testsuite/23_containers/set/insert/1.cc: Likewise.

	* testsuite/performance/23_containers/set_create_from_sorted.cc:
	Simplify.

	* include/bits/stl_tree.h: Add a few missing std:: qualifications.

From-SVN: r93761
2005-01-17 14:14:26 +00:00
GCC Administrator
15ce652006 Daily bump.
From-SVN: r93747
2005-01-17 00:16:17 +00:00
Jonathan Wakely
412dc870cb rope: Qualify calls to std::copy() by sequence_buffer.
2005-01-16  Jonathan Wakely  <redi@gcc.gnu.org>

	* include/ext/rope: Qualify calls to std::copy() by sequence_buffer.
	* testsuite/ext/rope/4.cc: Add.

From-SVN: r93736
2005-01-16 19:16:27 +00:00
Lorenz Minder
3a2794abdb re PR libstdc++/19322 (std::isnan<>() is broken on FreeBSD)
2005-01-16  Lorenz Minder  <lminder@gmx.net>
	    Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/19322
	* include/c_std/std_cmath.h: Define the C99 classification facilities
	directly inside namespace std:.
	* testsuite/26_numerics/cmath/19322.cc: New.

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

From-SVN: r93723
2005-01-16 09:59:06 +00:00
GCC Administrator
c3bcec128a Daily bump.
From-SVN: r93719
2005-01-16 00:16:16 +00:00
GCC Administrator
6c80f42e95 Daily bump.
From-SVN: r93677
2005-01-15 00:18:06 +00:00
Paolo Carlini
21c332dc93 re PR libstdc++/19422 (assoc. containers: ctor taking range is O(n log n) even if the range is sorted)
2005-01-14  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/19422
	* include/bits/stl_tree.h (_Rb_tree<>::insert_equal(_II, _II),
	_Rb_tree<>::insert_unique(_II, _II)): Use insert_equal (insert_unique,
	respectively) with hint (end()).
	* testsuite/performance/23_containers/set_create_from_sorted.cc: New.

From-SVN: r93663
2005-01-14 21:09:38 +00:00
GCC Administrator
997e120f69 Daily bump.
From-SVN: r93618
2005-01-14 00:16:20 +00:00
GCC Administrator
357e6cb869 Daily bump.
From-SVN: r93241
2005-01-13 00:16:32 +00:00
GCC Administrator
475fa38563 Daily bump.
From-SVN: r93213
2005-01-12 00:16:22 +00:00
Paolo Carlini
78593d78f1 istream.cc (basic_istream<char>::ignore(streamsize), [...]): In case more than numeric_limits<streamsize>::max() chars are skipped...
2005-01-11  Paolo Carlini  <pcarlini@suse.de>
	    Benjamin Kosnik  <bkoz@redhat.com>

	* src/istream.cc (basic_istream<char>::ignore(streamsize),
	basic_istream<char>::ignore(streamsize, int_type),
	basic_istream<wchar_t>::ignore(streamsize),
	basic_istream<wchar_t>::ignore(streamsize, int_type)): In case
	more than numeric_limits<streamsize>::max() chars are skipped,
	set _M_gcount = max().
	* include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
	int_type)): Likewise; keep simple, don't forward.

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

From-SVN: r93208
2005-01-11 23:35:43 +00:00
Paolo Carlini
a141a5afe1 istream.cc (basic_istream<char>::ignore(streamsize), [...]): Revert 2005-01-05 change...
2005-01-11  Paolo Carlini  <pcarlini@suse.de>

	* src/istream.cc (basic_istream<char>::ignore(streamsize),
	basic_istream<char>::ignore(streamsize, int_type),
	basic_istream<wchar_t>::ignore(streamsize),
	basic_istream<wchar_t>::ignore(streamsize, int_type)): Revert
	2005-01-05 change: actually, the previous behavior is conforming
	and consistent with that of get(char_type*, streamsize, char_type),
	albeit slightly different from that of 3.3/3.4 in a corner case
	due to the use of snextc.
	* include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
	int_type)): Likewise.
	* testsuite/27_io/basic_istream/ignore/char/4.cc: Remove.
	* testsuite/27_io/basic_istream/ignore/wchar_t/4.cc: Likewise.

From-SVN: r93189
2005-01-11 16:48:14 +00:00
Paolo Carlini
464b277ba2 type_traits: Implement alignment_of and aligned_storage.
2005-01-11  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement alignment_of and aligned_storage.
	* testsuite/tr1/4_metaprogramming/other_transformations/
	aligned_storage/aligned_storage.cc: New.
	* testsuite/tr1/4_metaprogramming/other_transformations/
	aligned_storage/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	alignment_of/alignment_of.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	alignment_of/typedefs.cc: Likewise.

From-SVN: r93183
2005-01-11 12:29:31 +00:00
GCC Administrator
cc76514339 Daily bump.
From-SVN: r93162
2005-01-11 00:16:49 +00:00
Paolo Carlini
3e636396c8 Makefile.in: Regenerate.
2005-01-10  Paolo Carlini  <pcarlini@suse.de>

	* Makefile.in: Regenerate.
	* libmath/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.

2005-01-10  Paolo Carlini  <pcarlini@suse.de>

        * include/bits/stl_algobase.h (lexicographical_compare):
        Fix concept check.

From-SVN: r93143
2005-01-10 17:07:50 +00:00
GCC Administrator
bc29943ee9 Daily bump.
From-SVN: r93126
2005-01-10 00:16:19 +00:00
GCC Administrator
a7e53bbf01 Daily bump.
From-SVN: r93098
2005-01-09 00:16:24 +00:00
GCC Administrator
9e04a3bfee Daily bump.
From-SVN: r93072
2005-01-08 00:16:36 +00:00
Benjamin Kosnik
825bd0e1e8 acinclude.m4: Remove CCODECVT_H.
2005-01-07  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4: Remove CCODECVT_H.
	* configure: Regenerate.
	* include/Makefile.am (host_headers_extra): Move to...
	(ext_headers): ...here.
	* include/Makefile.in: Regenerate.
	* include/ext/enc_filebuf: Remove enc_filebuf, consolidate
	enc_traits to...
	* config/locale/ieee_1003.1-2001/codecvt_specializations.h: Move...
	* include/ext/codecvt_specializations.h: ...here. Remove
	_GLIBCXX_USE___ENC_TRAITS.
	(__enc_traits): To __encoding_state, put in __gnu_cxx namespace.
	(enc_char_traits): To __encoding_char_traits, put in __gnu_cxx
	namespace.
	* config/locale/generic/codecvt_specializations.h: Remove.
	* include/bits/codecvt.h: Remove codecvt_specializations.h include.
	* src/codecvt.cc: Remove __enc_traits::_S_max_size.

From-SVN: r93062
2005-01-07 19:34:46 +00:00
GCC Administrator
44d0e0415d Daily bump.
From-SVN: r93018
2005-01-07 00:16:18 +00:00
Benjamin Kosnik
a8e3a00f54 fstream.tcc: Remove unnecessary qualifications for uglified data members of basic_filebuf...
2005-01-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/fstream.tcc: Remove unnecessary qualifications for
	uglified data members of basic_filebuf, including _M_buf,
	_M_buf_size, _M_mode, _M_pback_init.
	* include/std/std_fstream.h: Same.

From-SVN: r93006
2005-01-06 20:40:25 +00:00
GCC Administrator
bb19349385 Daily bump.
From-SVN: r92980
2005-01-06 00:16:18 +00:00
Paolo Carlini
1e156882fa istream.cc (basic_istream<char>::ignore(streamsize), [...]): At the end, first check _M_gcount vs __n.
2005-01-05  Paolo Carlini  <pcarlini@suse.de>

	* src/istream.cc (basic_istream<char>::ignore(streamsize),
	basic_istream<char>::ignore(streamsize, int_type),
	basic_istream<wchar_t>::ignore(streamsize),
	basic_istream<wchar_t>::ignore(streamsize, int_type)): At the end,
	first check _M_gcount vs __n.
	* include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
	int_type)): Likewise.
	* testsuite/27_io/basic_istream/ignore/char/4.cc: New.
	* testsuite/27_io/basic_istream/ignore/wchar_t/4.cc: Likewise.

From-SVN: r92947
2005-01-05 11:11:48 +00:00
GCC Administrator
8d0cf6032b Daily bump.
From-SVN: r92915
2005-01-05 00:16:16 +00:00
GCC Administrator
85b7d88973 Daily bump.
From-SVN: r92875
2005-01-04 00:16:18 +00:00
Paolo Carlini
ab4af6a549 istream.tcc (ignore(streamsize), [...]): Reset _M_gcount to numeric_limits<streamsize>::min().
2005-01-03  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
	int_type)): Reset _M_gcount to numeric_limits<streamsize>::min().
	* src/istream.cc (basic_istream<char>::ignore(streamsize, int_type),
	basic_istream<wchar_t>::ignore(streamsize, int_type)): Likewise.
	* src/istream.cc (basic_istream<char>::ignore(streamsize),
	basic_istream<wchar_t>::ignore(streamsize)): Likewise; fix a typo.

From-SVN: r92827
2005-01-03 14:07:26 +00:00
GCC Administrator
75b5076e96 Daily bump.
From-SVN: r92819
2005-01-03 00:16:44 +00:00
Paolo Carlini
bea53dbfbc istream.cc (basic_istream<char>::ignore(streamsize), [...]): Avoid _M_gcount overflows.
2005-01-02  Paolo Carlini  <pcarlini@suse.de>

	* src/istream.cc (basic_istream<char>::ignore(streamsize),
	basic_istream<char>::ignore(streamsize, int_type),
	basic_istream<wchar_t>::ignore(streamsize),
	basic_istream<wchar_t>::ignore(streamsize, int_type)): Avoid
	_M_gcount overflows.
	* include/bits/istream.tcc (ignore(streamsize), ignore(streamsize,
	int_type)): Likewise; use snextc in the main loop, consistently
	with the specializations above.

From-SVN: r92816
2005-01-03 00:02:47 +00:00
Chris Jefferson
ab06dedc5d stl_algobase.h (mismatch): Correct concept check.
2005-01-02  Chris Jefferson  <chris@bubblescope.net>

	* include/bits/stl_algobase.h (mismatch): Correct concept check.

From-SVN: r92808
2005-01-02 17:49:51 +00:00
GCC Administrator
302904495d Daily bump.
From-SVN: r92797
2005-01-02 00:16:49 +00:00
GCC Administrator
8bcccf30f1 Daily bump.
From-SVN: r92779
2005-01-01 00:16:16 +00:00
Paolo Carlini
bdaa445236 type_traits (is_member_function_pointer): Provide a workaround for c++/19076, correct for functions with up to 15 arguments.
2004-12-31  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits (is_member_function_pointer): Provide a
	workaround for c++/19076, correct for functions with up to 15
	arguments.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_member_pointer/is_member_pointer.cc: Uncomment "XFAILed" tests;
	add a test for variadic functions.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_scalar/is_scalar.cc: Uncomment "XFAILed" tests.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_enum/is_enum.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_member_function_pointer/is_member_function_pointer.cc: Likewise;
	add a test for variadic functions.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_member_object_pointer/is_member_object_pointer.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_nothrow_assign/has_nothrow_assign.cc: Uncomment "XFAILed" tests.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_nothrow_constructor/has_nothrow_constructor.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_nothrow_copy/has_nothrow_copy.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_assign/has_trivial_assign.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_constructor/has_trivial_constructor.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_copy/has_trivial_copy.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_destructor/has_trivial_destructor.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_pod/is_pod.cc: Likewise.

From-SVN: r92769
2004-12-31 18:15:22 +00:00
GCC Administrator
223947a954 Daily bump.
From-SVN: r92752
2004-12-31 00:16:20 +00:00
Paolo Carlini
36651afeec type_traits: Add has_trivial_copy, has_trivial_assign, has_nothrow_copy, has_nothrow_assign.
2004-12-30  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Add has_trivial_copy, has_trivial_assign,
	has_nothrow_copy, has_nothrow_assign.
	* testsuite/testsuite_tr1.h: Add test_copy_property and
	test_assign_property.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_nothrow_assign/has_nothrow_assign.cc: New.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_nothrow_assign/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_nothrow_copy/has_nothrow_copy.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_nothrow_copy/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_assign/has_trivial_assign.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_assign/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_copy/has_trivial_copy.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_copy/typedefs.cc: Likewise.

From-SVN: r92745
2004-12-30 23:27:28 +00:00
Jonathan Wakely
86cdac1133 vector.tcc (erase(iterator, iterator), [...]): Qualify all calls to std::copy().
2004-12-29  Jonathan Wakely  <redi@gcc.gnu.org>

	* include/bits/vector.tcc (erase(iterator, iterator),
	operator=, _M_assign_aux(_ForwardIterator, _ForwardIterator,
	forward_iterator_tag)): Qualify all calls to std::copy().

From-SVN: r92724
2004-12-30 02:32:04 +00:00
GCC Administrator
b53948b951 Daily bump.
From-SVN: r92718
2004-12-30 00:16:33 +00:00
Paolo Carlini
5249b4b0ce type_traits: Add has_nothrow_constructor.
2004-12-29  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Add has_nothrow_constructor.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_nothrow_constructor/has_nothrow_constructor.cc: New.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_nothrow_constructor/typedefs.cc: Likewise.

From-SVN: r92699
2004-12-29 12:11:27 +00:00
GCC Administrator
85f3cc4295 Daily bump.
From-SVN: r92691
2004-12-29 00:16:14 +00:00
Jason Merrill
445cf5eb0d Add memory barriers to the double-checked locking used for static initialization.
libstdc++:
        Add memory barriers to the double-checked locking used for static
        initialization.
        * libsupc++/guard.cc (__test_and_acquire): Define default.
        (_GLIBCXX_GUARD_TEST_AND_ACQUIRE, __set_and_release)
        (_GLIBCXX_GUARD_SET_AND_RELEASE): Likewise.
        (recursion_push, recursion_pop): New abstraction functions.
        (__cxa_guard_acquire): Use _GLIBCXX_GUARD_TEST_AND_ACQUIRE.
        (__cxa_guard_release): Use _GLIBCXX_GUARD_SET_AND_RELEASE.
        * config/cpu/generic/cxxabi_tweaks.h (_GLIBCXX_GUARD_TEST): Rename
        from _GLIBCXX_GUARD_ACQUIRE and reverse sense.
        (_GLIBCXX_GUARD_SET): Rename from _GLIBCXX_GUARD_RELEASE.
        * config/cpu/arm/cxxabi_tweaks.h: Likewise.
        * config/cpu/alpha/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER)
        (_GLIBCXX_WRITE_MEM_BARRIER): Define.
        * config/cpu/powerpc/atomic_word.h: Likewise.
        * config/cpu/sparc/atomic_word.h: Likewise.
        * config/cpu/generic/atomic_word.h: Define them, commented out.
        * include/bits/atomicity.h: Define defaults.
        * config/cpu/ia64/atomic_word.h (__test_and_acquire)
        (__set_and_release): New inlines.
        (_GLIBCXX_GUARD_TEST_AND_ACQUIRE): Define.
        (_GLIBCXX_GUARD_SET_AND_RELEASE): Define.

        * libsupc++/guard.cc (acquire_1): Use __builtin_trap instead of
        abort();

gcc:
        * doc/tm.texi (TARGET_RELAXED_ORDERING): Document.
        * target.h (struct gcc_target): Add relaxed_ordering field.
        * target-def.h (TARGET_RELAXED_ORDERING): Define default.
        (TARGET_INITIALIZER): Add it.
        * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Define.
        * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Define.
        * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Define.
        * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Define.
        * cp/decl.c (expand_static_init): Don't use shortcut if
        targetm.relaxed_ordering.

From-SVN: r92659
2004-12-27 23:36:54 -05:00
GCC Administrator
460fdb4efa Daily bump.
From-SVN: r92655
2004-12-28 00:16:20 +00:00
Paolo Carlini
5168743153 type_traits: Rework the _DEFINE_SPEC* macros.
2004-12-27  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Rework the _DEFINE_SPEC* macros.

From-SVN: r92647
2004-12-27 18:51:12 +00:00
GCC Administrator
e37ba56b57 Daily bump.
From-SVN: r92626
2004-12-27 00:16:18 +00:00
Paolo Carlini
fe9ddfce2c type_traits (__is_enum_helper): Slightly simplify, make __convert non template.
2004-12-26  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits (__is_enum_helper): Slightly simplify,
	make __convert non template.

From-SVN: r92622
2004-12-26 19:05:47 +00:00
Paolo Carlini
1933b74f78 type_traits: Implement is_pod, has_trivial_constructor, and has_trivial_destructor.
2004-12-26  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_pod, has_trivial_constructor,
	and has_trivial_destructor.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_constructor/has_trivial_constructor.cc: New.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_constructor/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_destructor/has_trivial_destructor.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	has_trivial_destructor/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_pod/is_pod.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_pod/typedefs.cc: Likewise.

From-SVN: r92618
2004-12-26 11:08:47 +00:00
GCC Administrator
df96aa5261 Daily bump.
From-SVN: r92612
2004-12-26 00:16:13 +00:00