Commit Graph

3518 Commits

Author SHA1 Message Date
Paolo Carlini ea31932d53 [multiple changes]
2008-07-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/ratio: Prefer __INTMAX_MAX__ to INTMAX_MAX (INTMAX_MIN).

2008-07-05  Chris Fairles  <chris.fairles@gmail.com>

        * include/std/ratio: Documentation for std::ratio class. Add conditions 
        to ratio_less to prevent overflow.
        * testsuite/20_util/ratio/comparisons/comp2.cc: New.
        * testsuite/20_util/ratio/cons/cons_overflow.cc: Update dg-error line
        numbers.

From-SVN: r137504
2008-07-05 10:24:08 +00:00
Chris Fairles 4acedca122 ratio: New, per N2661.
2008-07-04  Chris Fairles  <chris.fairles@gmail.com>

	* include/std/ratio: New, per N2661.
	* include/Makefile.am: Update.
	* include/Makefile.in: Regenerate.
	* testsuite/20_util/ratio/cons/cons1.cc: New.
	* testsuite/20_util/ratio/cons/cons_overflow.cc: Likewise.
	* testsuite/20_util/ratio/operations/ops1.cc: Likewise.
	* testsuite/20_util/ratio/operations/ops2.cc: Likewise.
	* testsuite/20_util/ratio/operations/ops3.cc: Likewise.
	* testsuite/20_util/ratio/operations/ops_overflow.cc: Likewise.
	* testsuite/20_util/ratio/comparisons/comp1.cc: Likewise.

From-SVN: r137482
2008-07-04 18:45:09 +00:00
Jason Merrill 6010fae752 tree.c (ctor_to_list): Use FOR_EACH_CONSTRUCTOR_ELT.
* gcc/tree.c (ctor_to_list): Use FOR_EACH_CONSTRUCTOR_ELT.                                       
        * gcc/cp/Make-lang.in (cp/typeck2.o): Add  dependency.                                  
        * libstdc++-v3/libsupc++/initializer_list: Uglify and wrap in                                    
        __GXX_EXPERIMENTAL_CXX0X__.                                                                      
        * libstdc++-v3/include/bits/stl_map.h (insert(initializer_list)): Wrap.

From-SVN: r137406
2008-07-03 00:32:25 -04:00
Jason Merrill 0935784671 Implement WG21 N2672, Initializer List proposed wording
gcc/cp/ChangeLog:
2008-07-02  Jason Merrill  <jason@redhat.com>

Implement WG21 N2672, Initializer List proposed wording
* cp-tree.h (enum cp_tree_index): Add CPTI_INIT_LIST_TYPE.
(struct lang_type_class): Add has_list_ctor bitfield.
(TYPE_HAS_LIST_CTOR): New macro.
(BRACE_ENCLOSED_INITIALIZER_P): Expect init_list_type_node.
(CONSTRUCTOR_IS_DIRECT_INIT): New macro.
(LOOKUP_NO_NARROWING): New macro.
(LOOKUP_NO_COPY_CTOR_CONVERSION): New macro.
* parser.c (cp_parse_braced_list): Split out from...
(cp_parser_initializer_clause): ...here.
(cp_parser_postfix_expression): Build up CONSTRUCTOR for compound 
literal here.
(cp_lexer_next_token_is_not_keyword): New fn.
(cp_parser_parenthesized_expression_list): Handle { }.
(cp_parser_new_expression, cp_parser_new_initializer): Likewise.
(cp_parser_assignment_expression, cp_parser_condition): Likewise.
(cp_parser_jump_statement, cp_parser_simple_declaration): Likewise.
(cp_parser_mem_initializer, cp_parser_init_declarator): Likewise.
(cp_parser_initializer, cp_parser_functional_cast): Likewise.
(cp_parser_omp_for_loop, cp_parser_cache_group): Likewise.
(cp_parser_save_member_function_body): Likewise.
* call.c (conversion_kind): Add ck_list, ck_aggr.
(struct conversion): Add check_narrowing bitfield, conversion list.
(build_list_conv): New fn.
(build_aggr_conv): New fn.
(implicit_conversion): Call them.
(standard_conversion): Set check_narrowing if appropriate.
(add_function_candidate): Handle LOOKUP_NO_COPY_CTOR_CONVERSION.
(build_user_type_conversion_1): When converting from an init list,
we allow additional conversions except when calling a copy ctor.
(convert_like_real): Calling an explicit ctor for an init list is 
ill-formed.  Handle ck_list and ck_addr.  Check narrowing.
(build_new_method_call): If CONSTRUCTOR_IS_DIRECT_INIT is set and
class doesn't have a list ctor, break the {} into a TREE_LIST.
(compare_ics): ck_list is better than other UDCs.
(set_up_extended_ref_temp): Split out from initialize_reference.
(is_std_init_list): New fn.
(is_list_ctor): New fn.
* decl.c (cxx_init_decl_processing): Create init_list_type_node.
(reshape_init_array_1): Pass it to build_constructor.
(reshape_init_class): Ditto.
(initialize_artificial_var): Pass the appropriate type.
(build_aggr_init_full_exprs): Split out from...
(check_initializer): ...here.  Handle new semantics.
(build_init_list_var_init): New subroutine of check_initializer.
(grokdeclarator): Converting constructors can have more than one parm.
(grok_special_member_properties): Set TYPE_HAS_LIST_CTOR.
* init.c (expand_default_init): Only do digest_init for aggregates.
* rtti.c (tinfo_base_init): Pass init_list_type_node to 
build_constructor_from_list.
(generic_initializer, ptr_initializer): Ditto.
(ptm_initializer, class_initializer): Ditto.
(get_pseudo_ti_init): Ditto.
* error.c (dump_type): Handle init_list_type_node.
(maybe_warn_cpp0x): New fn.
(maybe_varn_variadic_templates): Call it.
* cvt.c (ocp_convert): Handle conversion from { }.
* tree.c (build_array_of_n_type): New fn.
* typeck2.c (store_init_value): Use init_list_type_node.
(digest_init): Likewise.
(check_narrowing): New fn.
* semantics.c: (finish_compound_literal): Take CONSTRUCTOR instead 
of vector of constructor elts.  Handle non-aggregate types.  Make
constant literals static.
* pt.c: (tsubst_copy_and_build): Adjust.
(unify): Handle { }.
* name-lookup.c (arg_assoc_type): Handle init_list_type_node.

gcc/ChangeLog:
2008-07-02  Jason Merrill  <jason@redhat.com>

* tree.c (ctor_to_list): New fn.
* tree.h: Declare it.
(CONSTRUCTOR_ELT): New macro.
(CONSTRUCTOR_NELTS): New macro.

libstdc++-v3/ChangeLog:
2008-07-02  Jason Merrill  <jason@redhat.com>

* libsupc++/initializer_list: New file.
* include/bits/stl_map.h (insert(initializer_list)): New method.

From-SVN: r137361
2008-07-02 11:38:50 -04:00
Alfred E. Heggestad e3ec709716 backward_warning.h: Fix typo.
2008-06-30  Alfred E. Heggestad  <aeh@db.org>

	* include/backward/backward_warning.h: Fix typo.

From-SVN: r137269
2008-06-30 10:48:48 +00:00
Paolo Carlini a5a6b58639 string_conversions.cc: Remove.
2008-06-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/string_conversions.cc: Remove.
	* config/abi/pre/gnu.ver: Delete exports.
	* src/Makefile.am: Update.
	* include/ext/string_conversions.h: Add.
	* include/Makefile.am: Update.
	* include/bits/basic_string.h: Include string_conversions.h,
	define numeric conversion functions.
	* include/ext/vstring.h: Likewise.
	* src/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.

From-SVN: r137253
2008-06-29 15:46:50 +00:00
Paolo Carlini b03717765d stl_algo.h (copy_n): Add in C++0x mode.
2008-06-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (copy_n): Add in C++0x mode.
	* include/bits/algorithmfwd.h: Add.
	* include/bits/stl_uninitialized.h (uninitialized_copy_n): Add
	in C++0x mode.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
	move_iterators/1.cc: New
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
	* testsuite/25_algorithms/copy_n/1.cc: New.
	* testsuite/25_algorithms/copy_n/2.cc: Likewise.
	* testsuite/25_algorithms/copy_n/3.cc: Likewise.
	* testsuite/25_algorithms/copy_n/4.cc: Likewise.
	* testsuite/25_algorithms/copy_n/move_iterators/1.cc: Likewise.
	* testsuite/25_algorithms/copy_n/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/partition_point/requirements/
	explicit_instantiation/pod.cc: Likewise.

From-SVN: r137251
2008-06-29 11:08:26 +00:00
Paolo Carlini d9be9bb3c6 stl_algo.h (partition_point): Add in C++0x mode.
2008-06-28  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (partition_point): Add in C++0x mode.
	* include/bits/algorithmfwd.h: Add.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
	* testsuite/25_algorithms/partition_point/1.cc: New.
	* testsuite/25_algorithms/partition_point/check_type.cc: Likewise.
	* testsuite/25_algorithms/partition_point/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/partition_point/requirements/
	explicit_instantiation/pod.cc: Likewise.

From-SVN: r137237
2008-06-28 22:39:59 +00:00
Paolo Carlini e5e9ea16b8 re PR libstdc++/36660 (pb_ds/detail/resize_policy/sample_resize_trigger.hpp has extra closing brace)
2008-06-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/36660
	* include/ext/pb_ds/detail/resize_policy/
	sample_resize_trigger.hpp: Remove spurious namespace end.

From-SVN: r137231
2008-06-28 18:32:48 +00:00
Paolo Carlini 04dbd89190 stl_algo.h (is_partitioned): Add in C++0x mode.
2008-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (is_partitioned): Add in C++0x mode.
	* include/bits/algorithmfwd.h: Add.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
	* testsuite/25_algorithms/is_partitioned/1.cc: New.
	* testsuite/25_algorithms/is_partitioned/check_type.cc: Likewise.
	* testsuite/25_algorithms/is_partitioned/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/is_partitioned/requirements/
	explicit_instantiation/pod.cc: Likewise.

From-SVN: r137196
2008-06-27 17:42:18 +00:00
Paolo Carlini fa52081d86 stl_numeric.h (iota): Add in C++0x mode.
2008-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_numeric.h (iota): Add in C++0x mode.
	* testsuite/util/testsuite_character.h (pod_int): Add operator++
	in C++0x mode.
	* testsuite/util/testsuite_api.h (NonDefaultConstructible): Likewise.
	* testsuite/26_numerics/iota/1.cc: New.
	* testsuite/26_numerics/iota/requirements/explicit_instantiation/
	2.cc: Likewise.
	* testsuite/26_numerics/iota/requirements/explicit_instantiation/
	pod.cc: Likewise.

	* include/ext/algorithm: Do not fiddle with the legacy headers.

	* testsuite/26_numerics/partial_sum/1.cc: Minor changes, comments,
	style.
	* testsuite/26_numerics/accumulate/1.cc: Likewise.
	* testsuite/26_numerics/adjacent_difference/1.cc: Likewise.
	* testsuite/26_numerics/inner_product/1.cc: Likewise.

From-SVN: r137174
2008-06-27 10:47:27 +00:00
Paolo Carlini 688a7a07d7 stl_algo.h (partition_copy): Add in C++0x mode.
2008-06-26  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (partition_copy): Add in C++0x mode.
	* include/bits/algorithmfwd.h: Add.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.
	* testsuite/25_algorithms/partition_copy/1.cc: New.
	* testsuite/25_algorithms/partition_copy/check_type.cc: Likewise.
	* testsuite/25_algorithms/partition_copy/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/partition_copy/requirements/
	explicit_instantiation/pod.cc: Likewise.

From-SVN: r137152
2008-06-26 17:55:23 +00:00
Paolo Carlini 2dcc0099c8 base.h (plus, multiplies): Use __typeof__, not typeof.
2008-06-26  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/parallel/base.h (plus, multiplies): Use __typeof__,
	not typeof.

From-SVN: r137145
2008-06-26 10:45:31 +00:00
Paolo Carlini 76cc1b7060 stl_algo.h (__find_if_not, [...]): Add in C++0x, per N2666.
2008-06-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (__find_if_not, find_if_not, all_of,
	any_of, none_of): Add in C++0x, per N2666.
	* include/bits/algorithmfwd.h: Update.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
	* testsuite/25_algorithms/all_of/check_type.cc: New.
	* testsuite/25_algorithms/all_of/1.cc: Likewise.
	* testsuite/25_algorithms/all_of/requirements/explicit_instantiation/
	2.cc: Likewise.
	* testsuite/25_algorithms/all_of/requirements/explicit_instantiation/
	pod.cc: Likewise.
	* testsuite/25_algorithms/any_of/check_type.cc: Likewise.
	* testsuite/25_algorithms/any_of/1.cc: Likewise.
	* testsuite/25_algorithms/any_of/requirements/explicit_instantiation/
	2.cc: Likewise.
	* testsuite/25_algorithms/any_of/requirements/explicit_instantiation/
	pod.cc: Likewise.
	* testsuite/25_algorithms/none_of/check_type.cc: Likewise.
	* testsuite/25_algorithms/none_of/1.cc: Likewise.
	* testsuite/25_algorithms/none_of/requirements/explicit_instantiation/
	2.cc: Likewise.
	* testsuite/25_algorithms/none_of/requirements/explicit_instantiation/
	pod.cc: Likewise.
	* testsuite/25_algorithms/find_if_not/check_type.cc: Likewise.
	* testsuite/25_algorithms/find_if_not/1.cc: Likewise.
	* testsuite/25_algorithms/find_if_not/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/find_if_not/requirements/
	explicit_instantiation/pod.cc: Likewise.
	* testsuite/25_algorithms/copy_if/check_type.cc: Likewise.
	* testsuite/25_algorithms/remove_copy_if/check_type.cc: Likewise.
	* testsuite/25_algorithms/find_if/1.cc: Minor tweaks.

From-SVN: r137118
2008-06-25 16:39:15 +00:00
Paolo Carlini a057a4f13b stl_algo.h (remove_if): Cast __pred result to bool.
2008-06-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (remove_if): Cast __pred result to bool.
	(copy_if): Add, per N2666.
	* testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/
	2.cc: New.
	* testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/
	pod.cc: Likewise.
	* testsuite/25_algorithms/headers/algorithm/synopsis.cc: Update.

From-SVN: r137080
2008-06-24 18:02:36 +00:00
Paolo Carlini 40753806b0 exception.hpp (__throw_container_error, [...]): Mark inline.
2008-06-24  Paolo Carlini  <paolo.carlini@oracle.com>
	    Chalathip Thumkanon  <chalathip@gmail.com>

	* include/ext/pb_ds/exception.hpp (__throw_container_error,
	__throw_insert_error, __throw_join_error, __throw_resize_error):
	Mark inline.

Co-Authored-By: Chalathip Thumkanon <chalathip@gmail.com>

From-SVN: r137065
2008-06-24 12:04:13 +00:00
Paolo Carlini caa8b3c687 move.h (swap(_Tp (&)[_Nm], _Tp (&)[_Nm])): Add, per DR 809.
2008-06-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/move.h (swap(_Tp (&)[_Nm], _Tp (&)[_Nm])): Add,
	per DR 809.
	* include/bits/algorithmfwd.h: Add.
	* doc/xml/manual/intro.xml: Add an entry for DR 809.
	* testsuite/25_algorithms/swap/dr809.cc: New.

	* testsuite/25_algorithms/swap/requirements/explicit_instantiation/
	2.cc: Remove stray empty line.

From-SVN: r137012
2008-06-22 13:57:06 +00:00
Paolo Carlini 14e5606b70 [multiple changes]
2008-06-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_move.h: Rename to move.h.
	* include/std/utility: Adjust.
	* include/ext/vstring_util.h: 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/bits/stl_algobase.h: Likewise.
	* include/bits/stl_heap.h: Likewise.
	* include/bits/stl_pair.h: Likewise.
	* include/bits/stl_iterator.h: Likewise.
	* testsuite/util/testsuite_allocator.h: Likewise.
	* testsuite/util/testsuite_iterators.h: Likewise.
	* include/Makefile.am: Likewise.
	* include/Makefile.in: Regenerate.

2008-06-21  Chris Fairles  <chris.fairles@gmail.com>

	* include/bits/unique_ptr.h: New.
	* include/std/memory: Adjust.
	* include/Makefile.am: Add.
	* testsuite/20_util/unique_ptr/requirements/explicit_instantiation/
	explicit_instantiation.cc: New.
	* testsuite/20_util/unique_ptr/assign/assign.cc: Likewise.
	* include/Makefile.in: Regenerate.

From-SVN: r137004
2008-06-21 17:19:11 +00:00
Paolo Carlini ca0f8fd1ee [multiple changes]
2008-06-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_move.h: Rename to move.h.
	* include/std/utility: Adjust.
	* include/ext/vstring_util.h: 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/bits/stl_algobase.h: Likewise.
	* include/bits/stl_heap.h: Likewise.
	* include/bits/stl_pair.h: Likewise.
	* include/bits/stl_iterator.h: Likewise.
	* testsuite/util/testsuite_allocator.h: Likewise.
	* testsuite/util/testsuite_iterators.h: Likewise.
	* include/Makefile.am: Likewise.
	* include/Makefile.in: Regenerate.

2008-06-21  Chris Fairles  <chris.fairles@gmail.com>

	* include/bits/unique_ptr.h: New.
	* include/std/memory: Adjust.
	* include/Makefile.am: Add.
	* testsuite/20_util/unique_ptr/requirements/explicit_instantiation/
	explicit_instantiation.cc: New.
	* testsuite/20_util/unique_ptr/assign/assign.cc: Likewise.
	* include/Makefile.in: Regenerate.

From-SVN: r137003
2008-06-21 16:55:17 +00:00
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