Commit Graph

4031 Commits

Author SHA1 Message Date
Stephen M. Webb
849cab7b75 Initial regex implementation.
2010-06-25  Stephen M. Webb  <stephen.webb@bregmasoft.ca>

  Initial regex implementation.

  * include/std/regex: Modified to use bits/regex_* headers.
  * include/bits/regex_compiler.h: New file.
  * include/bits/regex_constants.h: New file.
  * include/bits/regex_cursor.h: New file.
  * include/bits/regex_error.h: New file.
  * include/bits/regex_grep_matcher.h: New file.
  * include/bits/regex_grep_matcher.tcc: New file.
  * include/bits/regex.h: New file.
  * include/bits/regex_nfa.h: New file.
  * include/bits/regex_nfa.tcc: New file.
  * include/Makefile.am: Added above new files.
  * include/Makefile.in: Regenerated.
  * testsuite/28_regex/02_definitions: New file.
  * testsuite/28_regex/03_requirements: New file.
  * testsuite/28_regex/03_requirements/typedefs.cc: New file.
  * testsuite/28_regex/04_header: New file.
  * testsuite/28_regex/04_header/regex: New file.
  * testsuite/28_regex/04_header/regex/std_c++0x_neg.cc: New file.
  * testsuite/28_regex/05_constants: New file.
  * testsuite/28_regex/05_constants/error_type.cc: New file.
  * testsuite/28_regex/05_constants/match_flag_type.cc: New file.
  * testsuite/28_regex/05_constants/syntax_option_type.cc: New file.
  * testsuite/28_regex/06_exception_type: New file.
  * testsuite/28_regex/06_exception_type/regex_error.cc: New file.
  * testsuite/28_regex/07_traits: New file.
  * testsuite/28_regex/07_traits/char: New file.
  * testsuite/28_regex/07_traits/char/ctor.cc: New file.
  * testsuite/28_regex/07_traits/char/isctype.cc: New file.
  * testsuite/28_regex/07_traits/char/length.cc: New file.
  * testsuite/28_regex/07_traits/char/lookup_classname.cc: New file.
  * testsuite/28_regex/07_traits/char/lookup_collatename.cc: New file.
  * testsuite/28_regex/07_traits/char/transform.cc: New file.
  * testsuite/28_regex/07_traits/char/transform_primary.cc: New file.
  * testsuite/28_regex/07_traits/char/translate.cc: New file.
  * testsuite/28_regex/07_traits/char/translate_nocase.cc: New file.
  * testsuite/28_regex/07_traits/char/value.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t: New file.
  * testsuite/28_regex/07_traits/wchar_t/ctor.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/length.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/transform.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/translate.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/translate_nocase.cc: New file.
  * testsuite/28_regex/07_traits/wchar_t/value.cc: New file.
  * testsuite/28_regex/08_basic_regex: New file.
  * testsuite/28_regex/08_basic_regex/assign: New file.
  * testsuite/28_regex/08_basic_regex/assign/char: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/cstring_op.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/moveable.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/pstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/range.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/string.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/char/string_op.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/cstring_op.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/pstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/range.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/string.cc: New file.
  * testsuite/28_regex/08_basic_regex/assign/wchar_t/string_op.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic/pstring_char.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic/pstring_wchar_t.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/basic/string_range_01_02_03.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring_awk.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring_ecma.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring_egrep.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/cstring_grep.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/default.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/char/range.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/copy_char.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/extended: New file.
  * testsuite/28_regex/08_basic_regex/ctors/extended/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/extended/string_range_01_02_03.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/move_char.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/string_char.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/string_wchar_t.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/wchar_t: New file.
  * testsuite/28_regex/08_basic_regex/ctors/wchar_t/cstring.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/wchar_t/default.cc: New file.
  * testsuite/28_regex/08_basic_regex/ctors/wchar_t/range.cc: New file.
  * testsuite/28_regex/08_basic_regex/regex.cc: New file.
  * testsuite/28_regex/09_sub_match: New file.
  * testsuite/28_regex/09_sub_match/cast_char.cc: New file.
  * testsuite/28_regex/09_sub_match/cast_wchar_t.cc: New file.
  * testsuite/28_regex/09_sub_match/length.cc: New file.
  * testsuite/28_regex/09_sub_match/typedefs.cc: New file.
  * testsuite/28_regex/10_match_results: New file.
  * testsuite/28_regex/10_match_results/ctors: New file.
  * testsuite/28_regex/10_match_results/ctors/char: New file.
  * testsuite/28_regex/10_match_results/ctors/char/default.cc: New file.
  * testsuite/28_regex/10_match_results/ctors/wchar_t: New file.
  * testsuite/28_regex/10_match_results/ctors/wchar_t/default.cc: New file.
  * testsuite/28_regex/10_match_results/typedefs.cc: New file.
  * testsuite/28_regex/11_algorithms: New file.
  * testsuite/28_regex/11_algorithms/02_match: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic/string_01.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic/string_range_00_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic/string_range_01_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/basic/string_range_02_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/cstring_plus.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/cstring_questionmark.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/string_any.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/string_range_00_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/string_range_01_03.cc: New file.
  * testsuite/28_regex/11_algorithms/02_match/extended/string_range_02_03.cc: New file.
  * testsuite/28_regex/12_iterators: New file.
  * testsuite/28_regex/12_iterators/regex_iterator: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors/char: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors/char/default.cc: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/ctors/wchar_t/default.cc: New file.
  * testsuite/28_regex/12_iterators/regex_iterator/typedefs.cc: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors/char/default.cc: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/ctors/wchar_t/default.cc: New file.
  * testsuite/28_regex/12_iterators/regex_token_iterator/typedefs.cc: New file.
  * testsuite/28_regex/13_ecmascript: New file.

From-SVN: r161410
2010-06-25 19:27:16 +00:00
Paolo Carlini
47d660fbcc profiler_list_to_slist.h: Remove spurious semicolon; prefer pre-increment.
2010-06-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/impl/profiler_list_to_slist.h: Remove spurious
	semicolon; prefer pre-increment.
	* include/profile/impl/profiler_container_size.h: Use everywhere
	qualified std::size_t.
	* include/profile/impl/profiler_trace.h (__trace_base<>::
	__collect_warnings): Tidy loop.
	* include/profile/impl/profiler_vector_to_list.h: Minor formatting
	changes.

From-SVN: r161373
2010-06-25 11:37:54 +00:00
Paolo Carlini
0b032f38aa profiler_trace.h: Uglify it to __it, use everywhere std::size_t instead of size_t.
2010-06-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/impl/profiler_trace.h: Uglify it to __it, use
	everywhere std::size_t instead of size_t.

From-SVN: r161368
2010-06-25 09:43:18 +00:00
Paolo Carlini
3f04c1b4bd profiler_trace.h (__trace_base<>:: __trace_base()): Move inline, simplify; formatting tweaks.
2010-06-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/impl/profiler_trace.h (__trace_base<>::
	__trace_base()): Move inline, simplify; formatting tweaks.
	* include/profile/impl/profiler_hash_func.h: Formatting tweaks.

From-SVN: r161333
2010-06-24 18:52:31 +00:00
Paolo Carlini
c7d42abb94 profiler_trace.h (__warning_data:: __warning_message): Change to std::string...
2010-06-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/impl/profiler_trace.h (__warning_data::
	__warning_message): Change to std::string; clean-up includes,
	qualify size_t, fprintf, etc, with std everywhere.
	(struct __warn::operator()): Adjust.
	* include/profile/impl/profiler_list_to_slist.h
	(__list2slist_info::__advice): Change to return a std::string;
	clean-up includes, qualify size_t, fprintf, etc, with std.
	* include/profile/impl/profiler_container_size.h
	(__container_size_info::__advice): Likewise.
	* include/profile/impl/profiler_hash_func.h (__hashfunc_info::
	__advice): Likewise.
	* include/profile/impl/profiler_list_to_vector.h
	(__list2vector_info::__advice): Likewise.
	* include/profile/impl/profiler_vector_to_list.h
	(__vector2list_info::__advice): Likewise.
	* include/profile/impl/profiler_map_to_unordered_map.h
	(__map2umap_info::__advice): Likewise.
	* include/profile/impl/profiler.h: Likewise.
	* include/profile/impl/profiler_hashtable_size.h: Likewise.
	* include/profile/impl/profiler_node.h: Likewise.
	* include/profile/impl/profiler_vector_size.h: Likewise.

	* include/profile/iterator_tracker.h: Formatting and stylistic
	tweaks.
	* include/profile/base.h: Likewise.
	* include/profile/map.h: Likewise.

From-SVN: r161325
2010-06-24 16:17:55 +00:00
Paolo Carlini
6b8cdb0ac2 stl_tree.h (erase(iterator), [...]): Remove inline specifier.
2010-06-23  Paolo Carlini <paolo.carlini@oracle.com>

	* include/bits/stl_tree.h (erase(iterator), erase(const_iterator)):
	Remove inline specifier.

From-SVN: r161267
2010-06-23 09:50:42 +00:00
Paolo Carlini
b0af13eadd profiler_list_to_slist.h: Fix formatting, other minor stylistic changes.
2010-06-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/impl/profiler_list_to_slist.h: Fix formatting,
	other minor stylistic changes.
	* include/profile/impl/profiler_container_size.h: Likewise.
	* include/profile/impl/profiler_vector_size.h: Likewise.
	* include/profile/impl/profiler_hash_func.h: Likewise.
	* include/profile/impl/profiler_trace.h: Likewise.
	* include/profile/impl/profiler_list_to_vector.h: Likewise.
	* include/profile/impl/profiler_vector_to_list.h: Likewise.
	* include/profile/impl/profiler_state.h: Likewise.
	* include/profile/impl/profiler_map_to_unordered_map.h: Likewise.
	* include/profile/impl/profiler_hashtable_size.h: Likewise.
	* include/profile/impl/profiler_node.h: Likewise.

From-SVN: r161236
2010-06-22 23:36:32 +00:00
Paolo Carlini
82c2f1bbd3 re PR libstdc++/44630 (profiler_trace.h defines functions __max and __min which causes portability problems)
2010-06-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/44630
	* include/profile/impl/profiler_trace.h (__min, __max): Remove,
	use std::min, std::max everywhere.
	* include/profile/impl/profiler_container_size.h: Use std::min and
	std::max.
	* include/profile/impl/profiler_hash_func.h: Likewise.
	* include/profile/impl/profiler_list_to_vector.h: Likewise.

From-SVN: r161192
2010-06-22 15:28:02 +00:00
Paolo Carlini
b7d3d70f77 random.tcc (uniform_int_distribution<>::operator()): Fix to work well for arbitrary urng.max() and urng.min().
2010-06-20  Paolo Carlini  <paolo.carlini@oracle.com>
	    Kai-Uwe Bux  <bux@kubux.net>

	* include/bits/random.tcc (uniform_int_distribution<>::operator()):
	Fix to work well for arbitrary urng.max() and urng.min().

Co-Authored-By: Kai-Uwe Bux <bux@kubux.net>

From-SVN: r161054
2010-06-20 21:03:10 +00:00
Paolo Carlini
dc2cf706b8 re PR libstdc++/32618 (std::vector calls uneccessary constructors instead of inplace construction of first object)
2010-06-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/32618
	* include/bits/stl_list.h (vector<>::_M_default_initialize,
	_M_default_append): Declare.
	(list<>::list(size_type), resize(size_type)): Add in C++0x mode,
	use the latter.
	* include/bits/list.tcc (list<>::resize, _M_default_append): Define.
	* include/bits/stl_vector.h (vector<>::_M_default_initialize,
	_M_default_append): Declare.
	(vector<>::vector(size_type), resize(size_type)): Add in C++0x mode,
	use the latter.
	* include/bits/vector.tcc (vector<>::_M_default_append): Define.
	* include/bits/stl_deque.h (deque<>::_M_default_initialize,
	_M_default_append): Declare.
	(deque<>::deque(size_type), resize(size_type)): Add in C++0x mode,
	use the latter.
	* include/bits/deque.tcc (deque<>::_M_default_append): Define.
	* include/debug/vector: Update.
	* include/debug/deque: Likewise.
	* include/debug/list: Likewise.
	* include/profile/vector: Likewise.
	* include/profile/deque: Likewise.
	* include/profile/list: Likewise.
	* include/bits/forward_list.h (_M_default_initialize,
	_M_default_insert_after): Declare.
	(forward_list<>::forward_list(size_type), resize(size_type)): Fix,
	use the latter.
	* include/bits/forward_list.tcc (forward_list<>::_M_default_append,
	_M_default_insert_after): Define.
	* testsuite/util/testsuite_api.h (NonCopyConstructible): Add.
	* testsuite/23_containers/forward_list/modifiers/6.cc: Move to...
	* testsuite/23_containers/forward_list/capacity/resize_size.cc:
	... here.
	* testsuite/23_containers/forward_list/cons/10.cc: Move to...
	* testsuite/23_containers/forward_list/cons/cons_size.cc: ... here.
	* testsuite/23_containers/vector/resize/1.cc: Move to...
	* testsuite/23_containers/vector/capacity/resize/1.cc: ... here.	
	* testsuite/23_containers/vector/resize/moveable.cc: Move to...
	* testsuite/23_containers/vector/resize/capacity/moveable.cc: ... here.
	* testsuite/23_containers/vector/cons/cons_size.cc: New.
	* testsuite/23_containers/vector/capacity/resize/resize_size.cc:
	Likewise.
	* testsuite/23_containers/deque/cons/cons_size.cc: Likewise.
	* testsuite/23_containers/deque/capacity/resize_size.cc: Likewise.
	* testsuite/23_containers/list/cons/cons_size.cc: Likewise.
	* testsuite/23_containers/list/capacity/resize_size.cc: Likewise.
	* testsuite/23_containers/vector/capacity/resize/moveable.cc: Adjust.
	* testsuite/23_containers/deque/capacity/moveable.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Adjust dg-error line numbers.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: 
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: 
	Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: 
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: 
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r161009
2010-06-18 18:07:45 +00:00
Paolo Carlini
cc86c05a59 stl_uninitialized.h (__uninitialized_default, [...]): Add.
2010-06-17  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_uninitialized.h (__uninitialized_default,
	__uninitialized_default_n, __uninitialized_default_a,
	__uninitialized_default_n_a): Add.

	* include/bits/stl_uninitialized.h (uninitialized_copy,
	uninitialized_fill, uninitialized_fill_n): Use __is_trivial
	instead of __is_pod.
	* include/bits/valarray_array.h: Likewise.
	* include/bits/stl_algobase.h (__copy_move_backward_a,
	__copy_move_a): Likewise.

From-SVN: r160882
2010-06-17 08:34:17 +00:00
Paolo Carlini
fe27aa8bc4 stl_construct.h (_Construct): Change to variadic in C++0x mode, consistently with allocator::construct.
2010-06-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_construct.h (_Construct): Change to variadic in
	C++0x mode, consistently with allocator::construct.
	* include/bits/stl_uninitialized.h (__uninitialized_copy_n): Use
	_Construct.
	(__uninitialized_construct_range): Move to...
	* include/bits/stl_tempbuf.h (__uninitialized_construct_buf): ... here.

From-SVN: r160833
2010-06-16 12:26:24 +00:00
Paolo Carlini
2d9ca17ba9 base.h (min, max): Mark inline.
2010-06-13  Paolo Carlini <paolo.carlini@oracle.com>

	* include/parallel/base.h (min, max): Mark inline.
	* include/parallel/set_operations.h (__parallel_set_operation):
	Uglify the Operation template parameter.

From-SVN: r160683
2010-06-13 15:44:51 +00:00
Paolo Carlini
b0e788cc09 shared_ptr.h (hash<shared_ptr>): Add.
2010-06-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/shared_ptr.h (hash<shared_ptr>): Add.
	* include/bits/shared_ptr_base.h (hash<__shared_ptr>): Likewise.
	* include/bits/unique_ptr.h (hash<unique_ptr>): Likewise.
	* testsuite/20_util/shared_ptr/hash/1.cc: New.
	* testsuite/20_util/unique_ptr/hash/1.cc: Likewise.

From-SVN: r160621
2010-06-11 16:20:24 +00:00
Jonathan Wakely
cff9004472 tuple (_Swallow_assign::operator=): Add const.
2010-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/tuple (_Swallow_assign::operator=): Add const.
	(ignore): Replace anonymous namespace member with const instance.

From-SVN: r160613
2010-06-11 16:02:33 +01:00
Paolo Carlini
d247d6625a tuple (tuple(const tuple&)): Define explicitly-defaulted.
2010-06-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/tuple (tuple(const tuple&)): Define explicitly-defaulted.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Tweak dg-warning
	line number.

From-SVN: r160539
2010-06-10 12:24:31 +00:00
Paolo Carlini
87b2e74657 re PR libstdc++/44487 ([C++0x] pair of references doesn't work)
2010-06-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/44487
	* include/bits/stl_pair.h (pair(pair&&)): Remove.
	(pair(pair<_U1, _U2>&&): Use forward, consistently with Bullet 5
	of LWG 1326.
	* include/std/tuple (tuple(pair<_U1, _U2>&&)): Likewise.
	* testsuite/20_util/pair/44487.cc: Add.
	* testsuite/20_util/tuple/cons/44487.cc: Likewise.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
	line numbers.

From-SVN: r160528
2010-06-10 10:24:46 +00:00
Paolo Carlini
e4f32cb0a5 type_traits (is_nothrow_constructible): Add.
2010-06-09  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (is_nothrow_constructible): Add.
	(declval): Add noexcept specification.
	* testsuite/util/testsuite_tr1.h (struct NothrowExplicitClass,
	ThrowExplicitClass, NoexceptExplicitClass, ExceptExplicitClass):
	Add.
	* testsuite/20_util/is_nothrow_constructible/value.cc: New.
	* testsuite/20_util/is_nothrow_constructible/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/is_nothrow_constructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Adjust dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r160523
2010-06-10 00:43:50 +00:00
Paolo Carlini
6ef9e52dc6 re PR libstdc++/44413 (inefficient code for std::string::compare on x86-64)
2010-06-09  Paolo Carlini  <paolo.carlini@oracle.com>

	Revert:    
	2010-06-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/44413
	* include/ext/vstring_util.h (__vstring_utility<>::_S_compare):
	Simplify, just return -1, 0, 1.

From-SVN: r160476
2010-06-09 14:02:03 +00:00
Paolo Carlini
fa9d7d3b70 re PR libstdc++/44413 (inefficient code for std::string::compare on x86-64)
2010-06-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/44413
	* include/ext/vstring_util.h (__vstring_utility<>::_S_compare):
	Simplify, just return -1, 0, 1.

From-SVN: r160456
2010-06-09 09:15:51 +00:00
Paolo Carlini
6f5e9b8df6 type_traits (has_nothrow_assign): Rename to has_nothrow_copy_assign.
2010-06-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (has_nothrow_assign): Rename to
	has_nothrow_copy_assign.
	(has_trivial_assign): Rename to has_trivial_copy_assign.
	* testsuite/20_util/has_nothrow_copy_assign/value.cc: New.
	* testsuite/20_util/has_nothrow_copy_assign/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/has_nothrow_copy_assign/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
	* testsuite/20_util/has_trivial_copy_assign/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/has_trivial_copy_assign/requirements/
	explicit_instantiation.cc: Likewise.

From-SVN: r160443
2010-06-08 17:50:54 +00:00
Johannes Singler
22a2af9556 2010-06-08 Johannes Singler <singler@kit.edu>
* include/parallel/find.h
        (__find_template(.., growing_blocks_tag)): Make block size
        proportional to current position.
        * include/parallel/settings.h (_Settings): Introduce new tuning
        parameter find_scale_factor to the end of the struct, defaults to
        0.01f.

From-SVN: r160439
2010-06-08 16:50:05 +00:00
Johannes Singler
736cc331c6 2010-06-08 Johannes Singler <singler@kit.edu>
* include/parallel/partial_sum.h
        (__parallel_partial_sum_linear):
        Correctly calculate part lengths for partial_sum_dilation!=1.0f.

From-SVN: r160428
2010-06-08 09:11:49 +00:00
Paolo Carlini
c8061de73f re PR libstdc++/44417 (make check-target-libstdc++-v3 fails due to undefined ptrdiff_t)
2010-06-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/44417
	* include/c_std/cwctype: Provide a workaround for bug glibc
	BZ 9694 affecting glibc 2.9 and older.
	* include/c_global/cwctype: Likewise.
	* testsuite/util/testsuite_abi.h: Remove temporary workaround.
	* testsuite/util/testsuite_allocator.h: Use everywhere std::size_t
	and std::ptrdiff_t, don't include <cstddef>.

	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
	error_code.cc: Minor tweak, prefer <cwchar> to <wchar.h>.

From-SVN: r160417
2010-06-08 01:46:10 +00:00
Paolo Carlini
567d4027a3 order_statistics_imp.hpp: Avoid -Wall warnings.
2010-06-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp:
	Avoid -Wall warnings.
	* testsuite/27_io/ios_base/failure/what-3.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/str/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/str/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sgetn/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sgetn/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sbumpc/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sbumpc/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/snextc/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/snextc/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sgetc/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sgetc/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/seekpos/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/seekpos/char/1.cc: Likewise.
	* testsuite/27_io/types/2.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/ws/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/ws/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/seekg/wchar_t/8348-2.cc: Likewise.
	* testsuite/27_io/basic_istream/seekg/char/8348-2.cc: Likewise.
	* testsuite/27_io/basic_istream/tellg/wchar_t/8348.cc: Likewise.
	* testsuite/27_io/basic_istream/tellg/char/8348.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/
	wchar_t/01.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/
	01.cc: Likewise.
	* testsuite/27_io/fpos/mbstate_t/4_neg.cc: Likewise.
	* testsuite/27_io/fpos/mbstate_t/2.cc: Likewise.
	* testsuite/27_io/fpos/mbstate_t/3.cc: Likewise.
	* testsuite/27_io/fpos/mbstate_t/5.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/wchar_t/
	4.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/char/
	4.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sgetn/char/2-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/12790-4.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Likewise.
	* testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sungetc/char/1-io.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sungetc/char/2-io.cc: Likewise.
	* testsuite/25_algorithms/minmax/3.cc: Likewise.
	* testsuite/19_diagnostics/logic_error/what-3.cc: Likewise.
	* testsuite/19_diagnostics/runtime_error/what-3.cc: Likewise.
	* testsuite/19_diagnostics/system_error/what-3.cc: Likewise.
	* testsuite/24_iterators/front_insert_iterator/2.cc: Likewise.
	* testsuite/24_iterators/back_insert_iterator/2.cc: Likewise.
	* testsuite/24_iterators/insert_iterator/2.cc: Likewise.
	* testsuite/18_support/exception_ptr/make_exception_ptr.cc: Likewise.
	* testsuite/21_strings/c_strings/wchar_t/1.cc: Likewise.
	* testsuite/21_strings/c_strings/wchar_t/2.cc: Likewise.
	* testsuite/21_strings/c_strings/char/1.cc: Likewise.
	* testsuite/21_strings/c_strings/char/2.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	copy.cc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/
	cons/copy.cc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/
	requirements/constants.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/
	cons/copy.cc: Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/
	cons/copy.cc: Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/
	requirements/constants.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/
	cons/copy.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/
	requirements/constants.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/
	cons/copy.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/
	requirements/constants.cc: Likewise.
	* testsuite/26_numerics/complex/complex_value.cc: Likewise.
	* testsuite/26_numerics/headers/cmath/overloads.cc: Likewise.
	* testsuite/26_numerics/headers/cmath/
	c99_classification_macros_c++.cc: Likewise.
	* testsuite/26_numerics/slice_array/array_assignment.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.
	* testsuite/22_locale/money_put/put/wchar_t/12971.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/char/12971.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
	* testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/1.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/2.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/3.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/4.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/5.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/6.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/7.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/8.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
	* testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/num_put/put/char/1.cc: Likewise.
	* testsuite/22_locale/time_get/get_year/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_year/char/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_monthname/char/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_weekday/char/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_date/char/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/wchar_t/5.cc: Likewise.
	* testsuite/22_locale/time_get/get_time/char/5.cc: Likewise.
	* testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/num_get/get/char/1.cc: Likewise.
	* testsuite/22_locale/moneypunct/members/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/moneypunct/members/char/1.cc: Likewise.
	* testsuite/22_locale/ctype_base/mask.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/
	subtract_with_carry/requirements/constants.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/
	subtract_with_carry_01/requirements/constants.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/
	discard_block/requirements/constants.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/
	linear_congruential/requirements/constants.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/
	mersenne_twister/requirements/constants.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/
	xor_combine/requirements/constants.cc: Likewise.
	* testsuite/tr1/8_c_compatibility/cfenv/functions.cc: Likewise.
	* testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Likewise.
	* testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Likewise.
	* testsuite/tr1/8_c_compatibility/cstdio/functions.cc: Likewise.
	* testsuite/tr1/8_c_compatibility/cctype/functions.cc: Likewise.
	* testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Likewise.
	* testsuite/tr1/8_c_compatibility/cmath/templates.cc: Likewise.
	* testsuite/tr1/8_c_compatibility/cmath/functions.cc: Likewise.
	* testsuite/tr1/8_c_compatibility/cwctype/functions.cc: Likewise.
	* testsuite/tr1/6_containers/utility/pair.cc: Likewise.
	* testsuite/29_atomics/atomic_address/cons/aggregate.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/operators/
	increment_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/operators/
	bitwise_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/operators/
	decrement_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_flag/cons/1.cc: Likewise.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Likewise.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
	* testsuite/23_containers/priority_queue/members/7161.cc
	* testsuite/23_containers/set/dr130.cc: Likewise.
	* testsuite/23_containers/list/pthread5.cc: Likewise.
	* testsuite/23_containers/map/dr130.cc: Likewise.
	* testsuite/util/exception/safety.h: Likewise.
	* testsuite/util/testsuite_common_types.h: Likewise.
	* testsuite/20_util/clocks/1.cc: Likewise.

From-SVN: r160416
2010-06-08 00:45:02 +00:00
Jonathan Wakely
d156668fd7 pointer.h (_Pointer_adapter::operator++): Remove name of unused parameter.
2010-06-06  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/ext/pointer.h (_Pointer_adapter::operator++): Remove
	name of unused parameter.

From-SVN: r160351
2010-06-06 22:46:38 +01:00
Jonathan Wakely
3b1420846c shared_ptr_base.h (_Sp_counted_ptr::_M_dispose): Make nullptr_t specializations inline.
2010-06-05  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/shared_ptr_base.h (_Sp_counted_ptr::_M_dispose): Make
	nullptr_t specializations inline.

From-SVN: r160328
2010-06-05 19:35:53 +01:00
Jonathan Wakely
6d00745b6d [multiple changes]
2010-06-05  Magnus Fromreide  <magfr@lysator.liu.se>
            Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/functional (function): Add nullptr_t support.
	* include/bits/shared_ptr.h (shared_ptr): Likewise.
	* include/bits/unique_ptr.h (unique_ptr): Likewise.

2010-06-05  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/shared_ptr_base.h (__shared_ptr): Add nullptr_t support.
	(__shared_count): Add nullptr_t support and make constructors explicit.
	* testsuite/20_util/shared_ptr/cons/43820.cc: Adjust.
	* testsuite/20_util/shared_ptr/cons/nullptr.cc: New.
	* testsuite/20_util/unique_ptr/cons/nullptr.cc: New.
	* testsuite/20_util/unique_ptr/assign/nullptr.cc: New.
	* testsuite/20_util/unique_ptr/assign/assign_neg.cc: Adjust.
	* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust.

From-SVN: r160324
2010-06-05 18:43:29 +01:00
Paolo Carlini
8fc810787b c++config (std::size_t, [...]): Provide typedefs.
2010-06-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/c++config (std::size_t, std::ptrdiff_t,
        std::nullptr_t): Provide typedefs.
	* include/c_std/cstddef: Don't provide std::size_t and
	std::ptrdiff_t here.
	* include/c_global/cstddef: Likewise.
	* src/condition_variable.cc: Don't include <cstddef>,
	don't use NULL, use std::size_t and std::ptrdiff_t.
	* src/mt_allocator.cc: Likewise.
	* src/localename.cc: Likewise.
	* src/chrono.cc: Likewise.
	* src/thread.cc: Likewise.
	* include/debug/formatter.h: Likewise.
	* include/debug/functions.h: Likewise.
	* include/std/valarray: Likewise.
	* include/std/thread: Likewise.
	* include/std/type_traits: Likewise.
	* include/std/atomic: Likewise.
	* include/std/iterator: Likewise.
	* include/std/bitset: Likewise.
	* include/std/fstream: Likewise.
	* include/std/mutex: Likewise.
	* include/c_std/cstdlib: Likewise.
	* include/c_std/cstdio: Likewise.
	* include/c_std/ctime: Likewise.
	* include/c_std/cwchar: Likewise.
	* include/c_std/cstring: Likewise.
	* include/parallel/multiway_merge.h: Likewise.
	* include/parallel/multiseq_selection.h: Likewise.
	* include/parallel/base.h: Likewise.
	* include/parallel/basic_iterator.h: Likewise.
	* include/parallel/multiway_mergesort.h
	* include/parallel/partition.h: Likewise.
	* include/ext/string_conversions.h: Likewise.
	* include/ext/pb_ds/assoc_container.hpp: Likewise.
	* include/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp:
	Likewise.
	* include/ext/pb_ds/detail/resize_policy/
	hash_prime_size_policy_imp.hpp: Likewise.
	* include/ext/pb_ds/detail/resize_policy/
	sample_resize_policy.hpp: Likewise.
	* include/ext/pb_ds/detail/resize_policy/
	sample_resize_trigger.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/binomial_heap_base_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	erase_store_hash_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/d: Likewise.etail/cc_hash_table_map_/
	insert_no_store_hash_fn_imps.hpp
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	cmp_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	insert_store_hash_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	info_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	entry_list_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	trace_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	cc_ht_map_.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	resize_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	constructor_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/
	erase_no_store_hash_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/unordered_iterator/
	iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/unordered_iterator/
	const_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/unordered_iterator/
	point_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/unordered_iterator/
	const_point_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/child_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/
	insert_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/
	const_child_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/node_iterators.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/internal_node.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/point_iterators.hpp: Likewise.
	* include/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	r_erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	rotate_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	node_iterators.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	point_iterators.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/
	iterators_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	gp_ht_map_.hpp: Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	resize_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/
	standard_policies.hpp: Likewise.
	* include/ext/pb_ds/detail/tree_policy/
	sample_tree_node_update.hpp: Likewise.
	* include/ext/pb_ds/detail/basic_tree_policy/
	null_node_metadata.hpp: Likewise.
	* include/ext/pb_ds/detail/binary_heap_/const_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/binary_heap_/
	const_point_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/binary_heap_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/trie_policy/
	sample_trie_node_update.hpp: Likewise.
	* include/ext/pb_ds/detail/trie_policy/
	sample_trie_e_access_traits.hpp: Likewise.
	* include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/pairing_heap_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_policy/
	counter_lu_metadata.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	trace_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	null_metadata.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	const_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	iterators_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	const_point_iterator.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/thin_heap_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/
	constructors_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp: Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/
	iterators_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp: Likewise.
	* include/ext/pb_ds/detail/hash_fn/
	sample_ranged_probe_fn.hpp: Likewise.
	* include/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp: Likewise.
	* include/ext/pb_ds/detail/hash_fn/
	sample_ranged_hash_fn.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/splay_tree_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	trace_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	find_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	constructor_destructor_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	info_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/list_update_map_/
	iterators_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rc_binomial_heap_/
	erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rc_binomial_heap_/
	insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rc_binomial_heap_/
	debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rb_tree_map_/
	split_join_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp: Likewise.
	* include/ext/pb_ds/list_update_policy.hpp: Likewise.
	* include/ext/pb_ds/exception.hpp: Likewise.
	* include/ext/pb_ds/tree_policy.hpp: Likewise.
	* include/ext/pb_ds/tag_and_trait.hpp: Likewise.
	* include/ext/pb_ds/hash_policy.hpp: Likewise.
	* include/ext/pb_ds/trie_policy.hpp: Likewise.
	* include/ext/pb_ds/priority_queue.hpp: Likewise.
	* include/ext/throw_allocator.h: Likewis: Likewise.e.
	* include/ext/bitmap_allocator.h
	* include/ext/rc_string_base.h: Likewise.
	* include/ext/new_allocator.h: Likewise.
	* include/ext/codecvt_specializations.h: Likewise.
	* include/ext/functional: Likewise.: Likewise.
	* include/ext/array_allocator.h: Likewise.
	* include/ext/mt_allocator.h: Likewise.
	* include/ext/sso_string_base.h: Likewise.
	* include/profile/impl/profiler_trace.h: Likewise.
	* include/profile/impl/profiler_node.h: Likewise.
	* include/bits/stl_algobase.h: Likewise.
	* include/bits/functional_hash.h: Likewise.
	* include/bits/locale_facets.tcc: Likewise.
	* include/bits/locale_facets.h: Likewise.
	* include/bits/stl_iterator_base_types.h: Likewise.
	* include/bits/move.h: Likewise.
	* include/bits/boost_concept_check.h: Likewise.
	* include/bits/basic_string.tcc: Likewise.
	* include/bits/locale_facets_nonio.tcc: Likewise.
	* include/bits/fstream.tcc: Likewise.
	* include/bits/locale_facets_nonio.h: Likewise.
	* include/c_global/cstdlib: Likewise.
	* include/c_global/cstdio: Likewise.
	* include/c_global/ctime: Likewise.
	* include/c_global/cwchar: Likewise.
	* include/c_global/cstring
	* include/tr1/type_traits: Likewise.
	* include/backward/hash_fun.h: Likewise.
	* libsupc++/new: Likewise.
	* libsupc++/initializer_list: Likewise.
	* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
	* testsuite/27_io/basic_iostream/cons/2020.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sgetn/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sgetn/char/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/overflow/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/overflow/char/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sgetc/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sgetc/char/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputn/wchar_t/1057.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputn/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputn/char/1057.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputn/char/1.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputc/wchar_t/1057.cc: Likewise.
	* testsuite/27_io/basic_streambuf/sputc/char/1057.cc: Likewise.
	* testsuite/27_io/objects/wchar_t/5268.cc: Likewise.
	* testsuite/27_io/objects/char/9661-1.cc: Likewise.
	* testsuite/27_io/objects/char/5268.cc: Likewise.
	* testsuite/27_io/objects/char/10.cc: Likewise.
	* testsuite/27_io/basic_ios/copyfmt/char/1.cc: Likewise.
	* testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
	* testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
	* testsuite/27_io/basic_ios/locales/char/1.cc: Likewise.
	* testsuite/27_io/basic_ios/clear/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sputc/wchar_t/1057.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sputc/char/1057.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sputn/wchar_t/1057.cc: Likewise.
	* testsuite/27_io/basic_stringbuf/sputn/char/1057.cc: Likewise.
	* testsuite/27_io/basic_istream/get/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/get/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/ignore/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/peek/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/peek/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/getline/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/getline/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
	exceptions_null.cc
	* testsuite/27_io/basic_istream/extractors_other/wchar_t/
	1.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_other/char/
	exceptions_null.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_other/char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/cons/3.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/
	wchar_t/01.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/
	char/01.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	wchar_t/2.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	wchar_t/3.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	char/1.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	char/2.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	char/3.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_character/
	char/9826.cc: Likewise.
	* testsuite/27_io/basic_istream/read/wchar_t/1.cc: Likewise.
	* testsuite/27_io/basic_istream/read/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
	exceptions_null.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/wchar_t/
	1.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/
	exceptions_null.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_other/char/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/cons/2020.cc: Likewise.
	* testsuite/27_io/basic_ostream/sentry/pod/1.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/
	wchar_t/8.cc: Likewise.
	* testsuite/27_io/basic_ostream/inserters_character/
	char/8.cc: Likewise.
	* testsuite/27_io/basic_filebuf/setbuf/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputc/char/1057.cc: Likewise.
	* testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/open/char/9507.cc: Likewise.
	* testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-3.cc: Likewise.
	* testsuite/27_io/basic_filebuf/overflow/wchar_t/11305-4.cc: Likewise.
	* testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc: Likewise.
	* testsuite/27_io/basic_filebuf/close/char/9964.cc: Likewise.
	* testsuite/27_io/basic_filebuf/close/char/1.cc: Likewise.
	* testsuite/27_io/basic_filebuf/close/char/2.cc: Likewise.
	* testsuite/27_io/basic_filebuf/close/char/12790-3.cc: Likewise.
	* testsuite/27_io/basic_filebuf/sputn/char/1057.cc: Likewise.
	* testsuite/24_iterators/ostreambuf_iterator/2.cc: Likewise.
	* testsuite/18_support/bad_exception/23591_thread-1.c
	* testsuite/18_support/new_delete_placement.cc: Likewise.
	* testsuite/18_support/pthread_guard.cc: Likewise.
	* testsuite/21_strings/basic_string/operations/wchar_t/1.cc: Likewise.
	* testsuite/21_strings/basic_string/operations/char/1.cc: Likewise.
	* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
	* testsuite/21_strings/basic_string/cons/wchar_t/5.cc: Likewise.
	* testsuite/21_strings/basic_string/cons/char/5.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/mutex/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/thread/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/thread/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/
	assign_neg.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/
	copy_neg.cc: Likewise.
	* testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
	* testsuite/ext/slist/23781.cc: Likewise.
	* testsuite/ext/rope/pthread7-rope.cc: Likewise.
	* testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
	* testsuite/22_locale/ctype/is/wchar_t/1.cc: Likewise.
	* testsuite/22_locale/ctype/is/char/1.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/12439_1.cc: Likewise.
	* testsuite/22_locale/time_put/put/char/12439_3.cc: Likewise.
	* testsuite/22_locale/locale/cons/2.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
	* testsuite/22_locale/locale/cons/29217.cc: Likewise.
	* testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
	* testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multimap/
	requirements/iterator_null_neg.cc: Likewise.
	* testsuite/tr1/6_containers/unordered_multiset/
	requirements/iterator_null_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_address/cons/single_value.cc: Likewise.
	* testsuite/29_atomics/atomic_address/cons/aggregate.cc: Likewise.
	* testsuite/23_containers/multimap/23781.cc: Likewise.
	* testsuite/23_containers/set/23781.cc: Likewise.
	* testsuite/23_containers/multiset/23781.cc: Likewise.
	* testsuite/23_containers/list/pthread1.cc: Likewise.
	* testsuite/23_containers/list/23781.cc: Likewise.
	* testsuite/23_containers/map/pthread6.cc: Likewise.
	* testsuite/23_containers/map/23781.cc: Likewise.
	* testsuite/util/regression/rand/priority_queue/
	rand_regression_test.hpp: Likewise.
	* testsuite/util/regression/rand/priority_queue/
	container_rand_regression_test.tcc: Likewise.
	* testsuite/util/regression/rand/assoc/
	rand_regression_test.hpp: Likewise.
	* testsuite/util/regression/rand/assoc/
	container_rand_regression_test.tcc: Likewise.
	* testsuite/util/testsuite_hooks.cc: Likewise.
	* testsuite/util/testsuite_io.h: Likewise.
	* testsuite/util/testsuite_iterators.h: Likewise.
	* testsuite/util/replacement_memory_operators.h: Likewise.
	* testsuite/util/testsuite_allocator.h: Likewise.
	* testsuite/util/testsuite_performance.h: Likewise.

From-SVN: r160231
2010-06-03 19:15:56 +00:00
Jonathan Wakely
4585cf7236 re PR libstdc++/43820 (auto_ptr used with incomplete type no longer triggers warning)
2010-05-31  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/43820
	* include/bits/shared_ptr_base.h: Require complete type.
	* include/tr1/shared_ptr.h: Likewise.
	* testsuite/20_util/shared_ptr/cons/43820.cc: New.
	* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820.cc: New.

From-SVN: r160082
2010-05-31 18:41:33 +00:00
Paolo Carlini
1e2c0906ee basic_string.h (front, back): Add.
2010-05-31  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (front, back): Add.
	* include/debug/string: Adjust.
	* include/ext/vstring.h (front, back): Tweak the implementation
	to follow more closely the letter of the specs.
	* testsuite/21_strings/basic_string/element_access/char/
	front_back.cc: New.
	* testsuite/21_strings/basic_string/element_access/wchar_t/
	front_back.cc: Likewise.
	* config/abi/pre/gnu.ver: Export new symbols.
	* testsuite/util/testsuite_abi.cc: Adjust.
	* configure.ac: Bump minor version to 6:15:0.
	* configure: Regenerate.

From-SVN: r160071
2010-05-31 14:14:42 +00:00
Paolo Carlini
2fb16a392a stl_vector.h (vector<>::data): Fix return type in c++0x mode.
2010-05-28  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_vector.h (vector<>::data): Fix return type
	in c++0x mode.
	* testsuite/23_containers/vector/requirements/dr438/
	assign_neg.cc: Adjust dg-error line number.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r159998
2010-05-28 21:47:07 +00:00
Jason Merrill
fb9c3174c9 revert: re PR libstdc++/42832 (Revisit std::function for aliasing issues and efficiency)
Revert:
	PR libstdc++/42832
	* include/std/functional (function<>::swap): Perform bytewise
	swap of _M_functor.
	* include/tr1/functional (function<>::swap): Likewise.

From-SVN: r159940
2010-05-27 14:39:46 -04:00
Paolo Carlini
7ec62b2575 re PR libstdc++/40497 ([C++0x] troubles with std::next / std::prev declarations)
2010-05-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40497
	* include/bits/cpp_type_traits.h (__is_iterator): Add.
	* include/bits/stl_iterator_base_funcs.h (next, prev): Use it.
	* testsuite/24_iterators/operations/40497.cc: New.

From-SVN: r159933
2010-05-27 17:37:11 +00:00
Paolo Carlini
759149fbf3 re PR libstdc++/25306 (fill_n, generate_n assume Size is modifiable)
2010-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/25306
	* include/bits/stl_algobase.h (fill_n): Use a properly typed __niter
	initialized to __n.
	* include/bits/stl_algo.h (generate_n): Likewise.
	* testsuite/25_algorithms/fill_n/25306.cc: New.
	* testsuite/25_algorithms/generate_n/25306.cc: Likewise.

From-SVN: r159677
2010-05-21 16:57:17 +00:00
Paolo Carlini
f271b5369a functional: Use std::__addressof.
2010-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1/functional: Use std::__addressof.
	* include/tr1/hashtable_policy.h: Likewise.

From-SVN: r159661
2010-05-21 12:59:30 +00:00
Paolo Carlini
882b3d5c2e [multiple changes]
2010-05-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/41792
	* include/tr1_impl/array: Use std::__addressof.
	* include/std/functional (reference_wrapper): Likewise.
	* include/ext/throw_allocator.h: Likewise.
	* include/ext/pool_allocator.h: Likewise.
	* include/ext/bitmap_allocator.h: Likewise.
	* include/ext/new_allocator.h: Likewise.
	* include/ext/malloc_allocator.h: Likewise.
	* include/ext/array_allocator.h: Likewise.
	* include/ext/mt_allocator.h: Likewise.
	* include/ext/extptr_allocator.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/hashtable_policy.h: Likewise.
	* include/bits/forward_list.h: Likewise.
	* include/bits/stl_uninitialized.h: Likewise.
	* include/bits/list.tcc: Likewise.
	* include/bits/stl_construct.h: Likewise.
	* include/bits/stl_tree.h: Likewise.
	* testsuite/20_util/reference_wrapper/41792.cc: New.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/multimap/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/set/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/vector/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/deque/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/multiset/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/list/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/map/requirements/
	explicit_instantiation/4.cc: Likewise.
	* testsuite/23_containers/array/requirements/
	explicit_instantiation/3.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/
	dr438/assign_neg.cc: Adjust dg-error line numbers.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

2010-05-20  Peter Dimov  <pdimov@pdimov.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/move.h (__addressof, addressof): Add.
	* testsuite/util/testsuite_api.h (struct OverloadedAddress): Add.
	* testsuite/20_util/addressof/requirements/
	explicit_instantiation.cc: New.
	* testsuite/20_util/addressof/1.cc: Likewise.

From-SVN: r159643
2010-05-20 22:35:49 +00:00
Paolo Carlini
ab6bfd90cb stl_pair.h (pair<>::pair(const pair&)): Defaulted in C++0x mode.
2010-05-20  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_pair.h (pair<>::pair(const pair&)): Defaulted
	in C++0x mode.
	(pair<>::operator=(const pair<>&)): Add in C++0x mode.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
	line number.

From-SVN: r159628
2010-05-20 14:08:53 +00:00
Eelis van der Weegen
ddc962a4c1 re PR libstdc++/44190 (Debug vector resize does not update capacity)
2010-05-18  Eelis van der Weegen  <gcc-bugzilla@contacts.eelis.net>

	PR libstdc++/44190
	* include/debug/vector (vector<>::resize): Call
	_M_update_guaranteed_capacity.
	* testsuite/23_containers/vector/capacity/44190.cc: New.

From-SVN: r159549
2010-05-18 23:58:50 +00:00
Paolo Carlini
1041dabaa2 functional (result_of): Move...
2010-05-17  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/functional (result_of): Move...
	* include/std/type_traits: ... here.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
	line number.

From-SVN: r159478
2010-05-17 10:19:31 +00:00
Silvius Rus
1f0622b42d re PR libstdc++/43259 (ext/profile/all.cc fails on Solaris)
2010-05-11  Silvius Rus  <silvius.rus@gmail.com>

	PR libstdc++/43259
	* include/profile/impl/profiler_algos.h: New.
	* include/Makefile.am: Add.
	* include/Makefile.in: Regenerate.
	* include/profile/impl/profiler.h
	(_GLIBCXX_PROFILE_DEFINE_UNINIT_DATA): Add.
	* include/profile/impl/profiler_trace.h
	(__mutex_t, __lock, __unlock): Remove.
	(__lock_object_table, __lock_stack_table): Remove. Replace uses with
	calls to __gnu_cxx::__mutex::lock.
	(__unlock_object_table, __unlock_stack_table): Remove. Replace uses
	with calls to __gnu_cxx::__mutex::unlock.
	(__warn, __cost_factor_writer, __cost_factor_setter): Add.
	* testsuite/ext/profile/profiler_algos.cc: New.

From-SVN: r159268
2010-05-11 10:22:18 +00:00
Jonathan Wakely
0d1141a39e basic_string.h: Escape class names in doxygen docs.
2010-05-06  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/basic_string.h: Escape class names in doxygen docs.

From-SVN: r159129
2010-05-06 21:18:13 +01:00
Jonathan Wakely
abe478196f re PR libstdc++/44014 (no std::string in API documentation)
2010-05-06  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/44014
	* include/bits/stringfwd.h: Add doxygen comments and new group.
	* include/bits/basic_string.h: Add to new doxygen group.
	* doc/doxygen/user.cfg.in (ALIASES): Link to correct group.

From-SVN: r159126
2010-05-06 20:57:58 +01:00
Paolo Carlini
f099926730 29134.cc: Adjust for profile-mode too.
2010-05-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/vector/bool/capacity/29134.cc: Adjust
	for profile-mode too.
	* testsuite/23_containers/vector/bool/modifiers/insert/31370.cc:
	Likewise.

2010-05-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/unordered_map (unordered_map<>::insert(_InputIter,
	_InputIter), unordered_multimap<>::insert(_InputIter, _InputIter)):
	Fix typo, don't call base() on __first and __last.

2010-05-05  Paolo Carlini  <paolo.carlini@oracle.com>

	Fix profile-mode vs -std=c++0x
	* include/profile/impl/profiler_trace.h: Do not include the
	whole <algorithm>, include <bits/stl_heap.h> (additionally
	to <bits/stl_algobase.h>).
	(__write_cost_factors): Replace std::for_each with open-coding.
	(__set_cost_factors): Likewise.
	(__report): Likewise; use std::make_heap / std::sort_heap
	instead of std::sort.
	(__report_cost_factors): Replace std::remove with open-coding.
	(__warn, __cost_factor_writer, __cost_factor_setter): Remove.

From-SVN: r159082
2010-05-05 19:53:11 +00:00
Ralf Wildenhues
13917ae3b9 no-dist in non-imported automake dirs.
libgfortran/:
	PR other/43620
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

libgomp/:
	PR other/43620
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libjava/:
	PR other/43620
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* Makefile.in: Regenerate.
	* gcj/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libjava/libltdl/:
	PR other/43620
	* Makefile.am (AUTOMAKE_OPTIONS): Add no-dist.
	* Makefile.in: Regenerate.

libmudflap/:
	PR other/43620
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libssp/:
	PR other/43620
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* Makefile.in: Regenerate.

libstdc++-v3/:
	PR other/43620
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* doc/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* python/Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

lto-plugin/:
	PR other/43620
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* Makefile.in: Regenerate.

From-SVN: r159041
2010-05-04 18:58:11 +00:00
Paolo Carlini
5e108459ec stl_pair.h (piecewise_construct_t, [...]): Add.
2010-04-30  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_pair.h (piecewise_construct_t,
	pair<>::pair(piecewise_construct_t, tuple, tuple)): Add.
	(pair<>::__cons, pair<>::__do_cons): Declare.
	(__decay_and_strip, __strip_reference_wrapper): Move...
	* include/std/type_traits: ... here.
	* include/std/functional (_Index_tuple, _Build_index_tuple): Move...
	* include/std/tuple: ... here.
	(pack_arguments): Add.
	(pair<>::__cons, pair<>::__do_cons): Define.
	* testsuite/20_util/tuple/creation_functions/pack_arguments.cc: New.
	* testsuite/20_util/pair/piecewise.cc: Likewise.
	* testsuite/20_util/tuple/cons/big_tuples.cc: Include <utility>.
	* testsuite/20_util/tuple/cons/constructor.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r158928
2010-04-30 09:52:41 +00:00
Jonathan Wakely
928fe27c82 re PR libstdc++/43865 (C++ in freestanding environment)
2010-04-27  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/43865
	* include/c_global/cstdlib (abort, exit): _GLIBCXX_NORETURN typo.

From-SVN: r158812
2010-04-27 23:54:13 +01:00
Jonathan Wakely
7b65808d33 unique_ptr (unique_ptr::pointer): Use deleter's pointer type if it exists.
2010-04-24  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/unique_ptr (unique_ptr::pointer): Use deleter's
	pointer type if it exists.
	* testsuite/20_util/unique_ptr/requirements/pointer_type.cc: New.
	* testsuite/20_util/unique_ptr/assign/assign_neg.cc: Adjust.
	* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust.

From-SVN: r158682
2010-04-24 10:21:23 +01:00
Johannes Singler
ed27799786 partition.h (__parallel_partition): Improve scalability by...
2010-04-22  Johannes Singler  <singler@kit.edu>

        * include/parallel/partition.h (__parallel_partition):
        Improve scalability by:
        -introducing new variables __leftold, __rightold, __dist, thus
        -getting rid of omp lock by using atomic operations
        -getting rid of two omp barriers

From-SVN: r158636
2010-04-22 10:14:07 +00:00
Ian Lance Taylor
896e7917c0 hash_map: Don't #include "backward_warning.h" if _GLIBCXX_PERMIT_BACKWARD_HASH is defined.
* include/backward/hash_map: Don't #include "backward_warning.h"
	if _GLIBCXX_PERMIT_BACKWARD_HASH is defined.
	* include/backward/hash_set: Likewise.

From-SVN: r158281
2010-04-13 20:24:40 +00:00