Commit Graph

3499 Commits

Author SHA1 Message Date
Jonathan Wakely c764e1bde2 * include/c_global/climits, include/tr1/climits: Add parentheses.
From-SVN: r137002
2008-06-21 17:04:40 +01:00
Chris Fairles 65b0413a19 stl_iterator_base_funcs.h (next, prev): Add in C++0x mode.
2008-06-17  Chris Fairles  <chris.fairles@gmail.com>

	* include/bits/stl_iterator_base_funcs.h (next, prev): Add in
	C++0x mode.
	* testsuite/24_iterators/operations/next.cc: New.
	* testsuite/24_iterators/operations/prev.cc: Likewise.

From-SVN: r136873
2008-06-17 21:33:15 +00:00
Paolo Carlini 7364f2868c basic_string.h (stod, [...]): Declare in C++0x mode.
2008-06-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (stod, stof, stoi, stol, stold, stoll,
	stoul, stoull, to_string, to_wstring): Declare in C++0x mode.
	* src/string_conversions.cc: Add.
	* src/Makefile.am: Update.
	* config/abi/pre/gnu.ver: Adjust exports.
	* src/Makefile.in: Regenerate.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
	New.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/stoull.cc:
	Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/char/
	to_string.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stod.cc: New.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stof.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stoi.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stol.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stold.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stoll.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stoul.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	stoull.cc: Likewise.
	* testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
	to_wstring.cc: Likewise.

From-SVN: r136841
2008-06-16 09:58:54 +00:00
Ralf Wildenhues 147fc44bcd Makefile.am: Remove trailing white space, fix typo.
libstdc++-v3/

	* include/Makefile.am: Remove trailing white space, fix typo.
	(parallel_headers): Remove duplicate file, sort entries.
	* include/Makefile.in: Regenerate.

From-SVN: r136810
2008-06-15 12:24:36 +00:00
Paolo Carlini 4dc3e453c8 stl_deque.h (deque<>::push_back(_Args&&...), [...]): Remove.
2008-06-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_deque.h (deque<>::push_back(_Args&&...),
	deque<>::push_front(_Args&&...)): Remove.
	(deque<>::push_back(value_type&&),
	deque<>::push_front(value_type&&)): Add.
	(deque<>::push_back(const value_type&),
	deque<>::push_front(const value_type&)): Add back.
	(deque<>::emplace_back(_Args&&...),
	deque<>::emplace_front(_Args&&...)): Declare...
	* include/bits/deque.tcc: ... and define.	
	* include/bits/stl_list.h (list<>::push_back(_Args&&...),
	list<>::push_front(_Args&&...)): Remove.
	(list<>::push_back(value_type&&), list<>::push_front(value_type&&),
	list<>::emplace_back(_Args&&...), list<>::emplace_front(_Args&&...)):
	Add.
	(list<>::push_back(const value_type&),
	list<>::push_front(const value_type&)): Add back.
	* include/bits/stl_vector.h (vector<>::push_back(_Args&&...)): Remove.
	(vector<>::push_back(value_type&&)): Add.
	(vector<>::push_back(const value_type&)): Add back.
	(vector<>::emplace_back(_Args&&...)): Declare...
	* include/bits/vector.tcc: ... and define.
	* include/bits/stl_queue.h (queue<>::push(_Args&&...),
	priority_queue<>::push(_Args&&...)): Remove.
	(queue<>::push(value_type&&), queue<>::emplace(_Args&&...),
	priority_queue<>::push(value_type&&),
	priority_queue<>::emplace(_Args&&...)): Add.
	(queue<>::push(const value_type&),
	priority_queue<>::push(const value_type&)): Add back.
	* include/bits/stl_stack.h (stack<>::push(_Args&&...)): Remove.
	(stack<>::push(value_type&&), stack<>::emplace(_Args&&...)): Add.
	(stack<>::push(const value_type&)): Add back.
	* include/debug/deque (deque<>::push_back(_Args&&...),
	deque<>::push_front(_Args&&...)): Remove.
	(deque<>::push_back(value_type&&), deque<>::push_front(value_type&&),
	deque<>::emplace_back(_Args&&...), deque<>::emplace_front(_Args&&...)):
	Add.
	(deque<>::push_back(const value_type&),
	deque<>::push_front(const value_type&)): Add back.
	* include/debug/list (list<>::push_back(_Args&&...),
	list<>::push_front(_Args&&...)): Remove.
	(list<>::push_back(value_type&&), list<>::push_front(value_type&&),
	list<>::emplace_back(_Args&&...), list<>::emplace_front(_Args&&...)):
	Add.
	(list<>::push_back(const value_type&),
	list<>::push_front(const value_type&)): Add back.
	* include/debug/vector (vector<>::push_back(_Args&&...)): Remove.
	(vector<>::push_back(value_type&&),
	vector<>::emplace_back(_Args&&...)): Add.
	(vector<>::push_back(const value_type&)): Add back.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
	Adjust dg-error line numbers.
	* 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:
	Adjust dg-error line numbers.
	* 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.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Adjust dg-error line numbers.
	* 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: r136750
2008-06-13 12:03:13 +00:00
Paolo Carlini 6a4533e554 array (array<>::assign): Do not define in C++0x mode, per DR 776...
2008-06-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/array (array<>::assign): Do not define in
	C++0x mode, per DR 776...
	(array<>::fill): ... define instead.
	* doc/xml/manual/intro.xml: Add an entry for DR 776.
	* testsuite/23_containers/array/requirements/fill.cc: New.

From-SVN: r136741
2008-06-13 07:35:22 +00:00
Paolo Carlini 3fd29fa912 complex (pow(const complex<>&, int)): Do not define in C++0x mode, per DR 844.
2008-06-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/complex (pow(const complex<>&, int)): Do not define in
	C++0x mode, per DR 844.
	* include/tr1/complex (pow(const complex<>&, int)): Remove.
	* doc/xml/manual/intro.xml: Add an entry for DR 844.
	* testsuite/26_numerics/complex/dr844.cc: New.
	* testsuite/tr1/8_c_compatibility/complex/overloads_int.cc: Adjust.

From-SVN: r136694
2008-06-12 10:17:53 +00:00
Paolo Carlini 64bd554cdc hashtable (_Hashtable<>::cbegin(size_type), [...]): Add per DR 691.
2008-06-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/hashtable (_Hashtable<>::cbegin(size_type),
	cend(size_type)): Add per DR 691. 
	* testsuite/23_containers/unordered_map/requirements/cliterators.cc:
	New.
	* testsuite/23_containers/unordered_multimap/requirements/
	cliterators.cc: Likewise.
	* testsuite/23_containers/unordered_set/requirements/cliterators.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/requirements/
	cliterators.cc: Likewise.
	* doc/xml/manual/intro.xml: Add an entry for DR 691.

From-SVN: r136685
2008-06-11 22:56:51 +00:00
Benjamin Kosnik 2e3f9c21d5 using.xml: Outline exception topics.
2008-06-06  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/manual/using.xml: Outline exception topics.

	* include/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp: Format.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	policy_access_fn_imps.hpp: Same.
	* include/ext/pb_ds/priority_queue.hpp: Same.
	* include/ext/throw_allocator.h: Same.

	* include/ext/pb_ds/tag_and_trait.hpp (string_tag): New tag.
	(sequence_tag): New tag. Doxygen markup fixes.

	* testsuite/lib/libstdc++.exp: Remove twister_ran_gen.cc source file.

	* testsuite/performance/ext/pb_ds/text_find_timing.cc: Fix
	comment typo, include paths, format.
	* testsuite/performance/ext/pb_ds/tree_text_insert_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/
	hash_random_int_erase_mem_usage.cc: Same.
	* testsuite/performance/ext/pb_ds/
	random_int_subscript_find_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/
	priority_queue_text_push_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/tree_split_join_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/random_int_find_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/multimap_text_insert_mem_usage.hpp
	* testsuite/performance/ext/pb_ds/multimap_text_find_timing.hpp
	* testsuite/performance/ext/pb_ds/
	priority_queue_random_int_push_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/priority_queue_text_modify_timing.hpp
	* testsuite/performance/ext/pb_ds/tree_order_statistics_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/
	priority_queue_text_push_pop_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/
	priority_queue_text_join_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/
	priority_queue_random_int_push_pop_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/
	random_int_subscript_insert_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/tree_text_lor_find_timing.cc: Same.
	* testsuite/performance/ext/pb_ds/multimap_text_insert_timing.hpp
	* testsuite/performance/ext/pb_ds/
	priority_queue_text_pop_mem_usage.cc: Same.
	* testsuite/performance/ext/pb_ds/
	hash_zlob_random_int_find_timing.cc: Same.
	* testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Same.
	* testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Same.
	* testsuite/util/regression/trait/priority_queue/trait.hpp: Same.
	* testsuite/util/regression/trait/erase_if_fn.hpp: Same.
	* testsuite/util/regression/trait/assoc/native_type_trait.hpp: Same.
	* testsuite/util/regression/trait/assoc/node_update_trait.hpp: Same.
	* testsuite/util/regression/trait/assoc/get_set_load_trait.hpp: Same.
	* testsuite/util/regression/trait/assoc/get_set_loads_trait.hpp: Same.
	* testsuite/util/regression/trait/assoc/trait.hpp: Same.
	* testsuite/util/regression/trait/assoc/resize_trait.hpp: Same.
	* testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
	* testsuite/util/regression/trait/assoc/to_string.hpp: Same.
	* testsuite/util/regression/basic_type.hpp: Same.
	* testsuite/util/common_type/priority_queue/string_form.hpp: Same.
	* testsuite/util/common_type/priority_queue/detail/
	ds_string_form.hpp: Same.
	* testsuite/util/common_type/assoc/string_form.hpp: Same.
	* testsuite/util/common_type/assoc/detail/
	resize_policy_string_form.hpp: Same.
	* testsuite/util/common_type/assoc/detail/
	trigger_policy_string_form.hpp: Same.
	* testsuite/util/common_type/assoc/detail/
	comb_hash_fn_string_form.hpp: Same.
	* testsuite/util/common_type/assoc/detail/ds_string_form.hpp: Same.
	* testsuite/util/common_type/assoc/detail/
	size_policy_string_form.hpp: Same.
	* testsuite/util/common_type/assoc/detail/
	probe_fn_string_form.hpp: Same.
	* testsuite/util/common_type/assoc/detail/
	list_update_policy_string_form.hpp: Same.
	* testsuite/util/common_type/assoc/detail/
	store_hash_string_form.hpp: Same.
	* testsuite/util/common_type/assoc/native_set.hpp: Same.
	* testsuite/util/io/prog_bar.cc: Same.

	* testsuite/util/regression/rand/io: Remove.
	* testsuite/util/regression/rand/io/priority_queue: Same.
	* testsuite/util/regression/rand/io/assoc: Same.
	* testsuite/util/regression/rand/io/priority_queue/
	xml_formatter.hpp: Consolidate this...
	* testsuite/util/regression/rand/io/assoc/xml_formatter.hpp: ...this
	* testsuite/util/regression/rand/io/xml_formatter.hpp: ... and this
	* testsuite/util/regression/rand/xml_formatter.hpp: ...here.

	* testsuite/util/regression/rand/priority_queue/
	container_rand_regression_test.hpp:To ...
	container_rand_regression_test.h: ... this.
	* testsuite/util/regression/rand/priority_queue/detail/*.hpp:To ...
	* testsuite/util/regression/rand/priority_queue/
	container_rand_regression_test.tcc: ... this.
	PB_DS_THROW_IF_FAIL: Change to _GLIBCXX_THROW_IF, adjust predicate.
	PB_DS_SET_DESTRUCT_PRINT: Fold inline.
	PB_DS_CANCEL_DESTRUCT_PRINT: Fold inline.
	* testsuite/util/regression/rand/priority_queue/
	rand_regression_test.hpp: Adjust includes.

	* testsuite/util/regression/rand/assoc/
	container_rand_regression_test.hpp: To ...
	* testsuite/util/regression/rand/assoc/
	container_rand_regression_test.h: ... this.
	* testsuite/util/regression/rand/assoc/detail/*.hpp:To ...
	* testsuite/util/regression/rand/assoc/
	container_rand_regression_test.tcc: ...this.
	* testsuite/util/regression/rand/assoc/rand_regression_test.hpp: Adjust
	includes.

	* testsuite/util/regression/priority_queue: Remove.
	* testsuite/util/regression/assoc: Remove.
	* testsuite/util/regression/priority_queue/
	common_type.hpp: Consolidate this...
	* testsuite/util/regression/assoc/common_type.hpp: ... and this
	* testsuite/util/regression/common_type.hpp: ...here.

	* testsuite/util/rng: Remove.
	* testsuite/util/rng/twister_rand_gen.cc: Consolidate...
	* testsuite/util/rng/twister_rand_gen.hpp: ... and this
	* testsuite/util/testsuite_rng.h: ...here.

	* testsuite/util/native_type/priority_queue: Remove.
	* testsuite/util/native_type/priority_queue/
	native_priority_queue.hpp: To...
	* testsuite/util/native_type/native_priority_queue.hpp: ...here.

	* testsuite/util/native_type/assoc: Remove.
	* testsuite/util/native_type/assoc/native_multimap.hpp: To...
	* testsuite/util/native_type/assoc/native_tree_tag.hpp: To...
	* testsuite/util/native_type/assoc/native_hash_multimap.hpp: To...
	* testsuite/util/native_type/assoc/native_set.hpp: To...
	* testsuite/util/native_type/assoc/native_map.hpp: To...
	* testsuite/util/native_type/assoc/native_hash_set.hpp: To...
	* testsuite/util/native_type/assoc/native_hash_tag.hpp: To...
	* testsuite/util/native_type/assoc/native_hash_map.hpp: To...
	* testsuite/util/native_type/native_multimap.hpp: ...here.
	* testsuite/util/native_type/native_tree_tag.hpp: ...here.
	* testsuite/util/native_type/native_hash_multimap.hpp: ...here.
	* testsuite/util/native_type/native_set.hpp: ...here.
	* testsuite/util/native_type/native_map.hpp: ...here.
	* testsuite/util/native_type/native_hash_set.hpp: ...here.
	* testsuite/util/native_type/native_hash_tag.hpp: ...here.
	* testsuite/util/native_type/native_hash_map.hpp: ...here.

	* testsuite/util/common_type/priority_queue/common_type.hpp:
	Make include guard distinct.

From-SVN: r136497
2008-06-06 19:32:43 +00:00
Johannes Singler 3611e1767d random_shuffle.h: (parallel_random_shuffle_drs) Get the actual number of threads after entering...
2008-06-05  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/random_shuffle.h:
        (parallel_random_shuffle_drs) Get the actual number of
        threads after entering the parallel region. Indentation.
        * include/parallel/algo.h: (random_shuffle(begin, end))
        Add namespace qualification to avoid ambiguity.

From-SVN: r136406
2008-06-05 15:47:17 +00:00
Benjamin Kosnik b67758fe85 assoc_container.hpp: Change allocator typedef to allocator_type, as per existing conventions.
2008-06-04  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/pb_ds/assoc_container.hpp: Change allocator typedef
	to allocator_type, as per existing conventions.	
	* include/ext/pb_ds/detail/binomial_heap_base_/
	binomial_heap_base_.hpp: Same.
	* include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp: Same.
	* include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp: Same.
	* include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Same.
	* include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp: Same.
	* include/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp: Same.
	* include/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp: Same.
	* include/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp: Same.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	left_child_next_sibling_heap_.hpp: Same.
	* include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp: Same.
	* include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same.
	* include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp: Same.
	* include/ext/pb_ds/detail/rc_binomial_heap_/
	rc_binomial_heap_.hpp: Same.
	* include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp: Same.
	* include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
	* include/ext/pb_ds/list_update_policy.hpp: Same.
	* include/ext/pb_ds/exception.hpp: Same.
	* include/ext/pb_ds/tree_policy.hpp: Same.
	* include/ext/pb_ds/trie_policy.hpp: Same.
	* include/ext/pb_ds/priority_queue.hpp: Same.
	* testsuite/util/regression/trait/assoc/trait.hpp: Same.
	* testsuite/util/regression/trait/assoc/type_trait.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/
	defs_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/detail/
	operator_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/
	container_rand_regression_test.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/defs_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/detail/
	operator_fn_imps.hpp: Same.
	* testsuite/util/regression/rand/assoc/
	container_rand_regression_test.hpp: Same.
	* testsuite/util/native_type/assoc/native_multimap.hpp: Same.
	* testsuite/util/native_type/assoc/native_hash_multimap.hpp: Same.
	* testsuite/util/common_type/assoc/detail/
	tree_supports_order_statistics.hpp: Same.
	* testsuite/util/common_type/assoc/detail/
	trie_supports_prefix_search.hpp: Same.
	* testsuite/util/common_type/assoc/detail/
	trie_supports_order_statistics.hpp: Same.

From-SVN: r136359
2008-06-04 15:53:09 +00:00
Paolo Carlini d2219f89bf vector.tcc (vector<>::_M_insert_aux): In C++0x mode, avoid a memory leak if the first __uninitialized_move_a throws.
2008-06-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/vector.tcc (vector<>::_M_insert_aux): In C++0x mode,
	avoid a memory leak if the first __uninitialized_move_a throws.
	(vector<>::_M_fill_insert): Do not always copy to __x_copy, similarly
	to _M_insert_aux.
	* testsuite/23_containers/vector/modifiers/moveable.cc: Adjust.
	* testsuite/23_containers/vector/resize/moveable.cc: Likewise.

From-SVN: r136277
2008-06-02 12:22:53 +00:00
Paolo Carlini f8af8c09ec re PR libstdc++/36338 (heap_sort effectively hangs with -D_GLIBCXX_DEBUG)
2008-05-31  Paolo Carlini  <paolo.carlini@oracle.com>
	    Chris Jefferson  <chris@bubblescope.net>

	PR libstdc++/36338
	* include/bits/stl_heap.h (sort_heap): Use __pop_heap directly.
	(pop_heap): Slightly tweak.

Co-Authored-By: Chris Jefferson <chris@bubblescope.net>

From-SVN: r136242
2008-05-31 23:01:09 +00:00
Paolo Carlini 37f449aa3b bitset (bitset(const char*)): Implement DR 778 in debug-mode too.
2008-05-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/bitset (bitset(const char*)): Implement DR 778
	in debug-mode too.

	* include/bits/cpp_type_traits.h (__is_integer): In C++0x mode
	deal with char16_t and char32_t.

From-SVN: r136158
2008-05-29 11:42:08 +00:00
Paolo Carlini 774c3d8647 cmath (pow(float, int), [...]): Do not define in C++0x mode, per DR 550.
2008-05-26  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_global/cmath (pow(float, int), pow(double, int),
	pow(long double, int)): Do not define in C++0x mode, per DR 550.
	* include/tr1_impl/cmath (pow): Do not bring in unconditionally
	from namespace std.
	* include/tr1/cmath (pow(double, double), pow(float, float),
	pow(long double, long double), pow(_Tp, _Up)): Define.
	* include/tr1/complex (pow): Do not bring in from namespace std.
	(pow(const std::complex<_Tp>&, int), pow(const std::complex<_Tp>&,
	const _Tp&), pow(const _Tp&, const std::complex<_Tp>&),
	pow(const std::complex<_Tp>&, const std::complex<_Tp>&)): Define.
	* include/tr1_impl/complex (pow(const std::complex<_Tp>&,
	const _Up&), pow(const _Tp&, const std::complex<_Up>&),
	pow(const std::complex<_Tp>&, const std::complex<_Up>&)): Always
	define.
	* doc/xml/manual/intro.xml: Add an entry for DR 550.
	* testsuite/26_numerics/headers/cmath/dr550.cc: New.
	* testsuite/tr1/8_c_compatibility/cmath/overloads.cc: Adjust.

From-SVN: r135955
2008-05-26 19:18:24 +00:00
Paolo Carlini 57317d2a2c tuple: Ifndef __GXX_EXPERIMENTAL_CXX0X__ just error out.
2008-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/tuple: Ifndef __GXX_EXPERIMENTAL_CXX0X__ just error out.
	* include/std/date_time: Likewise.
	* include/std/system_error: Likewise.
	* include/std/type_traits: Likewise; fix typo in macro name.
	* include/std/regex: Likewise.
	* include/std/random: Likewise.
	* include/std/unordered_map: Likewise.
	* include/std/condition_variable: Likewise.
	* include/std/unordered_set: Likewise.
	* include/std/mutex: Likewise.
	* include/std/array: Likewise.

	* include/c_std/cmath: Fix obsolete comment.
	* include/c_global/cmath: Likewise.

From-SVN: r135890
2008-05-26 02:19:57 +00:00
Paolo Carlini 23ed71c60c complex (complex<>::real(_Tp), [...]): Add per DR 387.
2008-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/complex (complex<>::real(_Tp), complex<>::imag(_Tp),
	complex<float>::real(float), complex<float>::imag(float),
	complex<double>::real(double), complex<double>::imag(double),
	complex<long double>::real(long double),
	complex<long double>::imag(long double)): Add per DR 387.
	(complex<>::real(), complex<>::imag(), complex<float>::real(),
	complex<float>::imag(), complex<double>::real(),
	complex<double>::imag(), complex<long double>::real(),
	complex<long double>::imag(long double)): Adjust in C++0x mode.
	(real(complex<>&), imag(complex<>&), real(const complex<>&),
	imag(const complex<>&)): Likewise.
	* testsuite/26_numerics/complex/dr387.cc: New.
	* doc/xml/manual/intro.xml: Add an entry for DR 387.

From-SVN: r135878
2008-05-25 18:59:19 +00:00
Paolo Carlini 2acceeac67 complex: Trivial stylistic changes...
2008-05-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/complex: Trivial stylistic changes, define inline
	members inline, consistently with the rest of the library.
	(pow(const _Tp&, const complex<>&)): Minor tweak.

From-SVN: r135872
2008-05-25 16:55:23 +00:00
Paolo Carlini 740508bee2 tuple: Replace int -> size_t throughout per DR 775.
2008-05-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/tuple: Replace int -> size_t throughout per DR 775. 
	* include/tr1_impl/array: Likewise.
	* include/tr1_impl/utility: Likewise.
	* doc/xml/manual/intro.xml: Add an entry for DR 775.

From-SVN: r135834
2008-05-23 23:08:41 +00:00
Paolo Carlini ebd15f8066 cmath (fpclassify): Use __builtin_fpclassify.
2008-05-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_std/cmath (fpclassify): Use __builtin_fpclassify.
	* include/c_global/cmath (fpclassify): Likewise.

From-SVN: r135795
2008-05-23 10:03:31 +00:00
Paolo Carlini 2aa5c17ce5 hashtable_policy.h (_Map_base<,, [...]): Add per DR 761.
2008-05-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/hashtable_policy.h (_Map_base<,,
	std::_Select1st<_Pair>, true,>::at): Add per DR 761. 
	* testsuite/23_containers/unordered_map/dr761.cc: New.
	* doc/xml/manual/intro.xml: Add an entry for DR 761.

From-SVN: r135787
2008-05-23 01:39:17 +00:00
Paolo Carlini 3cd54fc92d complex (proj(const std::complex<>&), proj(_Tp)): Add per DR 781.
2008-05-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/complex (proj(const std::complex<>&), proj(_Tp)):
	Add per DR 781.
	* include/tr1_impl/complex(polar(const _Tp&, const _Up&)): Move to...
	* include/tr1/complex: ... here.
	* doc/xml/manual/intro.xml: Add an entry for DR 781.
	* testsuite/26_numerics/complex/dr781.cc: Add.
	* acinclude.m4 ([GLIBCXX_ENABLE_C99]): Update.
	* configure: Regenerate.

From-SVN: r135757
2008-05-22 11:44:00 +00:00
Paolo Carlini 0fda18dd70 bitset (bitset<>::bitset(const char*)): Add per DR 778.
2008-05-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/bitset (bitset<>::bitset(const char*)): Add per DR 778.
	(bitset<>::_M_copy_from_ptr): Add.
	(bitset<>::_M_copy_from_string): Forward to the latter.
	* doc/xml/manual/intro.xml: Add an entry for DR 778.
	* testsuite/23_containers/bitset/cons/2.cc: Add.

From-SVN: r135738
2008-05-21 20:46:16 +00:00
Paolo Carlini 5fb0445da6 PR c++/33979 (partial)
2008-05-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/33979 (partial)
	* include/tr1_impl/functional_hash.h (hash<char16_t>,
	hash<char32_t>): Add specializations.
	* include/tr1_impl/type_traits (is_integral<char16_t>,
	is_integral<char32_t>): Likewise.
	* include/std/limits (numeric_limits<char16_t>,
	numeric_limits<char32_t>): Likewise.
	* src/limits_c++0x.cc: Add.
	* src/Makefile.am: Update.
	* testsuite/20_util/hash/requirements/explicit_instantiation.cc:
	Update.
	* testsuite/20_util/is_integral/value.cc: New.
	* testsuite/20_util/is_integral/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_integral/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/18_support/numeric_limits/char16_32_t.cc: Likewise.	
	* config/abi/pre/gnu.ver: Export new numeric_limits symbols at
	GLIBCXX_3.4.11.
	* configure: Regenerate.
	* src/Makefile.in: Likewise.
	* config.h.in: Likewise.

From-SVN: r135668
2008-05-20 18:11:34 +00:00
Benjamin Kosnik 70593ad2f1 system_error: Align to current draft specifications.
2008-05-16  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/system_error: Align to current draft specifications.
	* src/system_error.cc: Same.
	* src/functexcept.cc: Adjust for corrected system_error construction.
	* include/std/ostream: Adjust error_code inserter.
	* acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Remove sys_nerr test.
	* config/abi/pre/gnu.ver: Add new exports.
	
	* testsuite/util/testsuite_error.h: Consolidate error testing
	utilities here.
	* testsuite/19_diagnostics/error_code/cons/1.cc: Use
	testsuite_error, adjust line numbers and constructor calls.
	* testsuite/19_diagnostics/error_code/operators/equal.cc: Same.
	* testsuite/19_diagnostics/error_code/operators/not_equal.cc: Same.
	* testsuite/19_diagnostics/error_category/cons/copy_neg.cc: Same.
	* testsuite/19_diagnostics/error_category/cons/default.cc: Same.
	* testsuite/19_diagnostics/error_category/operators/equal.cc: Same.
	* testsuite/19_diagnostics/error_category/operators/not_equal.cc: Same.
	* testsuite/19_diagnostics/system_error/cons_virtual_derivation.cc: 
	Same.
	* testsuite/19_diagnostics/system_error/cons-1.cc: Same.
	* testsuite/19_diagnostics/system_error/what-1.cc: Same.
	* testsuite/19_diagnostics/system_error/what-2.cc: Same.
	* testsuite/19_diagnostics/system_error/what-big.cc: Same.
	* testsuite/19_diagnostics/system_error/what-3.cc: Same.
	* testsuite/19_diagnostics/system_error/what-4.cc: Same.

From-SVN: r135446
2008-05-16 21:55:00 +00:00
Johannes Singler 36fc59580b parallel_mode.xml: Documented the new choices, factoring out common tags.
2008-05-16  Johannes Singler  <singler@ira.uka.de>

         * doc/xml/manual/parallel_mode.xml:
         Documented the new choices, factoring out common tags.
         * include/parallel/multiway_merge.h:
         Place comparison functor at the end, to comply with
         established convention.
         (parallel_multiway_merge) Pass number of threads explicitly.
         Introduce new compile-time variants, make exact splitting the
         default.
         * include/parallel/tags.h:
         Extend exact_tag, introduce sampling_tag.
         * include/parallel/merge.h:
         (parallel_merge_advance) Adapt to changed interface.
         * include/parallel/multiway_mergesort.h: Likewise.

From-SVN: r135411
2008-05-16 07:10:26 +00:00
Benjamin Kosnik 22ac021be4 mutex (mutex::try_lock): Eat errors.
2008-05-14  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/mutex (mutex::try_lock): Eat errors.
	(mutex::unlock): Same.
	(recursive_mutex::try_lock): Eat errors.
	(recursive_mutex::unlock): Same.
	* testsuite/30_threads/mutex/dest/destructor_locked.cc: Add
	-pthreads, adjust line numbers.
	* testsuite/30_threads/mutex/native_handle/1.cc: Same.
	* testsuite/30_threads/mutex/cons/1.cc: Same.
	* testsuite/30_threads/mutex/try_lock/1.cc: Same.
	* testsuite/30_threads/mutex/try_lock/2.cc: Same.
	* testsuite/30_threads/mutex/lock/1.cc: Same.
	* testsuite/30_threads/mutex/unlock/1.cc: Same.
	* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc: Same.
	* testsuite/30_threads/recursive_mutex/native_handle/1.cc: Same.
	* testsuite/30_threads/recursive_mutex/cons/1.cc: Same.

From-SVN: r135321
2008-05-15 00:52:48 +00:00
Benjamin Kosnik d9cdfe6a7f sstream: Adjust braces.
2008-05-14  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/sstream: Adjust braces.
	* include/bits/fstream.tcc: Same.
	* testsuite/29_atomics/atomic_flag/test_and_set/explicit.c: Add
	-shared-libgcc.
	* testsuite/29_atomics/atomic_flag/test_and_set/implicit.c: Same.

	* doc/doxygen/user.cfg.in: Remove thread include.

From-SVN: r135291
2008-05-14 13:12:02 +00:00
Stefano Soffia 2028b66d86 vector (vector<>::_M_requires_reallocation): Just use this->capacity().
2008-05-12  Stefano Soffia  <soffia@cs.unipr.it>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/vector (vector<>::_M_requires_reallocation): Just
	use this->capacity().
	(vector<>::capacity): Move non-pedantic / pedantic logic here.
	* testsuite/23_containers/vector/
	debug_mode_requires_reallocation-2.cc: New.

	* testsuite/23_containers/vector/debug_mode_requires_reallocation.cc:
	Rename to debug_mode_requires_reallocation-1.cc

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r135208
2008-05-12 10:15:34 +00:00
Roberto Bagnara 36d6d97993 vector (vector<>::_M_requires_reallocation): Fix macro.
2008-05-10  Roberto Bagnara  <bagnara@cs.unipr.it>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/vector (vector<>::_M_requires_reallocation): Fix macro.
	* testsuite/23_containers/vector/debug_mode_requires_reallocation.cc:
	New.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r135151
2008-05-10 15:02:34 +00:00
Johannes Singler a273a42537 quicksort.h: (parallel_sort_qs_conquer) Explicitly request number of threads in the parallel...
2008-05-07  Johannes Singler  <singler@ira.uka.de>

       * include/parallel/quicksort.h:
       (parallel_sort_qs_conquer) Explicitly request number of threads
       in the parallel clause.
       (parallel_sort_qs) Remove setting the number of threads globally.

From-SVN: r135038
2008-05-07 11:14:05 +00:00
Benjamin Kosnik 4db6bc0f6e mutex (mutex::mutex): Fix usage of initializing macro.
2008-05-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/mutex (mutex::mutex): Fix usage of initializing macro.
	(recursive_mutex::recursive_mutex): Same.
	(once_flag::once_flag): Same.
	* testsuite/30_threads/mutex/cons/assign_neg.cc: Fix line numbers.
	* testsuite/30_threads/mutex/cons/copy_neg.cc: Same.
	* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Same.

From-SVN: r135015
2008-05-07 00:55:51 +00:00
Benjamin Kosnik 68a97d242c condition_variable: New.
2008-05-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/condition_variable: New.
	* include/std/mutex: New.
	* src/condition_variable.cc: New.
	* src/mutex.cc: New.
	* include/bits/functexcept.h: Add __throw_system_error varients.
	* src/functexcept.cc: Same.
	* config/abi/pre/gnu.ver: Add exports.

	* doc/xml/manual/using.xml: Add new includes.
	* doc/doxygen/user.cfg.in: Doxygen support.
	* doc/doxygen/doxygroups.cc: Same.

	* include/Makefile.am: Add mutex, condition_variable.
	* include/Makefile.in: Regenerated.
	* src/Makefile.am: Add mutex.cc, condition_variable.cc.
	* src/Makefile.in: Regenerated.

	* testsuite/30_threads: New.
	* testsuite/30_threads/lock_error: New.
	* testsuite/30_threads/mutex: New.
	* testsuite/30_threads/mutex/dest: New.
	* testsuite/30_threads/mutex/dest/destructor_locked.cc: New.
	* testsuite/30_threads/mutex/native_handle: New.
	* testsuite/30_threads/mutex/native_handle/1.cc: New.
	* testsuite/30_threads/mutex/cons: New.
	* testsuite/30_threads/mutex/cons/assign_neg.cc: New.
	* testsuite/30_threads/mutex/cons/1.cc: New.
	* testsuite/30_threads/mutex/cons/copy_neg.cc: New.
	* testsuite/30_threads/mutex/requirements: New.
	* testsuite/30_threads/mutex/requirements/typedefs.cc: New.
	* testsuite/30_threads/mutex/try_lock: New.
	* testsuite/30_threads/mutex/try_lock/1.cc: New.
	* testsuite/30_threads/mutex/try_lock/2.cc: New.
	* testsuite/30_threads/mutex/lock: New.
	* testsuite/30_threads/mutex/lock/1.cc: New.
	* testsuite/30_threads/mutex/unlock: New.
	* testsuite/30_threads/mutex/unlock/1.cc: New.
	* testsuite/30_threads/recursive_mutex: New.
	* testsuite/30_threads/recursive_mutex/dest: New.
	* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc: New.
	* testsuite/30_threads/recursive_mutex/native_handle: New.
	* testsuite/30_threads/recursive_mutex/native_handle/1.cc: New.
	* testsuite/30_threads/recursive_mutex/cons: New.
	* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: New.
	* testsuite/30_threads/recursive_mutex/cons/1.cc: New.
	* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: New.
	* testsuite/30_threads/recursive_mutex/requirements: New.
	* testsuite/30_threads/recursive_mutex/requirements/typedefs.cc: New.
	* testsuite/30_threads/lock_guard: New.
	* testsuite/30_threads/lock_guard/requirements: New.
	* testsuite/30_threads/lock_guard/requirements/typedefs.cc: New.
	* testsuite/30_threads/lock_guard/requirements/
	explicit_instantiation.cc: New.
	* testsuite/30_threads/headers: New.
	* testsuite/30_threads/headers/mutex: New.
	* testsuite/30_threads/headers/mutex/types_std_c++0x.cc: New.
	* testsuite/30_threads/headers/mutex/std_c++0x_neg.cc: New.
	* testsuite/30_threads/headers/condition_variable: New.
	* testsuite/30_threads/headers/condition_variable/
	types_std_c++0x.cc: New.
	* testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc: New.
	* testsuite/30_threads/once_flag: New.
	* testsuite/30_threads/unique_lock: New.
	* testsuite/30_threads/unique_lock/requirements: New.
	* testsuite/30_threads/unique_lock/requirements/typedefs.cc: New.
	* testsuite/30_threads/unique_lock/requirements/
	explicit_instantiation.cc: New.
	* testsuite/17_intro/headers/c++200x/all.cc: Add new includes.

From-SVN: r135007
2008-05-06 21:11:47 +00:00
Benjamin Kosnik 86ff5c5049 re PR libstdc++/36130 (Atomics regression test fail to compile when parallel mode is enabled)
2008-05-06  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/36130
	* include/bits/c++config: Namespace macros and setup only in C++.
	* testsuite/29_atomics/headers/stdatomic.h/debug_mode.c: New.

From-SVN: r134995
2008-05-06 18:57:46 +00:00
Johannes Singler 3234d6b0b0 2008-05-06 Johannes Singler <singler@ira.uka.de>
* include/parallel/multiway_merge.h:
          (multiway_merge_*_unguarded):
          Pass sentinel directly, to allow correct determination.
          (multiway_merge_loser_tree_unguarded):
          Remove over-cautious assertion.
          (calls to multiway_merge_*_splitting):
          Parametrize with type that is correct in all cases.
        * include/parallel/losertree.h:
          (delete_min_insert (in many classes)):
          Correct and standardize assertions.

From-SVN: r134977
2008-05-06 08:55:57 +00:00
Benjamin Kosnik fa5b668e7e c++config: Revert _GLIBCXX_LONG_DOUBLE_COMPAT change.
2008-05-01  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config: Revert _GLIBCXX_LONG_DOUBLE_COMPAT change.

From-SVN: r134883
2008-05-02 06:08:28 +00:00
Ralf Wildenhues 9eec643d36 Makefile.am (install-headers): Cope with empty parallel_headers.
libstdc++-v3/
	* include/Makefile.am (install-headers): Cope with empty
	parallel_headers.
	* include/Makefile.in: Regenerate.

From-SVN: r134829
2008-04-30 16:43:08 +00:00
Benjamin Kosnik a7d17ed9e1 c++config: Remove space between '#' and 'undef' for _GLIBCXX_LONG_DOUBLE_COMPAT.
2008-04-29  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config: Remove space between '#' and 'undef' for
	_GLIBCXX_LONG_DOUBLE_COMPAT.

From-SVN: r134805
2008-04-29 19:43:29 +00:00
Benjamin Kosnik b397e31bd8 c++config: Move os_defines and cpu_defines after namespace definitions and base macros.
2008-04-28  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config: Move os_defines and cpu_defines after
	namespace definitions and base macros.

From-SVN: r134779
2008-04-29 05:45:00 +00:00
Benjamin Kosnik a93a597ae7 re PR libstdc++/35922 (std::unordered_map missing in debug mode)
2008-04-25  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/35922
	* include/std/unordered_map: Include debug/unordered_map if
	_GLIBCXX_DEBUG.
	* testsuite/23_containers/unordered_map/requirements/debug.cc: Move...
	* testsuite/23_containers/unordered_map/requirements/
	debug_container.cc: ...here.
	* testsuite/23_containers/unordered_map/requirements/debug_mode.cc: New.
	* testsuite/23_containers/unordered_set/requirements/debug.cc: Move...
	* testsuite/23_containers/unordered_set/requirements/
	debug_container.cc: ...here.
	* testsuite/23_containers/unordered_set/requirements/debug_mode.cc: New.

From-SVN: r134693
2008-04-26 02:21:37 +00:00
Benjamin Kosnik 6995087dda re PR libstdc++/35887 (stl parallel includes installed for --disable-libgomp)
2008-04-24  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/35887 
	* configure.ac: Add default argument to GLIBCXX_ENABLE_PARALLEL.
	Move atomic warnings to GLIBCXX_ENABLE_ATOMIC_BUILTINS.
	* acinclude.m4 (GLIBCXX_ENABLE_PARALLEL): Check for --disable-libgomp.
	(GLIBCXX_ENABLE_ATOMIC_BUILTINS): Add warning information.
	* configure: Regenerate.
	* include/Makefile.am (parallel_headers): Make conditional on
	ENABLE_PARALLEL.
	* include/Makefile.in: Regenerate.

From-SVN: r134649
2008-04-24 23:30:10 +00:00
Paolo Carlini 27995ee1b8 re PR libstdc++/35969 (GLIBCXX_DEBUG: list::merge triggers bad assert)
2008-04-24  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/35969
	* include/debug/list (merge): Use _M_transfer_iter, consistently
	with the splice members.
	* testsuite/23_containers/list/operations/35969.cc: New.

	* testsuite/23_containers/list/operators: Rename to
	testsuite/23_containers/list/operations.

From-SVN: r134642
2008-04-24 17:03:13 +00:00
Benjamin Kosnik 35648b4572 acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Check for set of all used __sync builtins, in two sizes.
2008-04-24  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Check for set of
	all used __sync builtins, in two sizes.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* src/atomic.cc: Use  _GLIBCXX_ATOMIC_BUILTINS_1.
	* include/ext/atomicity.h: Use  _GLIBCXX_ATOMIC_BUILTINS_4.
	* libsupc++/guard.cc: Use  _GLIBCXX_ATOMIC_BUILTINS_4.
	* doc/xml/manual/concurrency.xm: Update docs.

From-SVN: r134629
2008-04-24 14:40:29 +00:00
Johannes Singler d7066497b0 quicksort.h: Reformat,
2008-04-23  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/quicksort.h: Reformat,
        (parallel_sort_qs): Do not pass number of elements.
        * include/parallel/balanced_quicksort.h: Reformat,
        (parallel_sort_qsb): Do not pass number of elements.
        * include/parallel/tags.h:
        Introduce new tags for compile-time choice.
        * include/parallel/merge.h:
        (parallel_merge_advance):Beautified.
        * include/parallel/algo.h: Reformatting (spaces for tabs)
        New sort and stable_sort variants, corresponding to the tags.
        * include/parallel/sort.h:
        New sort and stable_sort variants, corresponding to the tags.
        Changed determining the desired number of threads.

From-SVN: r134582
2008-04-23 07:26:53 +00:00
Johannes Singler 214ece2920 2008-04-23 Johannes Singler <singler@ira.uka.de>
* include/parallel/multiway_merge.h
        (multiway_merge_loser_tree):
        Leave checks to callers, add precondition instead.
        (multiway_merge_loser_tree_unguarded): Likewise.
        (multiway_merge_loser_tree_sentinel): Likewise.
        (sequential_multiway_merge): Added checks for total length 0.
        (parallel_multiway_merge): Skip empty sequences.
        (multiway_merge, all variants):
        Remove temporary variable, return directly.
        (stable_multiway_merge, all variants): Likewise.
        (multiway_merge_sentinels, all variants):  Likewise.
        (stable_multiway_merge_sentinels, all variants): Likewise.
        * include/parallel/multiseq_selection.h
        (multiseq_partition): More detailed assertions.

From-SVN: r134580
2008-04-23 07:20:58 +00:00
Ralf Wildenhues 8a441bd5d7 re PR libstdc++/35954 (cannot build from read-only source tree)
libstdc++-v3/
	PR libstdc++/35954
	* include/Makefile.am (pch*_output): Do not touch pch*_output_anchor.
	Call 'mkdir -p' unconditionally, but ignore its return value.
	* include/Makefile.in: Regenerate.

From-SVN: r134494
2008-04-20 21:14:32 +00:00
Ralf Wildenhues ef5f59f639 Makefile.am: Fix most stamp rules to regenerate the links for all sources newer than the...
libstdc++-v3/
	* include/Makefile.am: Fix most stamp rules to regenerate
	the links for all sources newer than the stamp file.
	* include/Makefile.in: Regenerate.
	* Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* doc/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* libmath/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.

From-SVN: r134492
2008-04-20 21:10:38 +00:00
Andreas Tobler ed0840baf2 re PR libstdc++/35915 (atomic.cc:31:20: error: stdint.h: No such file)
2008-04-16  Andreas Tobler  <a.tobler@schweiz.org>

	PR libstdc++/35915
	* configure.ac: Use GCC_HEADER_STDINT.
	* src/atomic.cc: Include gstdint.h
	* configure: Regenerate.
	* Makefile.in: Likewise.
	* doc/Makefile.in: Likewise.
	* include/Makefile.in: Likewise.
	* libmath/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.
	* aclocal.m4: Likewise.

From-SVN: r134368
2008-04-16 23:30:11 +02:00
Benjamin Kosnik 682db6f9c0 c++config: Guard _LDBL_ macros with __cplusplus.
2008-04-14  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config: Guard _LDBL_ macros with __cplusplus.

From-SVN: r134288
2008-04-14 19:22:27 +00:00
Benjamin Kosnik d466a7e21c [multiple changes]
2008-04-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/c_global/cstdatomic: C++ types only, format, doxygen markup.
	* include/c_compatibility/stdatomic.h: "C" only, format, doxygen markup.
	* src/atomic.c: Format, doxygen markup, edits.

	* include/Makefile.am (cstdatomic, stdatomic.h): Add.
	* src/Makefile.am (atomic.c): Add.
	* acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): New.
	* configure.ac: Call it.	
	* include/Makefile.in: Regenerate.
	* src/Makefile.in: Same.
	* Makefile.in: Same.
	* doc/Makefile.in: Same.
	* po/Makefile.in: Same.
	* libmath/Makefile.in: Same.
	* include/Makefile.in: Same.
	* testsuite/Makefile.in: Same.
	* libsupc++/Makefile.in: Same.
	* config.h.in: Same.
	* configure: Same.
	
	* config/abi/pre/gnu.ver: Add atomics exports.

	* include/ext/typelist.h (apply_generator): New.
	* include/bits/c++config (_GLIBCXX_BEGIN_EXTERN_C): New.
	(_GLIBCXX_END_EXTERN_C): New.
	Deal with _GLIBCXX_BEGIN_NAMESPACE, _GLIBCXX_END_NAMESPACE when
	compiling as C.	
	* testsuite/lib/libstdc++.exp (v3_target_compile_as_c): Add -L
	flag for libstdc++.
	* testsuite/util/testsuite_common_types.h (integral_types): New
	typelist.
	(atomics, atomics_tl): Same.
	(assignable, default_constructible, copy_constructible,
	explicit_value_constructible): New.	
	* testsuite/17_intro/headers/c++200x/all.cc: Test new headers.
	* testsuite/29_atomics: New.
	* testsuite/29_atomics/atomic_address: Same.
	* testsuite/29_atomics/atomic_address/cons: Same.
	* testsuite/29_atomics/atomic_address/cons/explicit_value.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/default.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/aggregate.cc: Same.
	* testsuite/29_atomics/atomic_flag: Same.
	* testsuite/29_atomics/atomic_flag/cons: Same.
	* testsuite/29_atomics/atomic_flag/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic_flag/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic_flag/cons/default.cc: Same.
	* testsuite/29_atomics/atomic_flag/cons/aggregate.cc: Same.
	* testsuite/29_atomics/atomic_flag/requirements: Same.
	* testsuite/29_atomics/atomic_flag/requirements/standard_layout.cc: 
	Same.
	* testsuite/29_atomics/atomic_flag/
	atomic_global_fence_compatibility.cc: Same.
	* testsuite/29_atomics/atomic_flag/test_and_set: Same.
	* testsuite/29_atomics/atomic_flag/test_and_set/explicit.c: Same.
	* testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Same.
	* testsuite/29_atomics/atomic_flag/test_and_set/implicit.c: Same.
	* testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Same.
	* testsuite/29_atomics/headers: Same.
	* testsuite/29_atomics/headers/cstdatomic: Same.
	* testsuite/29_atomics/headers/cstdatomic/types_std_c++0x.cc: Same.
	* testsuite/29_atomics/headers/cstdatomic/functions_std_c++0x.cc: Same.
	* testsuite/29_atomics/headers/cstdatomic/std_c++0x_neg.cc: Same.
	* testsuite/29_atomics/headers/cstdatomic/macros.cc: Same.
	* testsuite/29_atomics/headers/stdatomic.h: Same.
	* testsuite/29_atomics/headers/stdatomic.h/macros.c: Same.
	* testsuite/29_atomics/headers/stdatomic.h/types.c: Same.
	* testsuite/29_atomics/headers/stdatomic.h/functions.c: Same.
	* testsuite/29_atomics/atomic: Same.
	* testsuite/29_atomics/atomic/cons: Same.
	* testsuite/29_atomics/atomic/cons/explicit_value.cc: Same.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/default.cc: Same.
	* testsuite/29_atomics/atomic/requirements: Same.
	* testsuite/29_atomics/atomic/requirements/explicit_instantiation: Same.
	* testsuite/29_atomics/atomic/requirements/explicit_instantiation/
	1.cc: Same.
	
2008-04-10  Lawrence Crowl  <crowl@google.com>

	* include/c_global/cstdatomic: New.
	* include/c_compatibility/stdatomic.h: New.
	* src/atomic.c: New.

From-SVN: r134174
2008-04-10 20:26:45 +00:00