Commit Graph

2769 Commits

Author SHA1 Message Date
Paolo Carlini
82ce2a94d9 re PR libstdc++/19955 (Second std::ctype<char>::narrow() does not call std::ctype<char>::do_narrow())
2005-02-15  Paolo Carlini  <pcarlini@suse.de>
	    Jon Grimm  <jgrimm2@us.ibm.com>

	PR libstdc++/19955
	* include/bits/locale_facets.h (ctype<char>::_M_narrow_init()):
	Fix the logic setting _M_narrow_ok: first check whether the
	transformation is trivial with a dflt == 0, then deal with the
	special case of zero.
	* testsuite/22_locale/ctype/narrow/char/19955.cc: New.

	* include/bits/locale_facets.h (ctype<char>::_M_widen_init()):
	Tweak consistently to use memcmp; minor formatting fixes.

Co-Authored-By: Jon Grimm <jgrimm2@us.ibm.com>

From-SVN: r95082
2005-02-15 23:29:52 +00:00
GCC Administrator
6434513e2c Daily bump.
From-SVN: r95055
2005-02-15 00:16:22 +00:00
GCC Administrator
d9099901ad Daily bump.
From-SVN: r94999
2005-02-14 00:16:51 +00:00
Richard Guenther
ae63a1cc46 re PR libstdc++/11706 (std::pow(T, int) implementation pessimizes code)
2005-02-13  Richard Guenther  <rguenth@gcc.gnu.org>
	    Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/11706
	* include/c_std/std_cmath.h (pow): Use __builtin_powi[lf]
	for integer overloads.

	* testsuite/26_numerics/cmath/powi.cc: New.

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

From-SVN: r94982
2005-02-13 10:25:02 +00:00
GCC Administrator
1da0802999 Daily bump.
From-SVN: r94949
2005-02-13 00:16:15 +00:00
GCC Administrator
17e1f1a36f Daily bump.
From-SVN: r94907
2005-02-12 00:16:59 +00:00
GCC Administrator
a94e27ddc1 Daily bump.
From-SVN: r94863
2005-02-11 00:18:19 +00:00
GCC Administrator
af97771992 Daily bump.
From-SVN: r94783
2005-02-10 00:17:28 +00:00
GCC Administrator
e472ddb0c3 Daily bump.
From-SVN: r94752
2005-02-09 00:16:18 +00:00
GCC Administrator
6a8c830d8d Daily bump.
From-SVN: r94725
2005-02-08 00:16:16 +00:00
GCC Administrator
d47fc2487f Daily bump.
From-SVN: r94639
2005-02-03 00:16:28 +00:00
GCC Administrator
fa4c37aab9 Daily bump.
From-SVN: r94573
2005-02-02 00:16:55 +00:00
Paolo Carlini
4d73fac958 cpp_type_traits.h: Rename _M_type fields to __value...
2005-02-01  Paolo Carlini  <pcarlini@suse.de>

	* include/bits/cpp_type_traits.h: Rename _M_type fields to
	__value, except for __enable_if, _M_type -> __type, consistently
	with the other traits.
	* include/bits/stl_algobase.h: Tweak consistently.
	* include/bits/stl_tree.h: Likewise.
	* include/bits/valarray_array.h: Likewise.
	* include/c_std/std_cmath.h: Likewise.
	* include/debug/safe_iterator.h: Likewise.
	* include/std/std_complex.h: Likewise.

From-SVN: r94538
2005-02-01 13:30:34 +00:00
Mark Mitchell
9367851362 decl.c (build_enumerator): Do not issue duplicate error messages about invalid enumeration constants.
* decl.c (build_enumerator): Do not issue duplicate error messages
	about invalid enumeration constants.
	* parser.c (cp_parser_non_integral_constant_expression): Always
	set parser->non_integral_constant_expression_p.
	(cp_parser_primary_expression): Add cast_p parameter.  Issue
	errors about invalid uses of floating-point literals in
	cast-expressions.
	(cp_parser_postfix_expression): Add cast_p parameter.
	(cp_parser_open_square_expression): Pass it.
	(cp_parser_parenthesized_expression_list): Add cast_p parameter.
	(cp_parser_unary_expression): Likewise.
	(cp_parser_new_placement): Pass it.
	(cp_parser_direct_new_declarator): Likewise.
	(cp_parser_new_initializer): Likewise.
	(cp_parser_cast_expression): Add cast_p parameter.
	(cp_parser_binary_expression): Likewise.
	(cp_parser_question_colon_clause): Likewise.
	(cp_parser_assignment_expression): Likewise.
	(cp_parser_expression): Likewise.
	(cp_parser_constant_expression): If an integral constant
	expression is invalid, return error_mark_node.
	(cp_parser_expression_statement): Pass cast_p.
	(cp_parser_condition): Likewise.
	(cp_parser_iteration_statement): Likewise.
	(cp_parser_jump_statement): Likewise.
	(cp_parser_mem_initializer): Likewise.
	(cp_parser_template_argument): Likewise.
	(cp_parser_parameter_declaration): Likewise.
	(cp_parser_initializer): Likewise.
	(cp_parser_throw_expression): Likewise.
	(cp_parser_attribute_list): Likewise.
	(cp_parser_simple_cast_expression): Likewise.
	(cp_parser_functional_cast): Likewise.
	(cp_parser_late_parsing_default_args): Likewise.
	(cp_parser_sizeof_operand): Save/restore
	non_integral_constant_expression_p.

	* include/std/std_limits.h (numeric_limits<float>::has_denorm):
	Add required cast.
	(numeric_limits<double>::has_denorm): Likewise.
	(numeric_limits<long double>::has_denorm): Likewise.

	* g++.dg/other/warning1.C: Adjust error messags.
	* g++.dg/parse/constant5.C: New test.

From-SVN: r94512
2005-02-01 01:01:34 +00:00
GCC Administrator
74276db1df Daily bump.
From-SVN: r94509
2005-02-01 00:16:23 +00:00
Paolo Carlini
c0736a9ddb cpp_type_traits.h: Add types to the structs thus making type_traits.h redundant...
2005-01-31  Paolo Carlini  <pcarlini@suse.de>
	    Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* include/bits/cpp_type_traits.h: Add types to the structs thus
	making type_traits.h redundant; exploit new __truth_type and
	__traitor helpers.
	* include/bits/type_traits.h: Remove.
	* include/Makefile.am: Update.
	* include/Makefile.in: Regenerate.
	* include/backward/tempbuf.h: Include cpp_type_traits.h instead.
	* include/bits/basic_string.h (replace(iterator, iterator,
	_InputIterator, _InputIterator), _S_construct(_InIterator,
	_InIterator, const _Alloc&)): Use __is_integer instead.
	* include/bits/stl_bvector.h (vector(_InputIterator,
	_InputIterator, const allocator_type&), assign(_InputIterator,
	_InputIterator), insert(iterator, _InputIterator, _InputIterator)):
	Likewise.
	* include/bits/stl_construct.h (_Destroy(_ForwardIterator,
	_ForwardIterator)): Use __is_scalar.
	* include/bits/stl_deque.h (deque(_InputIterator, _InputIterator,
	const allocator_type&), assign(_InputIterator, _InputIterator),
	insert(iterator, _InputIterator, _InputIterator)): Use __is_integer.
	* include/bits/stl_list.h (assign(_InputIterator, _InputIterator),
	insert(iterator, _InputIterator, _InputIterator)): Likewise.
	* include/bits/stl_tempbuf.h (_Temporary_buffer(_ForwardIterator,
	_ForwardIterator)): Use __is_scalar.
	* include/bits/stl_uninitialized.h (uninitialized_copy(_InputIterator,
	_InputIterator, _ForwardIterator), uninitialized_fill(_ForwardIterator,
	_ForwardIterator, const _Tp&), uninitialized_fill_n(_ForwardIterator,
	_Size, const _Tp&)): Likewise.
	* include/bits/stl_vector.h (vector(_InputIterator, _InputIterator,
	const allocator_type&), assign(_InputIterator, _InputIterator),
	insert(iterator, _InputIterator, _InputIterator)): Use __is_integer.
	* include/debug/debug.h (__valid_range(const _InputIterator&,
	const _InputIterator&)): Use __is_integer.
	* include/ext/slist (assign(_InputIterator, _InputIterator)): Likewise.
	* include/std/std_string.h: Include cpp_type_traits.h instead.

Co-Authored-By: Gabriel Dos Reis <gdr@integrable-solutions.net>

From-SVN: r94484
2005-01-31 16:22:01 +00:00
GCC Administrator
ef3f522837 Daily bump.
From-SVN: r94457
2005-01-31 00:16:26 +00:00
GCC Administrator
c2542a824e Daily bump.
From-SVN: r94417
2005-01-30 00:16:18 +00:00
GCC Administrator
73095ebc07 Daily bump.
From-SVN: r94399
2005-01-29 00:16:44 +00:00
Paolo Carlini
7536f1ed9d type_traits (is_function): Minor consistency tweaks.
2005-01-28  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits (is_function): Minor consistency tweaks.

From-SVN: r94385
2005-01-28 21:00:19 +00:00
Geoffrey Keating
7d665006a3 libstdc++.exp (libstdc++_init): Search the path for the compiler.
* testsuite/lib/libstdc++.exp (libstdc++_init): Search the path
	for the compiler.  Don't set cxxflags.
	(v3_target_compile): Search for libv3test.a relative to $objdir.
	(lsearch_all_inline): New.
	(lsearch_all_inline_not): New.
	(v3-list-tests): Rewrite to not need generated files.
	* testsuite/Makefile.am (IGNORE_WCHAR_T): New.
	(IGNORE_THREAD): New.
	(TESTS_TO_IGNORE): New.
	(site.exp): Set tests_to_ignore, cxxflags.
	* aclocal.m4: Regenerate.
	* Makefile.in: Regenerate.
	* libmath/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.

From-SVN: r94384
2005-01-28 18:57:59 +00:00
Paolo Carlini
91e390fe3d type_traits: Implement is_empty.
2005-01-28  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_empty.
	* testsuite/tr1/4_metaprogramming/type_properties/is_empty/
	is_empty.cc: New.
	* testsuite/tr1/4_metaprogramming/type_properties/is_empty/
	typedefs.cc: Likewise.

	* include/tr1/type_traits (__is_abstract_helper): Simplify a bit.

From-SVN: r94379
2005-01-28 17:20:43 +00:00
Paolo Carlini
f8023b7846 type_traits: Implement is_abstract, by exploiting the resolution of DR core/337.
2005-01-28  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_abstract, by exploiting the
	resolution of DR core/337.
	* testsuite/testsuite_tr1.h: Add AbstractClass.
	* testsuite/tr1/4_metaprogramming/type_properties/is_abstract/
	is_abstract.cc: New.
	* testsuite/tr1/4_metaprogramming/type_properties/is_abstract/
	typedefs.cc: Likewise.

	* include/tr1/type_traits (is_function): Rewrite, use the conversion
	F& -> F* instead, thus avoiding problems with abstract classes.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_function/is_function.cc: Add a test for tricky AbstractClass.

From-SVN: r94370
2005-01-28 13:29:41 +00:00
GCC Administrator
378d4011e6 Daily bump.
From-SVN: r94354
2005-01-28 00:16:26 +00:00
GCC Administrator
2f0a3aa2db Daily bump.
From-SVN: r94297
2005-01-27 00:16:39 +00:00
Paolo Carlini
b929615a7c mt_allocator.h (struct __per_type_pool_policy<,, [...]): Scale _M_chunk_size too with sizeof(_Tp)...
2005-01-26  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/mt_allocator.h
	(struct __per_type_pool_policy<,, false>::_S_get_pool,
	struct __per_type_pool_policy<,, true>::_S_get_pool): Scale
	_M_chunk_size too with sizeof(_Tp), otherwise the allocator
	breaks down as soon as sizeof(_Tp) >~ _S_chunk_size / 128;
	reduce to 64 the multiplier for _M_max_bytes (safer wrt
	_Binmap_type being a short); trivial reformattings.
	* testsuite/ext/mt_allocator/check_allocate_big_per_type.cc: New.

From-SVN: r94268
2005-01-26 16:34:58 +00:00
Paolo Carlini
02a65d230f acinclude.m4 ([GLIBCXX_ENABLE_C99]): Add ac_c99_complex to the final test for enable_c99, thus robustifying it...
2005-01-26  Paolo Carlini  <pcarlini@suse.de>

	* acinclude.m4 ([GLIBCXX_ENABLE_C99]): Add ac_c99_complex
	to the final test for enable_c99, thus robustifying it; remove
	duplicate final test on ac_99_math.
	* configure: Regenerate.

	* include/std/std_complex.h: Remove usages of the dead
	_GLIBCXX_BUGGY_COMPLEX macro.

	* testsuite/26_numerics/cmath/19322.cc: Protect with
	_GLIBCXX_USE_C99_MATH instead of the stronger _GLIBCXX_USE_C99,
	since only C99 math facilities are involved.
	* testsuite/26_numerics/cmath/c99_classification_macros_c++.cc:
	Likewise.

From-SVN: r94257
2005-01-26 10:34:53 +00:00
GCC Administrator
4c064e89d9 Daily bump.
From-SVN: r94241
2005-01-26 00:16:15 +00:00
Benjamin Kosnik
52e6723c6c acinclude.m4 (GLIBCXX_ENABLE_C99): Test for complex math functions...
2005-01-25  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCXX_ENABLE_C99): Test for complex math
	functions, and enable _GLIBCXX_USE_C99_COMPLEX_MATH if they exist.
	* acconfig.h: Add _GLIBCXX_USE_C99_COMPLEX_MATH.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* include/std/std_complex.h: Protect complex builtins with
	_GLIBCXX_USE_C99_COMPLEX_MATH.

From-SVN: r94221
2005-01-25 15:47:35 +00:00
GCC Administrator
83c8f106f9 Daily bump.
From-SVN: r94192
2005-01-25 00:20:16 +00:00
Paolo Carlini
e930780c1e type_traits: Implement is_signed and is_unsigned.
2005-01-24  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_signed and is_unsigned.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_signed/is_signed.cc: New.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_signed/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_unsigned/is_unsigned.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/type_properties/
	is_unsigned/typedefs.cc: Likewise.

From-SVN: r94160
2005-01-24 14:06:13 +00:00
GCC Administrator
29105d2509 Daily bump.
From-SVN: r94137
2005-01-24 00:16:52 +00:00
Paolo Carlini
96144e13e2 type_traits (aligned_storage): Use __aligned__ instead of aligned.
2005-01-23  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits (aligned_storage): Use __aligned__ instead
	of aligned.

From-SVN: r94107
2005-01-23 11:10:37 +00:00
Paolo Carlini
0554d39aed re PR libstdc++/19343 (New warnings in libstdc++-v3 since 2004-01-05)
2005-01-23  Paolo Carlini  <pcarlini@suse.de>
	    Andreas Jaeger  <aj@suse.de>

	PR libstdc++/19343
	* include/bits/functexcept.h: Mark the helpers as 'noreturn'.

Co-Authored-By: Andreas Jaeger <aj@suse.de>

From-SVN: r94106
2005-01-23 10:45:01 +00:00
GCC Administrator
c2d8571d91 Daily bump.
From-SVN: r94093
2005-01-23 00:16:24 +00:00
GCC Administrator
41bd881c9a Daily bump.
From-SVN: r94052
2005-01-22 00:17:34 +00:00
Volker Reichelt
a7a4444157 re PR libstdc++/19510 ([3.3 only] Uninitialized pointers in iterators)
PR libstdc++/19510
	* include/bits/stl_list.h (_List_iterator): Initialize _M_node
	in constructor.
	(_List_const_iterator): Likewise.
	* include/bits/stl_tree.h (_Rb_tree_iterator): Likewise.
	(_Rb_tree_const_iterator): Likewise.

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

From-SVN: r94002
2005-01-21 01:23:28 +00:00
GCC Administrator
75c97b449c Daily bump.
From-SVN: r94000
2005-01-21 00:19:27 +00:00
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
Paolo Carlini
310995eac7 type_traits (is_enum): Minor tweak.
2004-12-25  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits (is_enum): Minor tweak.

From-SVN: r92605
2004-12-25 15:39:43 +00:00
Paolo Carlini
a9e7ba8139 type_traits: Implement is_enum (usual caveats about the nasty consequences of c++/19076...).
2004-12-25  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_enum (usual caveats about
	the nasty consequences of c++/19076...).
	* testsuite/testsuite_tr1.h: Add ConvType.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_scalar/is_scalar.cc: New.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_scalar/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_enum/is_enum.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_enum/typedefs.cc: Likewise.

From-SVN: r92604
2004-12-25 15:24:36 +00:00
GCC Administrator
fa54a7a743 Daily bump.
From-SVN: r92600
2004-12-25 00:16:31 +00:00
Paolo Carlini
e2f5c678eb type_traits: Add missing undef.
2004-12-24  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Add missing undef.

From-SVN: r92597
2004-12-24 23:38:27 +00:00
Paolo Carlini
186e6683b0 type_traits: Implement is_member_object_pointer, is_member_function_pointer.
2004-12-24  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits: Implement is_member_object_pointer,
	is_member_function_pointer. N.B. Due to c++/19076, the latter
	doesn't really work at the moment (a rather ugly work around
	will be provided in case the front-end bug doesn't get fixed
	soon); generalize and extend the _DEFINE_SPEC macros.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_member_pointer/is_member_pointer.cc: New.
	* testsuite/tr1/4_metaprogramming/composite_type_traits/
	is_member_pointer/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_member_function_pointer/is_member_function_pointer.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_member_function_pointer/typedefs.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_member_object_pointer/is_member_object_pointer.cc: Likewise.
	* testsuite/tr1/4_metaprogramming/primary_type_categories/
	is_member_object_pointer/typedefs.cc: Likewise.

From-SVN: r92593
2004-12-24 20:33:56 +00:00
GCC Administrator
4a9dd33d4b Daily bump.
From-SVN: r92580
2004-12-24 00:16:14 +00:00
GCC Administrator
a1df694e93 Daily bump.
From-SVN: r92523
2004-12-23 00:16:26 +00:00
Paolo Carlini
821c5063f9 type_traits_fwd.h: New, forward declarations.
2004-12-22  Paolo Carlini  <pcarlini@suse.de>

	* include/tr1/type_traits_fwd.h: New, forward declarations.
	* include/tr1/type_traits: Clean-up.
	* include/Makefile.am: Add.
	* include/Makefile.in: Regenerate.

From-SVN: r92493
2004-12-22 18:40:52 +00:00
GCC Administrator
df35e33cd5 Daily bump.
From-SVN: r92479
2004-12-22 00:16:16 +00:00
GCC Administrator
f8c940c55c Daily bump.
From-SVN: r92443
2004-12-21 00:16:15 +00:00
GCC Administrator
49a1b20cb3 Daily bump.
From-SVN: r92399
2004-12-20 00:16:45 +00:00
Dhruv Matani
4c10d7f02f bitmap_allocator.h: Make doxygen style comments for internal functions and classes.
2004-12-19  Dhruv Matani  <dhruvbird@gmx.net>

	* include/ext/bitmap_allocator.h: Make doxygen style comments for
	internal functions and classes.

From-SVN: r92376
2004-12-19 11:17:40 +00:00