Commit Graph

3542 Commits

Author SHA1 Message Date
Paolo Carlini
b798df0579 set.h: Minor formatting fixes.
2008-07-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/set.h: Minor formatting fixes.
	* include/debug/multiset.h: Likewise.
	* include/debug/safe_association.h: Likewise.
	* include/debug/vector: Likewise.
	* include/debug/map.h: Likewise.
	* include/debug/string: Likewise.
	* include/debug/multimap.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/stl_map.h: Likewise.
	* include/bits/stl_set.h: Likewise.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/stl_bvector.h: Likewise.

From-SVN: r138263
2008-07-29 19:34:36 +00:00
Paolo Carlini
f2752f1d6e utility: Include <initializer_list>, per the current WP.
2008-07-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/utility: Include <initializer_list>, per the current WP.

	* testsuite/lib/libstdc++.exp (check_v3_target_cstdint): Tweak,
	don't use -std=gnu++0x unnecessarily.
	* testsuite/18_support/numeric_limits/char16_32_t.cc: Use
	dg-require-cstdint.
	* testsuite/18_support/headers/cstdint/types_std_c++0x.cc: Likewise.
	* testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc: Likewise.

From-SVN: r138255
2008-07-29 17:06:24 +00:00
Paolo Carlini
08df5d3e97 re PR libstdc++/36949 ([C++0x] make_shared does not initialize enable_shared_from_this' internal shared_count)
2008-07-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/36949
	* include/tr1_impl/boost_shared_ptr.h
	(__shared_ptr(_Sp_make_shared_tag, _Alloc, _Args&&...): Call
	__enable_shared_from_this_helper.
	* testsuite/20_util/shared_ptr/creation/36949.cc: New.

From-SVN: r138219
2008-07-28 23:28:16 +00:00
Paolo Carlini
8cbb6b0003 re PR libstdc++/36924 (mt_allocator/deallocate_local_thread-5.cc and ext/mt_allocator/deallocate_local_thread-7.cc fail sometimes)
2008-07-24  Paolo Carlini  <paolo.carlini@oracle.com>

      	PR libstdc++/36924
      	Revert:
      	2008-07-23  Chris Fairles <chris.fairles@gmail.com>

      	* acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Define GLIBCXX_LIBS.
      	Holds the lib that defines clock_gettime (-lrt or -lposix4).
      	* src/Makefile.am: Use it.
      	* configure: Regenerate.
      	* configure.in: Likewise.
      	* Makefile.in: Likewise.
      	* src/Makefile.in: Likewise.
      	* libsup++/Makefile.in: Likewise.
      	* po/Makefile.in: Likewise.
      	* doc/Makefile.in: Likewise.

From-SVN: r138127
2008-07-24 22:47:26 +00:00
Chris Fairles
d3098c948b condition_variable: Update to N2691 WD.
2008-07-23  Chris Fairles <chris.fairles@gmail.com>

        * include/std/condition_variable: Update to N2691 WD.
        * include/std/mutex: Likewise.
        * testsuite/30_threads/mutex/cons/assign_neg.cc: Adjust line numbers.
        * testsuite/30_threads/mutex/cons/copy_neg.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Likewise.
        * testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.

From-SVN: r138096
2008-07-23 22:17:31 +00:00
Chris Fairles
554cd17b8d acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Define GLIBCXX_LIBS.
2008-07-23  Chris Fairles <chris.fairles@gmail.com>

        * acinclude.m4 ([GLIBCXX_CHECK_CLOCK_GETTIME]): Define GLIBCXX_LIBS.
	Holds the lib that defines clock_gettime (-lrt or -lposix4).
        * src/Makefile.am: Use it.
        * configure: Regenerate.
        * configure.in: Likewise.
        * Makefile.in: Likewise.
        * src/Makefile.in: Likewise.
        * libsup++/Makefile.in: Likewise.
        * po/Makefile.in: Likewise.
        * doc/Makefile.in: Likewise.

From-SVN: r138087
2008-07-23 14:49:00 +00:00
Paolo Carlini
1e58e43be9 sso_string_base.h (__sso_string_base<>::__sso_string_base(std::initializer_list<_CharT>, const _Alloc&)): Remove.
2008-07-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/sso_string_base.h
	(__sso_string_base<>::__sso_string_base(std::initializer_list<_CharT>,
	const _Alloc&)): Remove.
	* include/ext/rc_string_base.h
	(__rc_string_base<>::__rc_string_base(std::initializer_list<_CharT>,
	const _Alloc&)): Likewise.
	* include/ext/vstring.h
	(__versa_string<>::__versa_string(std::initializer_list<_CharT>,
	const _Alloc&)): Adjust.

From-SVN: r138058
2008-07-22 13:52:14 +00:00
Jason Merrill
988499f434 Add initializer_list support as per N2679.
* include/debug/unordered_map: Add initializer_list support.
        * include/debug/safe_association.h: Likewise.
        * include/debug/unordered_set: Likewise.
        * include/debug/vector: Likewise.
        * include/debug/deque: Likewise.
        * include/debug/map.h: Likewise.
        * include/debug/set.h: Likewise.
        * include/debug/string: Likewise.
        * include/debug/list: Likewise.
        * include/debug/multimap.h: Likewise.
        * include/tr1_impl/unordered_map: Likewise.
        * include/tr1_impl/hashtable: Likewise.
        * include/tr1_impl/unordered_set: Likewise.
        * include/tr1_impl/regex: Likewise.
        * include/std/valarray: Likewise.
        * include/std/unordered_map: Likewise.
        * include/std/unordered_set: Likewise.
        * include/bits/stl_list.h: Likewise.
        * include/bits/stl_map.h: Likewise.
        * include/bits/stl_set.h: Likewise.
        * include/bits/basic_string.h: Likewise.
        * include/bits/basic_string.tcc: Likewise.
        * include/bits/stl_multimap.h: Likewise.
        * include/bits/stl_vector.h: Likewise.
        * include/bits/stl_deque.h: Likewise.
        * include/bits/stl_multiset.h: Likewise.
        * include/bits/stl_bvector.h: Likewise.
        * include/ext/vstring.h: Likewise.
        * include/ext/rc_string_base.h: Likewise.
        * include/ext/sso_string_base.h: Likewise.
        * src/Makefile.am (w?string-inst): Build with -std=gnu++0x.
        * src/Makefile.in: Likewise.
        * config/abi/pre/gnu.ver: Add new w?string exports.
...

From-SVN: r138043
2008-07-21 15:40:39 -04:00
Paolo Carlini
52e07aa164 2008-07-19 Paolo Carlini <paolo.carlini@oracle.com>
* include/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp
	(assert_node_consistent): Avoid ambiguous else warning.

	* include/ext/pb_ds/detail/debug_map_base.hpp: Include <iostream>.

	* include/bits/c++config: In debug-mode (and parallel-mode) set
	_GLIBCXX_EXTERN_TEMPLATE to -1, not 0, thus disabling extern
	templates only for basic_string (per libstdc++/21674).
	* include/bits/basic_string.tcc: Use extern templates when
	_GLIBCXX_EXTERN_TEMPLATE > 0.

From-SVN: r137990
2008-07-19 19:58:52 +00:00
Paolo Carlini
77f376d9c7 vector (insert(iterator, _Tp&&), [...]): Enable only when _Tp != bool.
2008-07-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/vector (insert(iterator, _Tp&&), push_back(_Tp&&)):
	Enable only when _Tp != bool.

	* testsuite/25_algorithms/heap/1.cc: Avoid unused variable warnings.

From-SVN: r137962
2008-07-18 20:11:21 +00:00
Paolo Carlini
751a3fcab3 assign_neg.cc: Adjust dg-error lines.
2008-07-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Adjust
	dg-error lines.
	* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Likewise.
	* testsuite/20_util/duration/cons/1_neg.cc: Likewise.

	* include/tr1_impl/type_traits: Fix comment typo.

From-SVN: r137874
2008-07-16 10:10:41 +00:00
Paolo Carlini
20d85a9960 unique_ptr.h: Remove stray character.
2008-07-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/unique_ptr.h: Remove stray character.

From-SVN: r137872
2008-07-16 09:04:16 +00:00
Benjamin Kosnik
ad68e9fce0 user.cfg.in: Add complex, ratio, intializer_list.
2008-07-15  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in: Add complex, ratio,
	intializer_list.
	(PREDEFINED): Add _GLIBCXX_USE_C99_STDINT_TR1.
	* doc/doxygen/doxygroups.cc: Add std::chrono.
	* include/bits/unique_ptr.h (default_delete, unique_ptr): Add markup.
	* libsupc++/initializer_list (initializer_list): Same.
	* include/std/ratio: Same.
	* include/std/chrono: Same.
	* include/std/complex: Disambiguate file markup.

From-SVN: r137868
2008-07-16 07:01:23 +00:00
Chris Fairles
15e38d0dce chrono: New, as per N2661.
2008-07-15  Chris Fairles  <chris.fairles@gmail.com>

        * include/std/chrono: New, as per N2661.
        * src/chrono.cc: New.
        * include/Makefile.am: Update.
        * src/Makefile.am: Likewise.
        * include/Makefile.in: Regenerate.
        * src/Makefile.in: Likewise.
        * acinclude.m4: Add tests for clock_gettime and gettimeofday that
	define _GLIBCXX_HAS_CLOCK_GETTIME and/or _GLIBCXX_HAS_GETTIMEOFDAY.
        * configure.ac: Use them.
        * configure: Regenerate.
        * config.h.in: Likewise.
        * config/abi/pre/gnu.ver: Add symbols for system_clock::now() and
        system_clock::is_monotonic.
        * testsuite/20_util/duration/cons/1.cc: New.
        * testsuite/20_util/duration/cons/2.cc: Likewise.
        * testsuite/20_util/duration/cons/1_neg.cc: Likewise.
        * testsuite/20_util/duration/requirements/explicit_instantiation/
        explicit_instantiation.cc: Likewise.
        * testsuite/20_util/duration/arithmetic/1.cc: Likewise.
        * testsuite/20_util/duration/arithmetic/2.cc: Likewise.
        * testsuite/20_util/duration/comparisons/1.cc: Likewise.
        * testsuite/20_util/time_point/requirements/explicit_instantiation/
        explicit_instantiation.cc: Likewise.
        * testsuite/20_util/time_point/1.cc: Likewise.
        * testsuite/20_util/time_point/2.cc: Likewise.
        * testsuite/20_util/time_point/3.cc: Likewise.
        * testsuite/20_util/clocks/1.cc: Likewise.
        * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Add
        missing headers.
        * testsuite/17_intro/headers/c++200x/all.cc: Likewise.
        * include/precompiled/stdc++.h: Likewise and remove <date_time>.
        * doc/doxygen/user.cfg.in: Likewise.

From-SVN: r137858
2008-07-15 23:23:23 +00:00
Paolo Carlini
91efdb828d re PR libstdc++/36832 (error compiling with crope)
2008-07-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/36832
	* include/ext/rope (_Destroy_const): Add.
	(rope<>::copy): Call it.
	* testsuite/ext/rope/36832.cc: New.

From-SVN: r137829
2008-07-15 10:14:40 +00:00
Johannes Singler
cbcd1e4520 find_selectors.h: Correct name for include guard #ifndef.
2008-07-15  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/find_selectors.h:
        Correct name for include guard #ifndef.
        * include/parallel/balanced_quicksort.h: Likewise.
        * include/parallel/unique_copy.h: Likewise.
        * include/parallel/multiway_mergesort.h: Likewise.
        * include/parallel/checkers.h: Likewise.
        * include/parallel/[various files]:
        Add/correct comment for #endif of include guard (at end of file)

From-SVN: r137827
2008-07-15 10:06:58 +00:00
Paolo Carlini
d5740f0288 date_time: Remove, per N2549, in WP.
2008-07-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/date_time: Remove, per N2549, in WP.
	* src/date_time.cc: Likewise.
	* config/abi/pre/gnu.ver: Remove <date_time> symbols.
	* include/Makefile.am: Remove date_time in std headers.
	* src/Makefile.am: Remove date_time.cc to source files.
	* include/Makefile.in: Regenerate.
	* src/Makefile.in: Likewise.
	* testsuite/31_date_time/headers/date_time/types_std.cc: Remove.
	* testsuite/31_date_time/headers/date_time/std_c++0x_neg.cc: Likewise.
	* testsuite/31_date_time/headers/date_time/functions_std.cc: Likewise.
	* testsuite/31_date_time/headers/date_time/synopsis.cc: Likewise.
	* testsuite/31_date_time/nanoseconds/requirements/traits.cc: Likewise.
	* testsuite/31_date_time/nanoseconds/requirements/duration.cc: Likewise.
	* testsuite/31_date_time/system_time/requirements: Likewise.
	* testsuite/31_date_time/system_time/requirements/traits.cc: Likewise.
	* testsuite/17_intro/headers/c++200x/all.cc: Adjust.
	* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Adjust.

From-SVN: r137736
2008-07-12 10:16:16 +00:00
Johannes Singler
38a28aabc1 balanced_quicksort.h: (qsb_divide) Replace "*end" by "*(end - 1)" in assertion.
2008-07-10  Johannes Singler  <singler@ira.uka.de>

        * include/parallel/balanced_quicksort.h:
        (qsb_divide) Replace "*end" by "*(end - 1)" in assertion.

From-SVN: r137691
2008-07-10 08:19:26 +00:00
Andreas Beckmann
c174eba24a re PR libstdc++/36552 (includes itself: ext/pb_ds/detail/left_child_next_sibling_heap_/null_metadata.hpp)
2008-07-09  Andreas Beckmann  <gcc@abeckmann.de>

	PR libstdc++/36552
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
	null_metadata.hpp: Remove self-include.

From-SVN: r137677
2008-07-10 00:05:27 +00:00
Johannes Singler
361eefe75d random_shuffle.h: (sequential_random_shuffle) Copy data back.
2008-07-09  Johannes Singler  <singler@ira.uka.de>

         * include/parallel/random_shuffle.h:
         (sequential_random_shuffle) Copy data back.
         * testsuite/25_algorithms/random_shuffle/1.cc:
         New. Generic random_shuffle functionality test.

From-SVN: r137658
2008-07-09 15:26:56 +00:00
Chris Fairles
cfa9a96b64 type_traits: Add common_type.
2008-07-08  Chris Fairles  <chris.fairles@gmail.com>

        * include/std/type_traits: Add common_type.
        * testsuite/20_util/common_type/requirements/
	explicit_instantiation.cc: New.
        * testsuite/20_util/common_type/requirements/
	typedefs-1.cc: Likewise.

From-SVN: r137618
2008-07-08 11:59:22 +00:00
Paolo Carlini
a7543cfdcd libstdc++.exp (check_v3_target_stdint): New.
2008-07-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/lib/libstdc++.exp (check_v3_target_stdint): New.
	* testsuite/lib/dg-options.exp (dg-require-cstdint): New.
	* testsuite/20_util/ratio/cons/cons1.cc: Use it.
	* 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.
	* testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.

	* include/std/type_traits: Fix comment typo.

From-SVN: r137612
2008-07-08 01:11:18 +00:00
Roger Sayle
c9faf4654f system_error (is_error_code_enum): Use identifier _Tp instead of _T to avoid conflict with system macro on Darwin.
* include/std/system_error (is_error_code_enum): Use identifier
	_Tp instead of _T to avoid conflict with system macro on Darwin.
	(is_error_condition_enum): Likewise.

From-SVN: r137529
2008-07-06 17:38:08 +00:00
Paolo Carlini
b49aadf8b6 postypes.h: Do not include <stdint.h>.
2008-07-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/postypes.h: Do not include <stdint.h>.

	* include/Makefile.am: Reorder.

From-SVN: r137505
2008-07-05 12:36:03 +00:00
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