Commit Graph

4201 Commits

Author SHA1 Message Date
Paolo Carlini 5aadb69b90 cons_overflow_neg.cc: Avoid -Wall warnings.
2010-08-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Avoid -Wall
	warnings.

	* include/bits/shared_ptr.h (shared_ptr<>::shared_ptr
	(const shared_ptr<>&), shared_ptr(shared_ptr<>&&), weak_ptr<>::
	weak_ptr(const weak_ptr<>&), weak_ptr(const shared_ptr<>&)):
	Constrain appropriately via std::is_convertible, etc.
	* include/bits/shared_ptr_base.h: Likewise.
	* include/bits/unique_ptr.h (default_delete<>::
	default_delete(const default_delete<>&),
	unique_ptr<>::unique_ptr(unique_ptr<>&&), operator=(unique_ptr<>&&)):
	Likewise.

	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
	line numbers.
	* testsuite/20_util/shared_ptr/cons/43820.cc: Likewise.

	* include/bits/unique_ptr.h (unique_ptr<>::unique_ptr(auto_ptr<>&&)):
	Add.
	* include/std/memory: Adjust includes order.
	* testsuite/20_util/unique_ptr/cons/auto_ptr.cc: New.
	* testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc: Likewise.
	* testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Minor tweaks.

From-SVN: r163053
2010-08-10 10:08:56 +00:00
Paolo Carlini 0a5c2065bd re PR libstdc++/45228 ([C++0x] Can't copy-construct "tuple<int,int,int>" from "const tuple<int,int,int>" rvalue)
2010-08-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/45228
	* include/std/tuple (tuple<typename... _Elements>): Constrain
	converting constructors and assignment operators with
	sizeof...(_UElements) == sizeof...(_Elements).
	(tuple(tuple<_UElements...>&): Remove.
	(tuple<typename _T1>): Add.
	* testsuite/20_util/tuple/cons/45228.cc: New.
	* testsuite/20_util/tuple/cons/converting.cc: Likewise.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust
	dg-error line number.

	* include/std/tuple (_Tuple_impl<>::_Tuple_impl(const _Tuple_impl&)):
	Defaulted.

	* include/std/tuple (tuple<typename _T1, typename _T2>
	::operator=(pair<_U1, _U2>&&)): Use forward.

From-SVN: r163049
2010-08-10 07:17:44 +00:00
Paolo Carlini 71234632dd re PR libstdc++/44963 ([DR 1334] Ambiguous function overload using __gnu_cxx::crope with std::back_inserter in c++0x mode)
2010-08-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/44963
	* include/bits/stl_iterator.h (insert_iterator<>::
	operator=(const typename _Container::value_type&,
	back_insert_iterator<>::
	operator=(const typename _Container::value_type&),
	front_insert_iterator<>::
	operator=(const typename _Container::value_type&))): Add
	in C++0x mode.
	* testsuite/ext/rope/44963.cc: New.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust
	dg-error line number.

From-SVN: r163001
2010-08-08 14:54:51 +00:00
Paolo Carlini 77fd1c1d44 cmath: Implement US 136.
2010-08-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_global/cmath: Implement US 136.
	* include/tr1_impl/cmath: Do not bring fpclassify, etc from namespace
	std, define namespace tr1.
	* testsuite/26_numerics/headers/cmath/
	c99_classification_macros_c++0x.cc: New.

From-SVN: r162995
2010-08-08 10:07:16 +00:00
Jason Merrill b2edc92147 * include/std/thread: Add deleted thread(thread&).
From-SVN: r162954
2010-08-06 15:41:23 -04:00
Paolo Carlini 00e9a94486 tuple (pack_arguments): Rename to forward_as_tuple and simplify, per US 98 and US 99.
2010-08-06  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/tuple (pack_arguments): Rename to forward_as_tuple
	and simplify, per US 98 and US 99.
	* testsuite/20_util/tuple/creation_functions/pack_arguments.cc:
	Rename to...
	* testsuite/20_util/tuple/creation_functions/forward_as_tuple.cc:
	... this, adjust.
	* testsuite/20_util/pair/piecewise.cc: Adjust.

From-SVN: r162948
2010-08-06 14:46:08 +00:00
Paolo Carlini c2653d8fc2 tuple (begin, end): Remove per GB 87.
2010-08-06  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/tuple (begin, end): Remove per GB 87.
	* testsuite/20_util/tuple/range_access.cc: Remove.

From-SVN: r162942
2010-08-06 11:28:50 +00:00
Paolo Carlini cd6b4a4bca ratio (ratio_less): Improve, use ratio_divide to avoid more overflows.
2010-08-06  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/ratio (ratio_less): Improve, use ratio_divide to avoid
	more overflows.
	* testsuite/20_util/ratio/comparisons/comp1.cc: Extend.
	* testsuite/20_util/ratio/comparisons/comp2.cc: Likewise.

From-SVN: r162941
2010-08-06 08:58:27 +00:00
Paolo Carlini 9316258dcb utility (begin, end): Remove per GB 85.
2010-08-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/utility (begin, end): Remove per GB 85.
	* testsuite/20_util/pair/range_access.cc: Remove.

	* include/std/functional (function<>::function()): Remove explicit,
	per JP 3.

From-SVN: r162900
2010-08-05 08:45:26 +00:00
Paolo Carlini 5f1fd3469f move.h (forward): Update to N3092.
2010-08-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/move.h (forward): Update to N3092.
	(identity): Remove (US 92 is NAD).
	* include/debug/set.h: Fix move constructor to simply use move.
	* include/debug/unordered_map: Likewise.
	* include/debug/multiset.h: Likewise.
	* include/debug/vector: Likewise.
	* include/debug/unordered_set: Likewise.
	* include/debug/deque: Likewise.
	* include/debug/map.h: Likewise.
	* include/debug/string: Likewise.
	* include/debug/list: Likewise.
	* include/debug/multimap.h: Likewise.
	* include/profile/set.h: Likewise.
	* include/profile/unordered_map: Likewise.
	* include/profile/multiset.h: Likewise.
	* include/profile/unordered_set: Likewise.
	* include/profile/vector: Likewise.
	* include/profile/deque: Likewise.
	* include/profile/map.h: Likewise.
	* include/profile/list: Likewise.
	* include/profile/multimap.h: Likewise.
	* include/ext/vstring.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/stl_map.h: Likewise.
	* include/bits/stl_set.h: Likewise.
	* include/bits/forward_list.h: Likewise.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/unordered_map.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/unordered_set.h: Likewise.
	* include/bits/stl_bvector.h: Likewise.
	* testsuite/20_util/identity/value.cc: Remove
	* testsuite/20_util/identity/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/identity/requirements/explicit_instantiation.cc:
	Likewise.

From-SVN: r162898
2010-08-05 07:34:08 +00:00
Paolo Carlini f67a9881a8 [multiple changes]
2010-07-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/vstring_util.h: Include bits/range_access.h.
	* testsuite/ext/vstring/range_access.cc: New test.

2010-07-27  Ed Smith-Rowland  <3dw4rd@verizon.net>

	* include/bits/range_access.h: New.
	* include/Makefile.in: Add bits/range_access.h.
	* include/Makefile.am: Regenerate.
	* include/std/array: Include bits/range_access.h.
	* include/std/deque: Ditto.
	* include/std/forward_list: Ditto.
	* include/std/iterator: Ditto.
	* include/std/list: Ditto.
	* include/std/map: Ditto.
	* include/std/regex: Ditto.
	* include/std/set: Ditto.
	* include/std/string: Ditto.
	* include/std/unordered_map: Ditto.
	* include/std/unordered_set: Ditto.
	* include/std/vector: Ditto.
	* include/std/valarray: Add begin() and end().
	* libsupc++/initializer_list: Ditto.
	* include/tr1_impl/utility: Add begin() and end().
	* include/std/tuple: Ditto.
	* testsuite/24_iterators/headers/iterator/range_access.cc: New test.
	* testsuite/24_iterators/range_access.cc: Ditto.
	* testsuite/28_regex/range_access.cc: Ditto.
	* testsuite/18_support/initializer_list/range_access.cc: Ditto.
	* testsuite/21_strings/basic_string/range_access.cc: Ditto.
	* testsuite/26_numerics/valarray/range_access.cc: Ditto.
	* testsuite/23_containers/unordered_map/range_access.cc: Ditto.
	* testsuite/23_containers/multimap/range_access.cc: Ditto.
	* testsuite/23_containers/set/range_access.cc: Ditto.
	* testsuite/23_containers/unordered_multimap/range_access.cc: Ditto.
	* testsuite/23_containers/forward_list/range_access.cc: Ditto.
	* testsuite/23_containers/unordered_set/range_access.cc: Ditto.
	* testsuite/23_containers/vector/range_access.cc: Ditto.
	* testsuite/23_containers/deque/range_access.cc: Ditto.
	* testsuite/23_containers/multiset/range_access.cc: Ditto.
	* testsuite/23_containers/list/range_access.cc: Ditto.
	* testsuite/23_containers/unordered_multiset/range_access.cc: Ditto.
	* testsuite/23_containers/map/range_access.cc: Ditto.
	* testsuite/23_containers/array/range_access.cc: Ditto.
	* testsuite/20_util/tuple/range_access.cc: Ditto.
	* testsuite/20_util/pair/range_access.cc: Ditto.

From-SVN: r162578
2010-07-27 17:27:06 +00:00
Paolo Carlini ddc9c40d20 acinclude.m4 ([GLIBCXX_CHECK_STDIO_MACROS]): Remove.
2010-07-27  Paolo Carlini  <paolo.carlini@oracle.com>
	    Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* acinclude.m4 ([GLIBCXX_CHECK_STDIO_MACROS]): Remove.
	([GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS]): Add, actually
	compute the constants via AC_COMPUTE_INT.
	* configure.ac: Call the latter.
	* include/bits/ios_base.h: Adjust.
	* include/bits/char_traits.h: Likewise.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error
	line number.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
	* config.h.in: Regenerate.
	* configure: Likewise.

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

	* config/io/c_io_stdio.h: Do not include <cstddef>.

Co-Authored-By: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>

From-SVN: r162562
2010-07-27 10:36:50 +00:00
Jonathan Wakely 20b84bef2b re PR libstdc++/45060 (Wreorder warning in bits/hashtable.h)
2010-07-25  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/45060
	* include/bits/hashtable.h (_Hashtable::_Hashtable(_Hashtable&&)):
	Reorder mem-initializers.

From-SVN: r162515
2010-07-25 17:44:38 +01:00
Paolo Carlini 8e7d962aa5 type_traits (is_convertible): Use SFINAE.
2010-07-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (is_convertible): Use SFINAE.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r162056
2010-07-11 09:13:26 +00:00
Benjamin Kosnik 5ab3a5af25 stl_heap.h: Update markup.
2010-07-08  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/stl_heap.h: Update markup.
	* include/bits/move.h: Same.
	* include/bits/algorithmfwd.h: Same.
	* include/bits/regex.h: Same.
	* include/bits/random.h: Same.
	* doc/doxygen/doxygroups.cc: Same.
	* doc/doxygen/user.cfg.in: Remove include/tr1_impl/regex from
	input file list.
	* doc/Makefile.am (doc-pdf-doxygen): Add comment, put generated
	pdf in location consistent with docbook pdf generation.
	* doc/Makefile.in: Regenerate.

From-SVN: r161970
2010-07-08 17:48:12 +00:00
Jonathan Wakely 21ffc3f709 regex_compiler.h: Fix filename in doxygen comment.
2010-07-03  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/regex_compiler.h: Fix filename in doxygen comment.
	* include/bits/regex_constants.h: Likewise.
	* include/bits/regex_error.h: Likewise.
	* include/bits/regex_grep_matcher.h: Likewise.
	* include/bits/regex_grep_matcher.tcc: Likewise.
	* include/bits/regex_nfa.tcc: Likewise.

From-SVN: r161773
2010-07-03 13:35:03 +01:00
Rainer Orth c18dc5ccea gc++filt.m4: New file.
config:
	* gc++filt.m4: New file.

	contrib:
	* make_sunver.pl: New file.

	libstdc++v3:
	* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Handle sun style.
	Require GCC_PROG_GNU_CXXFILT.
	(_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define
	unless targetting solaris2*.
	Include ../config/gc++filt.m4.
	* configure.host (i?86-*-solaris2*): Set abi_baseline_pair.
	(sparc-*-solaris2*): Likewise.
	* src/Makefile.am [ENABLE_SYMVERS_SUN] (version_dep, version_arg):
	New variables.
	(libstdc++-symbols.ver-sun): New target.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* Makefile.in: Likewise.
	* doc/Makefile.in: Likewise.
	* include/Makefile.in: Likewise.
	* libsupc++/Makefile.in: Likewise.
	* po/Makefile.in: Likewise.
	* python/Makefile.in: Likewise.
	* src/Makefile.in: Likewise.
	* src/atomic.cc: Only define/use _GLIBCXX_ASM_SYMVER if
	_GLIBCXX_HAVE_SYMVER_RENAMING_RUNTIME_SUPPORT.
	* src/compatibility.cc: Likewise.
	* testsuite/Makefile.am (baseline_subdir): Define.
	(baseline_symbols): Use it.
	(new-abi-baseline): Likewise.
	* testsuite/Makefile.in: Regenerate.

	* config/abi/pre/gnu.ver (GLIBCXX_3.4.5): Enclose duplicates in
	#ifdef HAVE_SYMVER_RENAMING_RUNTIME_SUPPORT.
	(GLIBCXX_3.4.6): Likewise.

	* doc/xml/manual/configure.xml (--enable-symvers): Document sun
	style.

	* doc/xml/manual/abi.xml: Fix grammar.
	(Symbol versioning on the libstdc++.so binary): Fix mapfile path.
	(Incremental bumping of a library pre-defined macro): Fix
	c++config path.
	(Incremental bumping of a library pre-defined macro,
	_GLIBCPP_VERSION): Likewise.
	(Matching each specific C++ compiler release to a specific set of
	C++ include files): Fix acinclude.m4 path.
	(Prerequisites): Allow for Sun linker on Solaris 2.5+.
	Use proper link to Configuring.
	Fix acinclude.m4 path.
	(Checking Active): Allow for additional symbol versioning styles.
	Provide Solaris 2 example with pvs -r.
	(Bibliography): Update Linker and Libraries Guide, C++ Migration
	Guide entries.

	gcc:
	* doc/install.texi (Prerequisites): Document Perl requirement on
	Solaris 2.
	(Specific, *-*-solaris2*): Document GNU c++filt requirement.

From-SVN: r161696
2010-07-02 10:05:49 +00:00
Jason Merrill d758e847c4 Enable implicitly declared move constructor/operator= (N3053).
gcc/cp/
	* class.c (add_implicitly_declared_members): A class with no
	explicitly declared copy or move constructor gets both declared
	implicitly, and similarly for operator=.
	(check_bases): A type with no copy ctor does not inhibit
	a const copy ctor in a derived class.
	(check_field_decl): Likewise.
	(check_bases_and_members): A nonexistent copy ctor/op= is non-trivial.
	* tree.c (type_has_nontrivial_copy_init): Adjust semantics.
	(trivially_copyable_p): Likewise.
	* call.c (convert_like_real): Use type_has_nontrivial_copy_init.
	* class.c (finish_struct_bits): Likewise.
	* tree.c (build_target_expr_with_type): Likewise.
	* typeck2.c (store_init_value): Likewise.
libstdc++-v3/
	* include/bits/unordered_map.h: Explicitly default copy constructors.
	* include/bits/unordered_set.h: Likewise.

From-SVN: r161582
2010-06-29 20:51:44 -04:00
Paolo Carlini 6ff7e96435 re PR libstdc++/44708 (Enabling -std=c++0x results in ambiguous function overload in <ext/algorithm> header)
2010-06-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/44708
	* include/ext/algorithm (copy_n): Qualify __copy_n call with
	__gnu_cxx::
	* testsuite/ext/rope/44708.cc: New.

From-SVN: r161524
2010-06-29 10:03:36 +00:00
Paolo Carlini d860c8424c regex_compiler.h: Trivial formatting / stylistic fixes.
2010-06-27  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/regex_compiler.h: Trivial formatting / stylistic fixes.
	* include/bits/regex_grep_matcher.tcc: Likewise.
	* include/bits/regex_cursor.h: Likewise.
	* include/bits/regex.h: Likewise.

From-SVN: r161462
2010-06-27 09:29:25 +00:00
Stephen M. Webb 849cab7b75 Initial regex implementation.
2010-06-25  Stephen M. Webb  <stephen.webb@bregmasoft.ca>

  Initial regex implementation.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

From-SVN: r158281
2010-04-13 20:24:40 +00:00
Paolo Carlini 9ae8aa52dd basic_string.h: Fix pasto in comment.
2010-04-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h: Fix pasto in comment.
	* include/ext/vstring.h: Likewise.

From-SVN: r157955
2010-04-03 20:45:49 +00:00
Ralf Wildenhues 4d9e844614 Update to Automake 1.11.1.
gcc/:
	PR other/43620
	* doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
	* aclocal.m4: Regenerate.

lto-plugin/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.

intl/:
	* aclocal.m4: Regenerate.

boehm-gc/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* include/Makefile.in: Regenerate.

fixincludes/:
	* aclocal.m4: Regenerate.

libcpp/:
	* aclocal.m4: Regenerate.

libdecnumber/:
	* aclocal.m4: Regenerate.

libffi/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* include/Makefile.in: Regenerate.
	* man/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libgfortran/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.

libgomp/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libjava/classpath/:
	* HACKING: Update required Automake version.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* doc/Makefile.in: Regenerate.
	* doc/api/Makefile.in: Regenerate.
	* examples/Makefile.in: Regenerate.
	* external/Makefile.in: Regenerate.
	* external/jsr166/Makefile.in: Regenerate.
	* external/relaxngDatatype/Makefile.in: Regenerate.
	* external/sax/Makefile.in: Regenerate.
	* external/w3c_dom/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* lib/Makefile.in: Regenerate.
	* native/Makefile.in: Regenerate.
	* native/fdlibm/Makefile.in: Regenerate.
	* native/jawt/Makefile.in: Regenerate.
	* native/jni/Makefile.in: Regenerate.
	* native/jni/classpath/Makefile.in: Regenerate.
	* native/jni/gconf-peer/Makefile.in: Regenerate.
	* native/jni/gstreamer-peer/Makefile.in: Regenerate.
	* native/jni/gtk-peer/Makefile.in: Regenerate.
	* native/jni/java-io/Makefile.in: Regenerate.
	* native/jni/java-lang/Makefile.in: Regenerate.
	* native/jni/java-math/Makefile.in: Regenerate.
	* native/jni/java-net/Makefile.in: Regenerate.
	* native/jni/java-nio/Makefile.in: Regenerate.
	* native/jni/java-util/Makefile.in: Regenerate.
	* native/jni/midi-alsa/Makefile.in: Regenerate.
	* native/jni/midi-dssi/Makefile.in: Regenerate.
	* native/jni/native-lib/Makefile.in: Regenerate.
	* native/jni/qt-peer/Makefile.in: Regenerate.
	* native/jni/xmlj/Makefile.in: Regenerate.
	* native/plugin/Makefile.in: Regenerate.
	* resource/Makefile.in: Regenerate.
	* scripts/Makefile.in: Regenerate.
	* tools/Makefile.in: Regenerate.

libjava/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* gcj/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libjava/libltdl/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.

libmudflap/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libobjc/:
	* aclocal.m4: Regenerate.

libssp/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.

libstdc++-v3/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* doc/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* python/Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

zlib/:
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.

From-SVN: r157949
2010-04-02 18:18:06 +00:00
Johannes Singler 26e020539c random_shuffle.h (__parallel_random_shuffle_drs): Take as many threads as possible, i.
2010-03-30  Johannes Singler  <singler@kit.edu>

        * include/parallel/random_shuffle.h
        (__parallel_random_shuffle_drs) : Take as many threads as
        possible, i. e. favor parallelism over cache efficiency.
        Use own PRNG also for the 1 thread case.

From-SVN: r157826
2010-03-30 14:50:56 +00:00
Paolo Carlini c878d6baf6 unordered_map: Clean-up includes and guards.
2010-03-30  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/unordered_map: Clean-up includes and guards.
	* include/debug/unordered_set: Likewise.
	* include/debug/list: Likewise.
	* include/profile/unordered_map: Likewise.
	* include/profile/unordered_set: Likewise.

From-SVN: r157818
2010-03-30 10:59:17 +00:00
Paolo Carlini 5dc2271456 [multiple changes]
2010-03-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/unordered_map.h (operator==, operator!=): Add per N3068.
	* include/bits/unordered_set.h (operator==, operator!=): Likewise.
	* include/debug/unordered_map (operator==, operator!=): Likewise.
	* include/debug/unordered_set: Likewise.
	* include/profile/unordered_map: Likewise.
	* include/profile/unordered_set: Likewise.
	* testsuite/23_containers/unordered_map/operators/1.cc: New.
	* testsuite/23_containers/unordered_multimap/operators/1.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/operators/2.cc: Likewise.
	* testsuite/23_containers/unordered_set/operators/1.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/operators/1.cc: Likewise.

2010-03-25  John Lakos  <jlakos@bloomberg.net>
	    Pablo Halpern  <phalpern@halpernwightsoftware.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable_policy.h (struct _Equality_base): Add.
	* include/bits/hashtable.h (_Hashtable<>): Derive from the latter.

From-SVN: r157736
2010-03-26 02:19:10 +00:00
Paolo Carlini 7c8420560b stl_algobase.h (lower_bound(_ForwardIterator, _ForwardIterator, const _Tp&, _Compare)): Move...
2010-03-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algobase.h (lower_bound(_ForwardIterator,
	_ForwardIterator, const _Tp&, _Compare)): Move...
	* include/bits/stl_algo.h: ... here.

From-SVN: r157668
2010-03-23 14:32:35 +00:00
Johannes Singler 0e50f3350e numeric (inner_product, [...]): Precede subsequent call with _GLIBCXX_STD_P:: to avoid ambiguity between...
2010-03-22  Johannes Singler  <singler@kit.edu>

        * include/parallel/numeric (inner_product, partial_sum):
        Precede subsequent call with _GLIBCXX_STD_P:: to avoid ambiguity
        between __gnu_parallel:: and std::
        * include/parallel/algobase.h (equal): Likewise.
        * include/parallel/algo.h (find_first_of, search_n, merge, nth_element,
        partial_sort, max_element, min_element): Likewise.
        * include/parallel/partial_sum.h (__parallel_partial_sum_linear):
        Qualify accumulate call with __gnu_parallel::.

From-SVN: r157643
2010-03-22 17:06:50 +00:00
Paolo Carlini 57fd5f9525 base.h (_PseudoSequence): Do not forward declare.
2010-03-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/parallel/base.h (_PseudoSequence): Do not forward declare.
	(_VoidFunctor): Remove, unused.
	(__median_of_three_iterators): Take __comp by value.
	(_PseudoSequenceIterator<>::operator++(int)): Do not const qualify
	the return type.
	(_PseudoSequenceIterator<>::operator!=): Fix return type to bool.

From-SVN: r157628
2010-03-22 13:55:11 +00:00
Paolo Carlini 2305a1e82e base.h (_Less): Use std::less.
2010-03-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/parallel/base.h (_Less): Use std::less.
	(_Plus): Likewise use std::plus.
	(_Multiplies): Likewise use std::multiplies.
	* include/parallel/numeric: Adjust.

From-SVN: r157622
2010-03-22 12:18:46 +00:00
Rodolfo Lima 28de604e8c shared_ptr.h (shared_ptr(unique_ptr&&), [...]): Remove explicit specifier (as per DR 925).
2010-03-19  Rodolfo Lima  <rodolfo@rodsoft.org>

	* include/bits/shared_ptr.h (shared_ptr(unique_ptr&&),
	shared_ptr(auto_ptr&&)): Remove explicit specifier (as per DR 925).
	* include/bits/shared_ptr_base.h: Likewise.
	* testsuite/20_util/shared_ptr/creation/dr925.cc: New.

From-SVN: r157570
2010-03-19 13:32:05 +00:00
Paolo Carlini afcd05a759 random.tcc: Minor formatting changes.
2010-03-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.tcc: Minor formatting changes.

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

	* include/bits/stl_algo.h (shuffle): Fix typo in signature.
	* include/bits/algorithmfwd.h: Adjust.
	* testsuite/25_algorithms/shuffle/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/shuffle/requirements/
	explicit_instantiation/pod.cc: Likewise.

From-SVN: r157565
2010-03-19 11:10:08 +00:00
Paolo Carlini 247d807571 stl_algo.h (shuffle): Add, per D3056.
2010-03-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (shuffle): Add, per D3056.
	(random_shuffle): Fix signature in C++0x mode.
	(lower_bound, __lg): Move...
	* include/bits/stl_algobase.h: ... here.
	* include/bits/algorithmfwd.h: Adjust.
	* include/parallel/algorithmfwd.h: Likewise.
	* include/parallel/algo.h: Likewise.
	* include/bits/hashtable_policy.h (__lower_bound): Remove,
	adjust callers.
	* include/tr1/hashtable_policy.h (__lower_bound): Likewise.
	* include/bits/random.tcc (__detail::__transform): Add,
	adjust std::transform callers; don't include <algorithm>.
	* testsuite/25_algorithms/shuffle/1.cc: Add.
	* testsuite/25_algorithms/shuffle/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/shuffle/requirements/
	explicit_instantiation/pod.cc: Likewise.

	* include/bits/random.h: Add comments.

From-SVN: r157564
2010-03-19 10:36:57 +00:00
Jonathan Wakely fbcedacca6 re PR libstdc++/43397 (std::function can't forward rvalue reference for pointer to member function)
2010-03-17  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/43397
	* include/std/functional (_Mem_fn): Use perfect forwarding.
	* testsuite/20_util/function/43397.cc: New.

From-SVN: r157504
2010-03-17 00:22:56 +00:00
Paolo Carlini 7ebb824234 re PR libstdc++/43394 (Spurious warnings while building parallel_list.cc on x86_64 -m32)
2010-03-16  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/43394
	* include/parallel/compatibility.h: Add __k8 and __core2 among the
	i386 targets supporting atomic operations.

From-SVN: r157498
2010-03-16 23:01:28 +00:00
Paolo Carlini 5ecfce5c58 hash_map: Use consistently the _BACKWARD_* prefix for the include guard.
2010-03-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/backward/hash_map: Use consistently the _BACKWARD_*
	prefix for the include guard.
	* include/backward/hash_fun.h: Likewise.
	* include/backward/hashtable.h: Likewise.
	* include/backward/auto_ptr.h: Likewise.
	* include/backward/strstream: Likewise.
	* include/backward/binders.h: Likewise.
	* include/backward/hash_set: Likewise.

From-SVN: r157497
2010-03-16 22:34:53 +00:00
Paolo Carlini fc05e1ba76 random.h (operator==(const uniform_int_distribution<>&, const uniform_int_distribution<>&), [...]): Add, likewise for operator!=.
2010-03-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.h (operator==(const uniform_int_distribution<>&,
	const uniform_int_distribution<>&), operator==(const
	uniform_real_distribution<>&, const uniform_real_distribution<>&),
	operator==(const lognormal_distribution<>&,
	const lognormal_distribution<>&), operator==(const
	chi_squared_distribution<>&, const chi_squared_distribution<>&),
	operator==(const cauchy_distribution<>&, const cauchy_distribution<>&),
	operator==(const fisher_distribution<>&, const fisher_distribution<>&),
	operator==(const student_t_distribution<>&,
	const student_t_distribution<>&), operator==(const
	bernoulli_distribution<>&, const bernoulli_distribution<>&),
	operator==(const binomial_distribution<>&, const
	binomial_distribution<>&), operator==(const geometric_distribution<>&,
	const geometric_distribution<>&), operator==(const
	negative_binomial_distribution<>&, const
	negative_binomial_distribution<>&), operator==(const
	poisson_distribution<>&, const poisson_distribution<>&),
	operator==(const exponential_distribution<>&,
	const exponential_distribution<>&), operator==(const
	gamma_distribution<>&, const gamma_distribution<>&), operator==(const
	weibull_distribution<>&, const weibull_distribution<>&),
	operator==(const extreme_value_distribution<>&,
	const extreme_value_distribution<>&), operator==(const
	discrete_distribution<>&, const discrete_distribution<>&),
	operator==(const piecewise_constant_distribution<>&,
	const piecewise_constant_distribution<>&), operator==(const
	piecewise_linear_distribution<>&, const
	piecewise_linear_distribution<>&)): Add, likewise for operator!=.
	(operator!=(const independent_bits_engine<>&, const
	independent_bits_engine<>&), operator!=(const
	subtract_with_carry_engine<>&, const subtract_with_carry_engine<>&),
	operator!=(const discard_block_engine<>&, const
	discard_block_engine<>&), operator!=(const mersenne_twister_engine<>&,
	const mersenne_twister_engine<>&), operator!=(const
	linear_congruential_engine<>&, const linear_congruential_engine<>&),
	operator!=(const shuffle_order_engine<>&, const
	shuffle_order_engine<>&): Add.
	* include/bits/random.tcc (operator==(const normal_distribution<>&,
	const normal_distribution<>&)): Add.
	* testsuite/26_numerics/random/uniform_real_distribution/operators/
	inequal.cc: New.
	* testsuite/26_numerics/random/uniform_real_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	operators/inequal.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_constant_distribution/
	operators/equal.cc: Likewise.
	* testsuite/26_numerics/random/chi_squared_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/chi_squared_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/normal_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/normal_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/uniform_int_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/uniform_int_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/poisson_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/poisson_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/bernoulli_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/bernoulli_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/discrete_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/discrete_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/weibull_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/weibull_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/cauchy_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/cauchy_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	operators/inequal.cc: Likewise.
	* testsuite/26_numerics/random/negative_binomial_distribution/
	operators/equal.cc: Likewise.
	* testsuite/26_numerics/random/gamma_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/gamma_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/fisher_f_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/fisher_f_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/exponential_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/exponential_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/binomial_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/binomial_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/lognormal_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/lognormal_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/extreme_value_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/extreme_value_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	operators/inequal.cc: Likewise.
	* testsuite/26_numerics/random/piecewise_linear_distribution/
	operators/equal.cc: Likewise.
	* testsuite/26_numerics/random/student_t_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/student_t_distribution/operators/
	equal.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/geometric_distribution/operators/
	inequal.cc: Likewise.
	* testsuite/26_numerics/random/geometric_distribution/operators/
	equal.cc: Likewise.

From-SVN: r157489
2010-03-16 16:14:00 +00:00
Paolo Carlini 1692089663 forward_list.tcc (_Fwd_list_node_base:: _M_transfer_after): Return _Fwd_list_node_base*.
2010-03-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.tcc (_Fwd_list_node_base::
	_M_transfer_after): Return _Fwd_list_node_base*.
	(forward_list<>::_M_splice_after): Add.
	(forward_list<>::insert_after(const_iterator, size_type, const _Tp&),
	insert_after(const_iterator, _InputIterator, _InputIterator),
	insert_after(const_iterator, initializer_list<>)): Use the above,
	implement DR 1278 ([Ready] in Pittsburgh).
	* include/bits/forward_list.h (insert_after(const_iterator,
	size_type, const _Tp&), insert_after(const_iterator, _InputIterator,
	_InputIterator), insert_after(const_iterator, initializer_list<>)):
	Only declare.
	* testsuite/23_containers/forward_list/modifiers/2.cc: Adjust.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Adjust dg-error line number.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r157471
2010-03-16 01:32:53 +00:00
Paolo Carlini 97ffcedf40 revert: forward_list.h: Support non-standard pointer types
2010-03-15  Paolo Carlini  <paolo.carlini@oracle.com>

	Revert:
	2008-11-11  Bob Walters  <bob.s.walters@gmail.com>

	* include/bits/forward_list.h: Support non-standard pointer types
	(_Fwd_list_node_base): Add _Alloc template parameter.
	(_Fwd_list_node<>): Likewise.
	(_Fwd_list_iterator<>): Likewise.
	(_Fwd_list_const_iterator<>): Likewise.
	(_Fwd_list_node_base::_M_next, _M_transfer_after, _M_reverse_after):
	Use _Alloc<_Tp>::pointer.
	(_Fwd_list_iterator<>::_M_node): Use _Node_base::_Pointer.
	(_Fwd_list_base<>::_M_get_node, _M_create_node, _M_create_node,
	_M_insert_after, _M_put_node, _M_erase_after): Likewise.
	(_Fwd_list_const_iterator<>::_M_node): use _Node_base::_Const_pointer.
	(forward_list<>): Use __static_pointer_cast in place of static_cast,
	and __const_pointer_cast in place of const_cast.
	* include/bits/forward_list.tcc
	(_Fwd_list_node<>::_M_sort_after): Using _Pointer typedefs in place
	of standard pointers, __static_pointer_cast in place of static_cast.
	(_Fwd_list_base<>::_Fwd_list_base, _M_insert_after, _M_erase_after):
	Likewise.
	(forward_list<>::_M_initialize_dispatch, _M_fill_initialize,
	splice_after, remove, remove_if, merge): Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/modifiers/1.cc: New.
	* testsuite/23_containers/forward_list/ext_pointer/modifiers/2.cc:
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/modifiers/3.cc:
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/modifiers/4.cc:
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/modifiers/5.cc:
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/operations/1.cc:
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/operations/2.cc:
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/operations/3.cc:
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/operations/4.cc:
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/operations/5.cc:
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/operations/6.cc:
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/operations/7.cc:
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/requirements/1.cc:
	Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/requirements/
	explicit_instantiation/1.cc: Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/requirements/
	explicit_instantiation/3.cc: Likewise.
	* testsuite/23_containers/forward_list/ext_pointer/1.cc: Likewise.

From-SVN: r157462
2010-03-15 17:02:16 +00:00
Paolo Carlini e962c1b0f4 array (swap(array<>&, array<>&)): Use member swap.
2010-03-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/array (swap(array<>&, array<>&)): Use member swap.
	
	* include/bits/stl_algo.h: Improve comment.

From-SVN: r157421
2010-03-13 12:47:09 +00:00
Paolo Carlini 9155c0e3df hashtable_policy.h (_Rehash_base<_Prime_rehash_policy, [...]): Add, per DR 1189.
2010-03-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable_policy.h (_Rehash_base<_Prime_rehash_policy,
	_Hashtable>::reserve): Add, per DR 1189.
	* include/bits/hashtable.h (_Hashtable<>::size_type,
	_Hashtable<>::difference_type): Do not typedef from _Allocator.
	* testsuite/23_containers/unordered_map/dr1189.cc: New.
	* testsuite/23_containers/unordered_set/dr1189.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/dr1189.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/dr1189.cc: Likewise.

From-SVN: r157373
2010-03-10 23:49:28 +00:00
Paolo Carlini d723ced225 revert: PR libstdc++/41975, DR 579
2010-03-08  Paolo Carlini  <paolo.carlini@oracle.com>

	Revert:
	2010-02-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/41975, DR 579
	* include/bits/hashtable.h (_Hashtable<>::_M_erase_node): Remove.
	(erase(const_iterator), erase(const_iterator, const_iterator)):
	Change return type to void.
	* include/debug/unordered_map: Adjust.
	* include/debug/unordered_set: Likewise.
	* testsuite/util/exception/safety.h: Likewise.
	* testsuite/23_containers/unordered_map/erase/1.cc: Likewise.
	* testsuite/23_containers/unordered_map/erase/24061-map.cc: Likewise.
	* testsuite/23_containers/unordered_set/erase/1.cc:  Likewise.
	* testsuite/23_containers/unordered_set/erase/24061-map.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/erase/1.cc:  Likewise.
	* testsuite/23_containers/unordered_multimap/erase/24061-map.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/erase/1.cc:  Likewise.
	* testsuite/23_containers/unordered_multiset/erase/24061-map.cc:
	Likewise.

From-SVN: r157300
2010-03-09 01:56:42 +00:00
Paolo Carlini 714902c8d4 testsuite_container_traits.h (traits_base): Add has_throwing_erase trait.
2010-03-04  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_container_traits.h (traits_base): Add
	has_throwing_erase trait.
	(traits<vector>, traits<deque>): Typedef the latter to true_type.
	* testsuite/util/exception/safety.h (generation_prohibited):
	Do not test vector::erase and deque::erase: can throw if
	either copy constructor or assignment operator of value_type
	throws.
	* testsuite/23_containers/vector/requirements/exception/
	generation_prohibited.cc: Remove xfail.
	* testsuite/23_containers/deque/requirements/exception/
	generation_prohibited.cc: Likewise.

	* include/ext/throw_allocator.h (hash<__gnu_cxx::throw_value_limit>::
	operator(), hash<__gnu_cxx::throw_value_random>::operator()): Pass
	argument by const ref.

	* testsuite/util/testsuite_container_traits.h (traits<map>,
	traits<multimap>, traits<set>, traits<multiset>,
	traits<unordered_map>, traits<unordered_multimap>,
	traits<unordered_set>, traits<unordered_multiset>): Typedef
	consistently has_erase and has_insert as true_type.

	* testsuite/util/testsuite_container_traits.h
	(traits<unordered_map>, traits<unordered_multimap>,
	traits<unordered_set>, traits<unordered_multiset>): Do not wrongly
	typedef has_size_type_constructor as true_type: the constructor
	accepting a size_type actually gets the initial number of
	buckets.

From-SVN: r157239
2010-03-05 01:51:56 +00:00
Paolo Carlini 2ba34efc55 unique_ptr.h (unique_ptr<>::get_deleter): Simplify return type.
2010-03-03  Paolo Carlini  <paolo.carlini@oracle.com>
	    Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/unique_ptr.h (unique_ptr<>::get_deleter): Simplify
	return type.
	* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust
	dg-error line number.
	* testsuite/20_util/unique_ptr/assign/assign_neg.cc: Likewise.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>

From-SVN: r157193
2010-03-03 11:06:59 +00:00
Paolo Carlini 95addb1b84 bitset (hash): Minor tweaks.
2010-03-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/bitset (hash): Minor tweaks.
	* include/debug/vector (hash): Likewise.
	* include/profile/bitset (hash): Likewise.
	* include/profile/vector (hash): Likewise.

From-SVN: r157186
2010-03-03 02:01:56 +00:00
Paolo Carlini 055f6a476c functional_hash.h (_Fnv_hash_base<>::hash): Change to template.
2010-03-02  Paolo Carlini  <paolo.carlini@oracle.com>  

	* include/bits/functional_hash.h (_Fnv_hash_base<>::hash): Change
	to template.
	* include/tr1/functional_hash.h (_Fnv_hash_base<>::hash): Likewise.
	* include/bits/vector.tcc (hash): Adjust.
	* include/bits/basic_string.h (hash): Likewise.
	* include/std/bitset (hash): Likewise.
	* src/hash-string-aux.cc (hash): Likewise.

From-SVN: r157185
2010-03-03 01:23:07 +00:00
Jonathan Wakely ac4983563d mutex (lock_guard::lock_guard): Do not lock mutex when adopt_lock_t constructor is used.
2010-03-02  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/mutex (lock_guard::lock_guard): Do not lock mutex when
	adopt_lock_t constructor is used.
	* testsuite/30_threads/lock_guard/cons/1.cc: New.

From-SVN: r157180
2010-03-02 23:00:21 +00:00
Paolo Carlini f54e96d971 stl_bvector.h (hash<vector<bool, [...]): Move definition...
2010-03-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_bvector.h (hash<vector<bool, _Alloc>>::
	operator()(const vector<bool, _Alloc>&)): Move definition...
	* include/bits/vector.tcc: ... here.

From-SVN: r157178
2010-03-02 21:48:20 +00:00
Paolo Carlini 4cd533a7c7 stl_bvector.h (hash<vector<bool, _Alloc>>): Add.
2010-03-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_bvector.h (hash<vector<bool, _Alloc>>): Add.
	* include/debug/vector (hash<__debug::vector<bool, _Alloc>>):
	Likewise.
	* include/profile/vector (hash<__profile::vector<bool, _Alloc>>):
	Likewise.
	* testsuite/23_containers/vector/bool/hash/1.cc: New.

	* include/std/bitset (hash<bitset<_Nb>>): Small tweaks.
	(hash<bitset<0>>): Add.
	* include/debug/bitset (hash<__debug::bitset<_Nb>>): Forward to
	hash<bitset<_Nb>>.
	* include/profile/bitset (hash<__profile::bitset<_Nb>>): Likewise.
	* testsuite/23_containers/bitset/hash/1.cc: Improve.

From-SVN: r157176
2010-03-02 21:11:19 +00:00
Paolo Carlini ec7058d64d bitset (_Base_bitset<>::_M_getdata()): Add.
2010-03-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/bitset (_Base_bitset<>::_M_getdata()): Add.
	(hash<_GLIBCXX_STD_D::bitset<_Nb>>): Add, use the latter.
	* include/debug/bitset (hash<std::__debug::bitset<_Nb>>): Add.
	* include/profile/bitset (hash<std::__profile::bitset<_Nb>>): Likewise.
	* testsuite/23_containers/bitset/hash/1.cc: New.

From-SVN: r157165
2010-03-02 14:08:52 +00:00
Jonathan Wakely 3e2e197673 re PR libstdc++/43183 (std::unique_ptr::reset() does not conform to N3035.)
2010-03-02  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/43183
	* include/bits/unique_ptr.h (reset): Fix as per working paper.
	(operator*, operator->, operator[], operator bool, release): Use
	pointer's null value instead of 0.
	* testsuite/20_util/unique_ptr/assign/assign_neg.cc: Adjust.
	* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust.
	* testsuite/20_util/unique_ptr/modifiers/43183.cc: New.

From-SVN: r157158
2010-03-02 00:40:28 +00:00
Paolo Carlini 604b384dd4 iomanip (get_money, put_money): Add in C++0x mode; tidy.
2010-03-01  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/iomanip (get_money, put_money): Add in C++0x mode; tidy.
	* testsuite/27_io/manipulators/extended/get_money/char/1.cc: New.
	* testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
	Likewise.
	* testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
	* testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
	Likewise.

From-SVN: r157153
2010-03-01 19:12:39 +00:00
Benjamin Kosnik 44de0937ab atomicfwd_cxx.h: Add typedefs to group.
2010-03-01  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/atomicfwd_cxx.h: Add typedefs to group.

From-SVN: r157152
2010-03-01 19:04:23 +00:00
Ed Smith-Rowland 7703dc47e1 random.tcc (operator<<): Use max_digits10.
2010-02-25  Ed Smith-Rowland  <3dw4rd@verizon.net>

	* include/bits/random.tcc (operator<<): Use max_digits10.

From-SVN: r157068
2010-02-25 17:34:30 +00:00
Ed Smith-Rowland 018afad39f limits (__numeric_limits_base::max_digits10, [...]): Add.
2010-02-25  Ed Smith-Rowland  <3dw4rd@verizon.net>

	* include/std/limits (__numeric_limits_base::max_digits10,
	numeric_limits<>::max_digits10, numeric_limits<>::lowest): Add.
	* src/limits.cc: Define max_digits10.
	* config/abi/pre/gnu.ver: Adjust.
	* testsuite/18_support/numeric_limits/dr559.cc: Test max_digits10
	and lowest too.
	* testsuite/18_support/numeric_limits/lowest.cc: New.
	* testsuite/18_support/numeric_limits/max_digits10.cc: New.

From-SVN: r157067
2010-02-25 17:13:04 +00:00
Paolo Carlini 640f8e6548 functional_hash.h (__hash_combine): Remove.
2010-02-25  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/functional_hash.h (__hash_combine): Remove.
	(_Fnv_hash_base<>::hash(const char*, size_t)): Add defaulted
	hash parameter.
	(_Fnv_hash::__hash_combine(const _Tp&, size_t)): Add.
	* include/std/system_error (hash<system_error>): Adjust.
	* src/compatibility-c++0x.cc (hash<system_error>): Likewise.

From-SVN: r157065
2010-02-25 13:32:52 +00:00
Benjamin Kosnik 03a32789f4 faq.xml: Adjust structure for pdf index.
2010-02-24  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/faq.xml: Adjust structure for pdf index.
	* doc/xml/manual/mt_allocator.xml: Same.
	* doc/xml/manual/allocator.xml: Same.
	* doc/xml/manual/ctype.xml: Same.
	* doc/xml/manual/numerics.xml: Same.
	* doc/xml/manual/codecvt.xml: Same.
	* doc/xml/manual/intro.xml: Same.
	* doc/xml/manual/shared_ptr.xml: Same.
	* doc/xml/manual/status_cxxtr1.xml: Same.
	* doc/xml/manual/auto_ptr.xml: Same.
	* doc/xml/manual/internals.xml: Same.
	* doc/xml/manual/status_cxx1998.xml: Same.
	* doc/xml/manual/parallel_mode.xml: Same.
	* doc/xml/manual/profile_mode.xml: Same.
	* doc/xml/manual/containers.xml: Same.
	* doc/xml/manual/io.xml: Same.
	* doc/xml/manual/concurrency_extensions.xml: Same.
	* doc/xml/manual/appendix_porting.xml: Same.
	* doc/xml/manual/utilities.xml: Same.
	* doc/xml/manual/support.xml: Same.
	* doc/xml/manual/bitmap_allocator.xml: Same.
	* doc/xml/manual/configure.xml: Same.
	* doc/xml/manual/build_hacking.xml: Same.
	* doc/xml/manual/evolution.xml: Same.
	* doc/xml/manual/using.xml: Same.
	* doc/xml/manual/debug.xml: Same.
	* doc/xml/manual/localization.xml: Same.
	* doc/xml/manual/strings.xml: Same.
	* doc/xml/manual/debug_mode.xml: Same.
	* doc/xml/manual/locale.xml: Same.
	* doc/xml/manual/extensions.xml: Same.
	* doc/xml/manual/appendix_contributing.xml: Same.
	* doc/xml/manual/prerequisites.xml: Same.
	* doc/xml/manual/messages.xml: Same.
	* doc/xml/manual/diagnostics.xml: Same.
	* doc/xml/manual/algorithms.xml: Same.
	* doc/xml/manual/appendix_free.xml: Same.
	* doc/xml/manual/iterators.xml: Same.
	* doc/xml/manual/spine.xml: Same.
	* doc/xml/manual/status_cxxtr24733.xml: Same.
	* doc/xml/manual/status_cxx200x.xml: Same.
	* doc/Makefile.am: Refactor.
	* doc/Makefile.in: Regenerate.

	* include/bits/c++0x_warning.h: Tweak doxygen file markup.

From-SVN: r157059
2010-02-25 01:22:57 +00:00
Benjamin Kosnik 037181bc87 random.h: Doxygen group markup fixes.
2010-02-23  Benjamin Kosnik  <bkoz@redhat.com>

        * include/bits/random.h: Doxygen group markup fixes.

From-SVN: r157023
2010-02-23 23:53:17 +00:00
Paolo Carlini 5c8db18ac6 functional_hash.h (struct _Fnv_hash): Rename to _Fnv_hash_base.
2010-02-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/functional_hash.h (struct _Fnv_hash): Rename
	to _Fnv_hash_base.
	(struct _Fnv_hash): Add, derives from the latter.
	(__hash_combine): Add.
	(hash<float>::operator()(float), hash<double>::operator()(double)):
	Adjust.
	* include/bits/basic_string.h (hash<string>, hash<wstring>,
	hash<u16string>, hash<u32string>): Adjust.
	* src/hash-string-aux.cc: Adjust.
	* src/compatibility-c++0x.cc (hash<error_code>): Use __hash_combine.
	* include/std/system_error (hash<error_code>): Likewise.
	* include/std/thread (struct hash<thread::id>): Add.
	* include/tr1/functional_hash.h : Rename to _Fnv_hash_base.
	(struct _Fnv_hash): Add, derives from the latter.
	(hash<float>::operator()(float), hash<double>::operator()(double)):
	Adjust.
	* testsuite/30_threads/thread/id/hash.cc: New.
	* testsuite/30_threads/thread/cons/assign_neg.cc: Adjust dg-error
	line number.
	* testsuite/30_threads/thread/cons/copy_neg.cc: Likewise.

From-SVN: r157005
2010-02-23 15:23:37 +00:00
Paolo Carlini 26504a0f8c complex (arg): Use std::signbit only when available.
2010-02-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/complex (arg): Use std::signbit only when
	available.

From-SVN: r156972
2010-02-22 18:41:55 +00:00
Paolo Carlini 15d81a3c31 functional_hash.h (hash<string>, [...]): Move, per DR 1182 to...
2010-02-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/functional_hash.h (hash<string>, hash<wstring>,
	hash<u16string>, hash<u32string>, hash<error_code>): Move, per
	DR 1182 to...
	* include/bits/basic_string.h: ... here.
	* include/std/system_error: ... and here, respectively.
	* src/hash-aux.cc (hash<long double>::operator()(long double)):
	Move definition...
	* src/hash_c++0x.cc: ... here, new file.
	* src/hash_tr1.cc: ... and here, tweak includes.
	* src/compatibility-c++0x.cc (hash, _Fnv_hash): Remove.
	* src/Makefile.am: Adjust.
	* src/Makefile.in: Regenerate.
	* include/std/functional: Include <bits/functexcept.h>.
	* include/std/unordered_set: Remove redundant include.
	* include/std/unordered_map: Likewise.
	* include/tr1/functional_hash.h: Remove spurious trailing semicolon.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Remove
	dg-excess.

From-SVN: r156971
2010-02-22 18:07:07 +00:00
Paolo Carlini 681f05d4f0 complex (proj): Change return type per DR 1137.
2010-02-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/complex (proj): Change return type per DR 1137.
	(conj): Copy from tr1_impl, likewise adjust return type.
	* include/tr1_impl/complex (conj): Remove.
	* include/tr1/complex (conj): Add both overloads.
	* testsuite/26_numerics/complex/dr781.cc: Rename to...
	* testsuite/26_numerics/complex/dr781_dr1137.cc: ... this, and extend.

	* include/tr1_impl/complex (arg): Optimize.

From-SVN: r156940
2010-02-21 19:55:17 +00:00
Paolo Carlini cf9280bf7e array (array): Add pointer and const_pointer typedefs in C++0x mode, per DR 1306.
2010-02-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/array (array): Add pointer and const_pointer
	typedefs in C++0x mode, per DR 1306.
	* testsuite/util/testsuite_containers.h (basic_types): Add pointer
	and const_pointer typedefs.
	(pointer_aware_types): Remove.
	* testsuite/util/testsuite_container_traits.h: Adjust.

From-SVN: r156906
2010-02-19 18:55:40 +00:00
Paolo Carlini 488d283713 stl_algo.h (for_each): Implement resolution of DR 1110.
2010-02-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (for_each): Implement resolution of DR 1110.
	* testsuite/25_algorithms/for_each/1.cc: New.

From-SVN: r156900
2010-02-19 17:38:18 +00:00
Paolo Carlini 415ed61204 shared_ptr_base.h (__weak_ptr): Remove deleted comparison operators, per DR 1256.
2010-02-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/shared_ptr_base.h (__weak_ptr): Remove deleted
	comparison operators, per DR 1256.
	* include/bits/shared_ptr.h (weak_ptr): Likewise.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust.

From-SVN: r156891
2010-02-19 10:42:47 +00:00
Benjamin Kosnik 40e053e3b8 run_doxygen: Add shortnames option.
2010-02-18  Benjamin Kosnik  <bkoz@redhat.com>

	* scripts/run_doxygen: Add shortnames option.
	* doc/Makefile.am (doc-man-doxygen): Use it.
	(doc-html-doxygen): Use it.
	(doc-xml-doxygen): Use it, but default to NO.
	(doc-pdf-dblatex): Add.
	* doc/Makefile.in: Regenerate.
	* doc/doxygen/user.cfg.in: Update filelist.
	* include/bits/locale_facets.h: Fix markup warning.

From-SVN: r156887
2010-02-19 03:30:46 +00:00
Chris Jefferson 2a5f4935e8 locale_facets.h (__convert_to_v): Add empty exception-specification.
2010-02-17  Chris Jefferson  <chris@bubblescope.net>

	* include/bits/locale_facets.h (__convert_to_v): Add empty
	exception-specification.

From-SVN: r156837
2010-02-17 21:09:10 +00:00
Paolo Carlini ce4674f2a6 limits: Implement resolution of DR 559 (CD1) in C++0x mode.
2010-02-17  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/limits: Implement resolution of DR 559 (CD1) in
	C++0x mode.
	* testsuite/18_support/numeric_limits/dr559.cc: New.

From-SVN: r156830
2010-02-17 12:18:54 +00:00
Benjamin Kosnik 32ade5590e ios_locale.cc: Fixes for -pedantic.
2010-02-16  Benjamin Kosnik  <bkoz@redhat.com>

	* src/ios_locale.cc: Fixes for -pedantic.
	* src/system_error.cc: Same.
	* src/locale.cc: Same.
	* src/list.cc: Same.
	* src/locale_facets.cc: Same.
	* src/locale_init.cc: Same.
	* src/ios.cc: Same.
	* config/locale/darwin/ctype_members.cc: Same.
	* config/locale/gnu/collate_members.cc: Same.
	* config/locale/gnu/ctype_members.cc: Same.
	* config/locale/gnu/c_locale.cc: Same.
	* config/locale/gnu/monetary_members.cc: Same.
	* config/locale/gnu/time_members.cc: Same.
	* config/locale/ieee_1003.1-2001/c_locale.cc: Same.
	* config/locale/generic/collate_members.cc: Same.
	* config/locale/generic/ctype_members.cc: Same.
	* config/locale/generic/c_locale.cc: Same.
	* config/locale/generic/monetary_members.cc: Same.
	* config/locale/generic/time_members.cc: Same.
	* config/io/basic_file_stdio.cc: Same.

	* libsupc++/pbase_type_info.cc: Fixes for -fno-rtti.
	* libsupc++/pointer_type_info.cc: Same.
	* libsupc++/eh_personality.cc: Same.

	* include/std/system_error: Throw spacing.
	* include/bits/locale_classes.h: Same.
	* include/bits/locale_facets.h: Same.
	* include/bits/ios_base.h: Same.

	* testsuite/17_intro/headers/c++200x/all_no_rtti.cc: New.
	* testsuite/17_intro/headers/c++1998/all_no_rtti.cc: New

From-SVN: r156822
2010-02-17 05:43:24 +00:00
Paolo Carlini 05eeebfe49 random.h (linear_congruential_engine(_Sseq&), [...]): Do not enable for the type itself.
2010-02-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.h (linear_congruential_engine(_Sseq&),
	mersenne_twister_engine(_Sseq&), subtract_with_carry_engine(_Sseq&)):
	Do not enable for the type itself.
	(discard_block_engine(_Sseq&), independent_bits_engine(_Sseq&),
	shuffle_order_engine(_Sseq&)): Do not enable for the type itself too.
	(linear_congruential_engine<>::seed(_Sseq&),
	mersenne_twister_engine<>::seed(_Sseq&),
	subtract_with_carry_engine<>::seed(_Sseq&)): Use enable_if on the
	return type.
	(discard_block_engine<>::seed(_Sseq&),
	independent_bits_engine<>::seed(_Sseq&),
	shuffle_order_engine<>::seed(_Sseq&)): Do not use enable_if.
	* include/bits/random.tcc: Adjust definitions.
	* testsuite/26_numerics/random/independent_bits_engine/cons/copy.cc:
	New.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
	copy.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/cons/
	copy.cc: Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
	copy.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/cons/
	copy.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/
	copy.cc: Likewise.

	* testsuite/26_numerics/random/independent_bits_engine/cons/
	base_move.cc: Minor tweaks.
	* testsuite/26_numerics/random/independent_bits_engine/cons/seed1.cc:
	Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/cons/seed2.cc:
	Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	base_copy.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	default.cc: Likewise.
	* testsuite/26_numerics/random/independent_bits_engine/cons/
	seed_seq.cc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
	seed1.cc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
	seed2.cc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
	default.cc: Likewise.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
	seed_seq.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/cons/base_move.cc:
	Likewise.
	* testsuite/26_numerics/random/discard_block_engine/cons/seed1.cc:
	Likewise.
	* testsuite/26_numerics/random/discard_block_engine/cons/seed2.cc:
	Likewise.
	* testsuite/26_numerics/random/discard_block_engine/cons/base_copy.cc:
	Likewise.
	* testsuite/26_numerics/random/discard_block_engine/cons/default.cc:
	Likewise.
	* testsuite/26_numerics/random/discard_block_engine/cons/seed_seq.cc:
	Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/seed1.cc:
	Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/seed2.cc:
	Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
	default.cc: Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
	seed_seq.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/cons/
	seed1.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/cons/
	seed2.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/cons/
	seed_seq.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/base_move.cc:
	Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/seed1.cc:
	Likewise.
 	* testsuite/26_numerics/random/shuffle_order_engine/cons/seed2.cc:
	Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/base_copy.cc:
	Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/default.cc:
	Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq.cc:
	Likewise.

From-SVN: r156815
2010-02-16 19:19:55 +00:00
Paolo Carlini d779a59199 unique_ptr.h: (unique_ptr<>:: unique_ptr(const unique_ptr<_Up...
2010-02-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/unique_ptr.h: (unique_ptr<>::
	unique_ptr(const unique_ptr<_Up, _Up_Deleter>&),
	operator=(const unique_ptr<_Up, _Up_Deleter>&)): Remove, redundant,
	per DR 1303.
	* include/bits/shared_ptr.h (shared_ptr<>::
	shared_ptr(const unique_ptr<_Up, _Up_Deleter>&),
	operator=(const unique_ptr<_Up, _Up_Deleter>&)): Likewise.
	* include/bits/shared_ptr_base.h (__shared_ptr<>::
	__shared_ptr(const unique_ptr<_Up, _Up_Deleter>&),
	operator=(const unique_ptr<_Up, _Up_Deleter>&)): Likewise.
	* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust.
	* testsuite/20_util/unique_ptr/assign/assign_neg.cc: Likewise.
	* testsuite/20_util/shared_ptr/cons/unique_ptr_neg.cc: Likewise.
	* testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
	Likewise.

From-SVN: r156807
2010-02-16 16:01:23 +00:00
Paolo Carlini d5c5922408 stl_algo.h (__median): Move...
2010-02-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (__median): Move...
	* include/ext/algorithm: ... here, being an SGI extension.

From-SVN: r156776
2010-02-15 16:55:20 +00:00
Jonathan Wakely 73c5c5bbb3 PR libstdc++/42819, DR 1315
2010-02-12  Jonathan Wakely  <jwakely.gcc@gmail.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42819, DR 1315
	* include/std/future (async): Use std::result_of for the template
	argument of the std::future return type; adjust everywhere.
	* testsuite/30_threads/async/42819.cc: New.
	* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust
	dg-error line number.
	* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/future/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/future/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/promise/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/promise/cons/assign_neg.cc: Likewise.

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

From-SVN: r156742
2010-02-12 22:31:15 +00:00
Jason Merrill 4094aee8bf thread (~_Impl_base): Declare inline.
* include/std/thread (~_Impl_base): Declare inline.
	* libsupc++/nested_exception.h (~nested_exception): Likewise.

From-SVN: r156707
2010-02-11 14:00:13 -05:00
Paolo Carlini 932b650839 PR libstdc++/41975, DR 579
2010-02-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/41975, DR 579
	* include/bits/hashtable.h (_Hashtable<>::_M_erase_node): Remove.
	(erase(const_iterator), erase(const_iterator, const_iterator)):
	Change return type to void.
	* include/debug/unordered_map: Adjust.
	* include/debug/unordered_set: Likewise.
	* testsuite/util/exception/safety.h: Likewise.
	* testsuite/23_containers/unordered_map/erase/1.cc: Likewise.
	* testsuite/23_containers/unordered_map/erase/24061-map.cc: Likewise.
	* testsuite/23_containers/unordered_set/erase/1.cc:  Likewise.
	* testsuite/23_containers/unordered_set/erase/24061-map.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/erase/1.cc:  Likewise.
	* testsuite/23_containers/unordered_multimap/erase/24061-map.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/erase/1.cc:  Likewise.
	* testsuite/23_containers/unordered_multiset/erase/24061-map.cc:
	Likewise.

From-SVN: r156705
2010-02-11 18:11:01 +00:00
Jason Merrill f1c3cf3c93 PR c++/42983, core issue 906
PR c++/42983, core issue 906
	* method.c (defaultable_fn_check): Check virtualness.
	* include/std/thread (~_Impl_base): Move default out of line.
	* libsupc++/nested_exception.h (~nested_exception): Likewise.

From-SVN: r156672
2010-02-10 16:48:35 -05:00
Paolo Carlini ab65a4c7bd hashtable.h: Fold in include/tr1_impl/hashtable.h contents.
2010-02-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1/hashtable.h: Fold in include/tr1_impl/hashtable.h
	contents.
	* include/tr1_impl/hashtable.h: Remove.
	* include/tr1_impl/hashtable_policy.h: Move and rename...
	* include/tr1/hashtable_policy.h: ... here.
	* include/tr1_impl/unordered_map: Move and rename...
	* include/tr1/unordered_map.h: ... here.
	* include/tr1_impl/unordered_set: Move and rename...
	* include/tr1/unordered_set.h: ... here.
	* include/tr1_impl/unordered_map: Move and rename...
	* include/tr1/unordered_map.h: ... here.
	* include/tr1/unordered_map: Adjust.
	* include/tr1/unordered_set: Likewise.
	* include/Makefile.am: Adjust.
	* include/Makefile.in: Regenerate.

	* include/std/c++0x_warning.h: Move...
	* include/bits/c++0x_warning.h: ... here.
	* include/debug/unordered_map: Adjust.
	* include/debug/unordered_set: Likewise.
	* include/std/tuple: Likewise.
	* include/std/system_error: Likewise.
	* include/std/forward_list: Likewise.
	* include/std/thread: Likewise.
	* include/std/type_traits: Likewise.
	* include/std/future: Likewise.
	* include/std/regex: Likewise.
	* include/std/atomic: Likewise.
	* include/std/ratio: Likewise.
	* include/std/random: Likewise.
	* include/std/unordered_map: Likewise.
	* include/std/chrono: Likewise.: Likewise.
	* include/std/condition_variable: Likewise.
	* include/std/mutex: Likewise.
	* include/std/unordered_set: Likewise.
	* include/std/array: Likewise.
	* include/profile/unordered_map: Likewise.
	* include/profile/unordered_set: Likewise.
	* include/c_global/cinttypes: Likewise.
	* include/c_global/ctgmath: Likewise.
	* include/c_global/cfenv: Likewise.
	* include/c_global/cstdint: Likewise.
	* include/c_global/cstdbool: Likewise.
	* include/c_global/ccomplex: Likewise.

	* include/bits/shared_ptr.h: Do not include <bits/c++0x_warning.h>
	at all, the file is not meant to be included by the users.
	* include/bits/functional_hash.h: Likewise.
	* include/bits/unique_ptr.h: Likewise.
	* include/bits/forward_list.h: Likewise.

	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-*
	line numbers.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Likewise.
	* testsuite/20_util/unique_ptr/assign/assign_neg.cc: Likewise.

From-SVN: r156667
2010-02-10 19:14:33 +00:00
Paolo Carlini 3b2524b126 hashtable.h: Fold in include/tr1_impl/hashtable.h for C++0x use.
2010-02-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable.h: Fold in include/tr1_impl/hashtable.h
	for C++0x use.
	* include/bits/hashtable_policy.h: New, copy and adjust for
	C++0x use, include/tr1_impl/hashtable_policy.h; fix erase and
	insert member functions per n3000.
	* include/bits/unordered_map.h: Likewise for include/tr1_impl/
	unordered_map.
	* include/bits/unordered_set.h: Likewise for include/tr1_impl/
	unordered_set.
	* include/Makefile.am: Adjust.
	* include/Makefile.in: Regenerate.
	* include/tr1/unordered_map: Adjust.
	* include/tr1/unordered_set: Likewise.
	* include/tr1_impl/unordered_map: Adjust, now used only by tr1.
	* include/tr1_impl/hashtable: Likewise.
	* include/tr1_impl/hashtable_policy.h: Likewise.
	* include/tr1_impl/unordered_set: Likewise.
	* include/std/unordered_map: Adjust and simplify includes.
	* include/std/unordered_set: Likewise.
	* include/debug/unordered_map: Adjuse erase and insert members.
	* include/debug/unordered_set: Likewise.
	* include/profile/unordered_map: Likewise.
	* include/profile/unordered_set: Likewise.
	* testsuite/util/exception/safety.h: Fix for the updated erase and
	insert member functions of the unordered_containers.
	* testsuite/23_containers/unordered_map/erase/1.cc: New.
	* testsuite/23_containers/unordered_map/erase/24061-map.cc: Likewise.
	* testsuite/23_containers/unordered_map/insert/map_single.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/insert/array_syntax.cc:
	Likewise.
	* testsuite/23_containers/unordered_map/insert/24061-map.cc: Likewise.
	* testsuite/23_containers/unordered_map/insert/map_range.cc: Likewise.
	* testsuite/23_containers/set/operators/1_neg.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/erase/
	24061-multimap.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/insert/
	24061-multimap.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/insert/
	multimap_range.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/insert/
	multimap_single.cc: Likewise.
	* testsuite/23_containers/unordered_set/erase/1.cc: Likewise.
	* testsuite/23_containers/unordered_set/erase/24061-set.cc: Likewise.
	* testsuite/23_containers/unordered_set/insert/set_single.cc: Likewise.
	* testsuite/23_containers/unordered_set/insert/24061-set.cc: Likewise.
	* testsuite/23_containers/unordered_set/insert/set_range.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/erase/
	24061-multiset.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/insert/
	24061-multiset.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/insert/
	multiset_range.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/insert/
	multiset_single.cc: Likewise.

	* testsuite/23_containers/set/operators/1_neg.cc: Tweak dg-errors
	to avoid spurious fails in debug-mode.
	* testsuite/23_containers/map/operators/1_neg.cc: Likewise.

From-SVN: r156661
2010-02-10 16:09:42 +00:00
Benjamin Kosnik 0eb95b0d69 streambuf: Adjust doxygen group markup.
2010-02-09  Benjamin Kosnik  <bkoz@redhat.com>

        * include/std/streambuf: Adjust doxygen group markup.
        * include/std/functional: Same.
        * include/ext/vstring.h: Same.
        * include/ext/pb_ds/assoc_container.hpp: Same.
        * include/ext/stdio_filebuf.h: Same.
        * include/ext/stdio_sync_filebuf.h: Same.
        * include/bits/localefwd.h: Same.
        * include/bits/functional_hash.h: Same.
        * include/bits/locale_classes.h: Same.
        * include/bits/locale_facets.h: Same.
        * include/bits/ios_base.h: Same.
        * include/bits/codecvt.h: Same.
        * include/bits/locale_facets_nonio.h: Same.

        * testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust line numbers.
        * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.

From-SVN: r156644
2010-02-10 05:45:24 +00:00
Benjamin Kosnik 6cc5a79001 [multiple changes]
2010-02-08  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/42460
	* include/tr1_impl/regex: Fix quoting issues in doxygen markup.
	* include/bits/random.h: Fix multi-line doxygen function markup.

2010-02-08  Matthias Klose  <doko@debian.org>

	PR libstdc++/42460
	* include/std/istream: Fix '\' quoting in doxygen markup.

From-SVN: r156617
2010-02-09 04:49:49 +00:00
Ed Smith-Rowland 83c290e2d4 random.tcc (uniform_int_distribution<>:: operator()(_UniformRandomNumberGenerator&, const param_type&)): Use make_unsigned instead of __add_unsigned and conditional instead of...
2010-02-08  Ed Smith-Rowland  <3dw4rd@verizon.net>

	* include/bits/random.tcc (uniform_int_distribution<>::
	operator()(_UniformRandomNumberGenerator&, const param_type&)):
	Use make_unsigned instead of __add_unsigned and conditional
	instead of __conditional_type.
	* include/std/random: Do not include <ext/type_traits.h> and
	<ext/numeric_traits.h>.

From-SVN: r156608
2010-02-08 17:42:12 +00:00
Paolo Carlini 240c7f7f57 re PR libstdc++/16896 (Use of non-reserved names in stl_list.h)
2010-02-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/16896
	* include/bits/stl_list.h (_List_node_base::transfer): Rename
	to _M_transfer.
	(_List_node_base::reverse): Rename to _M_reverse.
	(_List_node_base::hook): Rename to _M_hook.
	(_List_node_base::unhook): Rename to _M_unhook; adjust callers.
	* include/bits/list.tcc: Adjust callers.
	* src/list.cc: Adjust.
	* src/compatibility.cc: Likewise.
	* src/compatibility-list.cc: New.
	* src/compatibility-debug_list.cc: Likewise.
	* src/compatibility-parallel_list.cc: Likewise.
	* src/Makefile.am: Add.
	* src/Makefile.in: Regenerate.
	* config/abi/pre/gnu.ver: Export _M_* symbols.

	* src/hash.cc: Rename to hash-aux.cc.
	* src/compatibility-ldbl.cc: Adjust.
	* src/compatibility-c++0x.cc: Likewise.
	* src/hash_tr1.cc: Likewise.

	* src/hashtable.cc: Rename to hashtable-aux.cc.
	* src/hashtable_c++0x.cc: Adjust.
	* src/hashtable_tr1.cc: Likewise.

	* src/limits_c++0x.cc: Fold...
	* src/limits.cc... here.

From-SVN: r156578
2010-02-07 18:36:48 +00:00
Paolo Carlini f41e0f1046 stl_pair.h (pair<>::pair(_U1&&, const _T2&), [...]): Revert to std::is_convertible, basing on DR 811.
2010-02-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_pair.h (pair<>::pair(_U1&&, const _T2&),
	pair<>::pair(const _T1&, _U2&&), pair<>::pair(_U1&&, _U2&&)):
	Revert to std::is_convertible, basing on DR 811.

From-SVN: r156570
2010-02-07 10:29:04 +00:00
Paolo Carlini 54f3822595 re PR libstdc++/27340 (valarray uses __cos which may conflict with libm functions)
2010-02-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/27340
	* include/bits/valarray_before.h: Uglify the structs wrapping
	cmath functions differently, eg, _Cos instead of __cos.
	* include/bits/valarray_after.h: Adjust.

From-SVN: r156555
2010-02-06 20:41:09 +00:00
Paolo Carlini 4e4d27aae5 future (swap(packaged_task<>&, packaged_task<>&)): Fix typo in last commit.
2010-02-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/future (swap(packaged_task<>&, packaged_task<>&)): Fix
	typo in last commit.

From-SVN: r156525
2010-02-05 17:25:12 +00:00
Paolo Carlini 1950140626 future (swap(packaged_task<>&, packaged_task<>&), [...]): Add; minor formatting fixes.
2010-02-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/future (swap(packaged_task<>&, packaged_task<>&),
	swap(promise<>&, promise<>&)): Add; minor formatting fixes.
	* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust
	dg-error line number.
	* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/promise/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/promise/cons/copy_neg.cc: Likewise.

From-SVN: r156522
2010-02-05 17:19:10 +00:00
Paolo Carlini 6989b63f39 stl_algobase.h (struct __iter_base): Rename to _Iter_base; add iterator_type typedef.
2010-02-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algobase.h (struct __iter_base): Rename to
	_Iter_base; add iterator_type typedef.
	(struct __miter_base): Rename to _Miter_base.
	(struct __niter_base): Rename to _Niter_base.
	(__miter_base, __niter_base): Add, use the latter; adjust everywhere.

From-SVN: r156515
2010-02-05 10:55:54 +00:00
Benjamin Kosnik 2a60a9f652 re PR libstdc++/42460 (man page errors for generated libstdc++ man pages)
2010-02-04  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/42460
	* doc/doxygen/user.cfg.in: Update file list.
	* include/debug/safe_sequence.h: Doxygen markup fixes for '' and "".
	* include/debug/safe_base.h: Same.
	* include/debug/macros.h: Same.
	* include/tr1_impl/regex: Same.
	* include/std/iostream: Same.
	* include/std/streambuf: Same.
	* include/std/bitset: Same.
	* include/std/iosfwd: Same.
	* include/std/limits: Same.
	* include/std/fstream: Same.
	* include/std/istream: Same.
	* include/std/ostream: Same.
	* include/std/sstream: Same.
	* include/parallel/multiway_merge.h: Same.
	* include/parallel/for_each.h: Same.
	* include/parallel/workstealing.h: Same.
	* include/parallel/omp_loop_static.h: Same.
	* include/parallel/omp_loop.h: Same.
	* include/c_std/csignal: Same.
	* include/c_std/cstdlib: Same.
	* include/c_std/cstdio: Same.
	* include/c_std/cstdarg: Same.
	* include/c_std/cctype: Same.
	* include/c_std/cerrno: Same.
	* include/c_std/cmath: Same.
	* include/c_std/ciso646: Same.
	* include/c_std/ctime: Same.
	* include/c_std/clocale: Same.
	* include/c_std/climits: Same.
	* include/c_std/cassert: Same.
	* include/c_std/csetjmp: Same.
	* include/c_std/cwchar: Same.
	* include/c_std/cfloat: Same.
	* include/c_std/cstring: Same.
	* include/c_std/cstddef: Same.
	* include/c_std/cwctype: Same.
	* include/profile/iterator_tracker.h: Same.
	* include/profile/impl/profiler_trace.h: Same.
	* include/ext/vstring.h: Same.
	* include/ext/algorithm: Same.
	* include/ext/pb_ds/detail/pat_trie_/pat_trie_.h.pp: Same.
	* include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.h.pp: Same.
	* include/ext/pb_ds/detail/type_utils.hpp: Same.
	* include/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp: Same
	* include/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp: Same.
	* include/ext/rc_string_base.h: Same.
	* include/ext/stdio_sync_filebuf.h: Same.
	* include/ext/functional: Same.
	* include/ext/mt_allocator.h: Same.
	* include/bits/basic_ios.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_algobase.h: Same.
	* include/bits/stl_queue.h: Same.
	* include/bits/locale_classes.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/locale_facets.h: Same.
	* include/bits/stl_stack.h: Same.
	* include/bits/stl_iterator_base_types.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/ios_base.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_iterator_base_funcs.h: Same.
	* include/bits/char_traits.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/stl_iterator.h: Same.
	* include/bits/stl_tempbuf.h: Same.
	* include/bits/random.tcc: Same.
	* include/bits/stl_function.h: Same.
	* include/bits/cpp_type_traits.h: Same.
	* include/bits/random.h: Same.
	* include/bits/allocator.h: Same.
	* include/bits/locale_facets_nonio.h: Same.
	* include/c_global/csignal: Same.
	* include/c_global/cstdlib: Same.
	* include/c_global/cstdio: Same.
	* include/c_global/cstdarg: Same.
	* include/c_global/cctype: Same.
	* include/c_global/cerrno: Same.
	* include/c_global/cmath: Same.
	* include/c_global/ciso646: Same.
	* include/c_global/ctime: Same.
	* include/c_global/clocale: Same.
	* include/c_global/climits: Same.
	* include/c_global/cassert: Same.
	* include/c_global/csetjmp: Same.
	* include/c_global/cwchar: Same.
	* include/c_global/cfloat: Same.
	* include/c_global/cstring: Same.
	* include/c_global/cstddef: Same.
	* include/c_global/cwctype: Same.
	* include/tr1/hypergeometric.tcc: Same.
	* include/tr1/random.tcc: Same.
	* include/tr1/functional: Same.
	* include/tr1/random.h: Same.
	* include/backward/auto_ptr.h: Same.
	* include/backward/binders.h: Same.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
	Adjust line numbers.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
	Same.
	* testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
	Same.

From-SVN: r156502
2010-02-04 18:20:34 +00:00
Jonathan Wakely b7200e3fbe condition_variable (condition_variable_any): Provide definitions for all members.
2010-02-03  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/condition_variable (condition_variable_any): Provide
	definitions for all members.
	* src/condition_variable.cc (condition_variable_any): Adjust
	definitions.
	* config/abi/pre/gnu.ver: Adjust exports for condition_variable_any.
	* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
	Adjust dg-error line number.
	* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
	Likewise.
	* testsuite/30_threads/condition_variable_any/members/1.cc: New.
	* testsuite/30_threads/condition_variable_any/members/2.cc: New.
	* testsuite/30_threads/condition_variable_any/requirements/
	standard_layout.cc: Remove.
	* testsuite/30_threads/condition_variable_any/native_handle/
	typesizes.cc: Remove.

From-SVN: r156479
2010-02-03 20:16:22 +00:00
Paolo Carlini 23f8e984b7 vstring.h (__versa_string::shrink_to_fit): Fix for -fno-exceptions.
2010-02-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/vstring.h (__versa_string::shrink_to_fit): Fix
	for -fno-exceptions.

From-SVN: r156460
2010-02-03 00:38:52 +00:00
Benjamin Kosnik 036c0f63e1 allocator.h: Fix for -fno-exceptions.
2010-02-02  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/allocator.h: Fix for -fno-exceptions.
	* include/bits/basic_string.h (basic_string::shrink_to_fit): Same.

From-SVN: r156459
2010-02-03 00:20:05 +00:00
Paolo Carlini 15ecdcc6fc re PR libstdc++/42408 (Missing templatized seed())
2010-02-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42408
	* include/bits/random.h (linear_congruential_engine<>::
	linear_congruential_engine(seed_seq&),
	linear_congruential_engine<>::seed(seed_seq&),
	mersenne_twister<>::mersenne_twister(seed_seq&),
	mersenne_twister<>::seed(seed_seq&),
	subtract_with_carry_engine<>::subtract_with_carry_engine(seed_seq&),
	subtract_with_carry_engine<>::seed(seed_seq&),
	discard_block_engine<>::discard_block_engine(seed_seq&),
	discard_block_engine<>::seed(seed_seq&),
	independent_bits_engine<>::independent_bits_engine(seed_seq&),
	independent_bits_engine<>::seed(seed_seq&),
	shuffle_order_engine<>::shuffle_order_engine(seed_seq&),
	shuffle_order_engine<>::seed(seed_seq&)): Templatize.
	* include/bits/random.tcc: Adjust.
	* testsuite/26_numerics/random/subtract_with_carry_engine/cons/
	seed_seq.cc: New.
	* testsuite/26_numerics/random/mersenne_twister_engine/cons/
	seed_seq.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/
	cons/seed_seq.cc: Likewise.

From-SVN: r156430
2010-02-01 19:45:23 +00:00
Paolo Carlini 1e3ca17d52 forward_list.h (forward_list<>::resize(size_type), [...]): Only declare.
2010-02-01  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/forward_list.h (forward_list<>::resize(size_type),
	forward_list(size_type)): Only declare.
	* include/bits/forward_list.tcc (forward_list<>::resize(size_type),
	forward_list(size_type)): Define, don't assume CopyConstructible.
	* testsuite/23_containers/forward_list/cons/10.cc: New.
	* testsuite/23_containers/forward_list/modifiers/6.cc: Likewis.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Adjust dg-error line numbers.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

	* include/bits/forward_list.h: Use _M_get_Node_allocator throughout.

From-SVN: r156426
2010-02-01 13:10:12 +00:00
Paolo Carlini 22977dce58 generation_prohibited.c: Remove, swap can indeed throw (DR 774).
2010-01-31  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/array/requirements/exception/
	generation_prohibited.c: Remove, swap can indeed throw (DR 774).

	* testsuite/util/exception/safety.h (insert_base<__versa_string>): Fix.
	* testsuite/util/testsuite_container_traits.h
	(traits<__versa_string>): Enable insert tests.

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

	* include/bits/forward_list.h (forward_list<>::insert_after
	(const_iterator, size_type, const _Tp&), insert_after(const_iterator,
	_InputIterator, _InputIterator), insert_after(const_iterator,
	std::initializer_list<>)): Fix return type per N3000.
	* testsuite/23_containers/forward_list/ext_pointer/modifiers/2.cc:
	Adjust.
	* testsuite/23_containers/forward_list/modifiers/2.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Adjust dg-error line numbers.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r156419
2010-01-31 22:52:25 +00:00
Paolo Carlini 6e4a660f12 revert: condition_variable (condition_variable_any:: wait<>(_Lock&)): Provide definition.
2010-01-31  Paolo Carlini  <paolo.carlini@oracle.com>

	Revert last changes. Also revert, among the previous changes:
	* include/std/condition_variable (condition_variable_any::
	wait<>(_Lock&)): Provide definition.

From-SVN: r156403
2010-01-31 16:54:49 +00:00
Paolo Carlini 023cee968b condition_variable (condition_variable_any:: __wait_until_impl): Add.
2010-01-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/condition_variable (condition_variable_any::
	__wait_until_impl): Add.
	(condition_variable_any::wait_until): Provide definitions.
	* testsuite/30_threads/condition_variable_any/members/2.cc: New.
	* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
	Adjust dg-error line number.
	* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
	Likewise.

	* testsuite/30_threads/condition_variable/members/1.cc: Minor
	stylistic changes.
	* testsuite/30_threads/condition_variable/members/1.cc: Likewise.

From-SVN: r156367
2010-01-29 22:46:31 +00:00
Paolo Carlini cdf5f5a34d condition_variable (enum class cv_status): Add and use it throughout, per N3000.
2010-01-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/condition_variable (enum class cv_status): Add and
	use it throughout, per N3000.
	(condition_variable_any::wait<>(_Lock&), wait<>(_Lock&, _Predicate),
	wait_until<>(_Lock&, const chrono::time_point<>&, _Predicate)):
	Provide definitions.
	* src/condition_variable.cc (condition_variable_any::notify_one,
	condition_variable_any::notify_all): Likewise.
	* config/abi/pre/gnu.ver: Export.
	* testsuite/30_threads/condition_variable_any/requirements/
	typedefs.cc: New.
	* testsuite/30_threads/condition_variable_any/requirements/
	standard_layout.cc: Likewise.
	* testsuite/30_threads/condition_variable/members/1.cc: Adjust.
	* testsuite/30_threads/condition_variable/members/2.cc: Likewise.
	* testsuite/30_threads/condition_variable/cons/assign_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc:
	Likewise.
	* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
	Likewise.

From-SVN: r156358
2010-01-29 16:59:55 +00:00
François Dumont a2fe92030c stl_algobase.h (struct __iter_base): Add.
2010-01-28  François Dumont  <francois.cppdevs@free.fr>

	* include/bits/stl_algobase.h (struct __iter_base): Add.
	(__niter_base, __miter_base): Adjust, use the latter.

From-SVN: r156335
2010-01-28 22:29:52 +00:00
Richard Guenther 77597d3907 re PR libstdc++/42832 (Revisit std::function for aliasing issues and efficiency)
2010-01-27  Richard Guenther  <rguenther@suse.de>

	PR libstdc++/42832
	* include/std/functional (function<>::swap): Perform bytewise
	swap of _M_functor.
	* include/tr1/functional (function<>::swap): Likewise.

From-SVN: r156290
2010-01-27 15:49:00 +00:00
Daniel Frey 2b054f631a functional: Use enable_if instead of __enable_if throughout, do not include ext/type_traits.h.
2010-01-26  Daniel Frey  <d.frey@gmx.de>

	* include/std/functional: Use enable_if instead of __enable_if
	throughout, do not include ext/type_traits.h.
	(is_placeholder, is_bind_expression): Use integral_constant.

From-SVN: r156246
2010-01-26 13:33:06 +00:00
Daniel Frey 0d9709e1bf functional (_Index_tuple, [...]): Simplify and speed-up.
2010-01-22  Daniel Frey  <d.frey@gmx.de>

	* include/std/functional (_Index_tuple, _Build_index_tuple):
	Simplify and speed-up.

From-SVN: r156178
2010-01-22 20:50:15 +00:00
Jonathan Wakely b3eed6fe78 re PR libstdc++/42201 ([C++0x] std::vector<std::unique_future<T>>::push_back fails)
2010-01-21  Jonathan Wakely  <jwakely.gcc@gmail.com>

        PR libstdc++/42201
	* include/std/future: Update to latest WP.
	* src/functexcept.cc (__throw_future_error): Use make_error_code.
	* testsuite/30_threads/async/any.cc: New.
	* testsuite/30_threads/async/async.cc: New.
	* testsuite/30_threads/async/sync.cc: New.
	* testsuite/30_threads/packaged_task/cons/alloc.cc: New.
	* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust.
	* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Adjust.
	* testsuite/30_threads/packaged_task/members/get_future.cc: Adjust.
	* testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke.cc: Adjust.
	* testsuite/30_threads/packaged_task/members/invoke2.cc: Adjust.
	* testsuite/30_threads/packaged_task/members/invoke3.cc: Adjust.
	* testsuite/30_threads/packaged_task/members/invoke4.cc: Adjust.
	* testsuite/30_threads/packaged_task/members/reset.cc: Adjust.
	* testsuite/30_threads/packaged_task/members/reset2.cc: Adjust.
	* testsuite/30_threads/shared_future/cons/assign_neg.cc: Remove.
	* testsuite/30_threads/shared_future/cons/default_neg.cc: Remove.
	* testsuite/30_threads/shared_future/cons/default.cc: New.
	* testsuite/30_threads/shared_future/cons/assign.cc: New.
	* testsuite/30_threads/shared_future/cons/copy.cc: Adjust.
	* testsuite/30_threads/shared_future/cons/move.cc: Adjust.
	* testsuite/30_threads/shared_future/cons/move_assign.cc: New.
	* testsuite/30_threads/shared_future/members/is_ready.cc: Remove.
	* testsuite/30_threads/shared_future/members/has_value.cc: Remove.
	* testsuite/30_threads/shared_future/members/has_exception.cc: Remove.
	* testsuite/30_threads/shared_future/members/valid.cc: New.
	* testsuite/30_threads/unique_future/cons/default_neg.cc: Remove.
	* testsuite/30_threads/unique_future/cons/default.cc: New.
	* testsuite/30_threads/unique_future/cons/move_assign.cc: New.
	* testsuite/30_threads/unique_future/cons/assign_neg.cc: Adjust.
	* testsuite/30_threads/unique_future/cons/copy_neg.cc: Adjust.
	* testsuite/30_threads/unique_future/cons/move.cc: Adjust.
	* testsuite/30_threads/unique_future/requirements/
        explicit_instantiation.cc: Adjust.
	* testsuite/30_threads/unique_future/members/is_ready.cc: Remove.
	* testsuite/30_threads/unique_future/members/has_value.cc: Remove.
	* testsuite/30_threads/unique_future/members/has_exception.cc: Remove.
	* testsuite/30_threads/unique_future/members/valid.cc: New.
	* testsuite/30_threads/unique_future/members/get.cc: Adjust.
	* testsuite/30_threads/unique_future/members/get2.cc: Adjust.
	* testsuite/30_threads/unique_future/members/wait.cc: Adjust.
	* testsuite/30_threads/unique_future/members/wait_for.cc: Adjust.
	* testsuite/30_threads/unique_future/members/wait_until.cc: Adjust.
	* testsuite/30_threads/headers/future/types_std_c++0x.cc: Adjust.
	* testsuite/30_threads/promise/cons/alloc.cc: New.
	* testsuite/30_threads/promise/cons/assign_neg.cc: Adjust.
	* testsuite/30_threads/promise/cons/copy_neg.cc: Adjust.
	* testsuite/30_threads/promise/cons/move.cc: Adjust.
	* testsuite/30_threads/promise/cons/move_assign.cc: Adjust.
	* testsuite/30_threads/promise/members/get_future.cc: Adjust.
	* testsuite/30_threads/promise/members/set_value.cc: Adjust.
	* testsuite/30_threads/promise/members/set_exception.cc: Adjust.
	* testsuite/30_threads/promise/members/set_exception2.cc: Adjust.
	* testsuite/30_threads/promise/members/set_value2.cc: Adjust.
	* testsuite/30_threads/promise/members/set_value3.cc: Adjust.
	* testsuite/30_threads/promise/members/swap.cc: Adjust.

From-SVN: r156097
2010-01-21 00:01:47 +00:00
Johannes Singler 70202e48b6 re PR libstdc++/42712 (search_n/iterator.cc times out in parallel-mode)
2010-01-19  Johannes Singler  <singler@kit.edu>

        PR libstdc++/42712
        * include/parallel/settings.h (_Settings): Add search_minimal_n.
        * include/parallel/algo.h (__search_switch):
        Add serial fallback for too small inputs.
        (__search_n_switch): Likewise.  Call serial fallback on higher level
        to gain special treatment for __count 0 or 1.
        * testsuite/25_algorithms/search_n/iterator.cc:
        Reenable full test depth for parallel mode.

From-SVN: r156036
2010-01-19 11:18:03 +00:00
Daniel Frey 0238e6c9f2 functional (_Bind<_Functor(_Bound_args...)>:: operator()): "Pass" _Result to __call*.
2010-01-18  Daniel Frey  <d.frey@gmx.de>

	* include/std/functional (_Bind<_Functor(_Bound_args...)>::
	operator()): "Pass" _Result to __call*.
	(_Bind<_Functor(_Bound_args...)>::__call*): Adjust, simplify.

From-SVN: r156007
2010-01-18 10:41:30 +00:00
Johannes Singler 4d62f1d022 base.h (__unary_negate): Correct comment.
2010-01-18  Johannes Singler  <singler@kit.edu>

        * include/parallel/base.h (__unary_negate): Correct comment.

From-SVN: r156003
2010-01-18 08:44:45 +00:00
Paolo Carlini 8232dc6427 functional (_Bind<_Functor(_Bound_args...)>::__call): Rename const version to __call_c and remove _Sfinae template parameter.
2010-01-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/functional (_Bind<_Functor(_Bound_args...)>::__call):
	Rename const version to __call_c and remove _Sfinae template
	parameter.
	(_Bind<_Functor(_Bound_args...)>::operator()): Adjust.

	* include/std/functional: Pass everywhere temporary tuple<_Args...>
	arguments by rvalue reference. 

	* testsuite/20_util/bind/cv_quals.cc: New.

	* testsuite/20_util/bind/ref2.cc: Add missing test variables.

From-SVN: r155978
2010-01-17 13:29:41 +00:00
Paolo Carlini 5f3e3df666 cstring (memchr): Forward to the builtin.
2010-01-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_std/cstring (memchr): Forward to the builtin.
	* include/c_std/cstring: Remove redundant casts; use names consistent
	with the letter of the Standard.
	* include/c_global/cstring: Likewise.

From-SVN: r155912
2010-01-14 18:15:37 +00:00
Benjamin Kosnik 2a2ace66e9 iterator_tracker.h: Add copyright.
2010-01-13  Benjamin Kosnik  <bkoz@redhat.com>

	* include/profile/iterator_tracker.h: Add copyright.

From-SVN: r155864
2010-01-13 18:31:25 +00:00
Benjamin Kosnik a2edd3e945 run_doxygen: Correct nested scope on the man pages.
2010-01-07  Benjamin Kosnik  <bkoz@redhat.com>

	* scripts/run_doxygen: Correct nested scope on the man pages.
	* doc/xml/faq.xml: Edits, linkcheck, doxygen link reassociate.
	* doc/xml/manual/mt_allocator.xml: Same.
	* doc/xml/manual/allocator.xml: Same.
	* doc/xml/manual/codecvt.xml: Same.
	* doc/xml/manual/backwards_compatibility.xml: Same.
	* doc/xml/manual/concurrency.xml: Same.
	* doc/xml/manual/parallel_mode.xml: Same.
	* doc/xml/manual/io.xml: Same.
	* doc/xml/manual/support.xml: Same.
	* doc/xml/manual/evolution.xml: Same.
	* doc/xml/manual/using.xml: Same.
	* doc/xml/manual/extensions.xml: Same.
	* doc/xml/manual/appendix_contributing.xml: Same.
	* doc/xml/manual/prerequisites.xml: Same.
	* doc/xml/manual/diagnostics.xml: Same.
	* doc/xml/manual/spine.xml: Same.
	* doc/xml/manual/status_cxx200x.xml: Same.
	* doc/xml/manual/test.xml: Same.
	* doc/xml/spine.xml: Same.
	* doc/html/*: Regenerate.

	* include/profile/impl/profiler.h: Remove duplicate markup.

From-SVN: r155827
2010-01-12 01:37:06 +00:00
Jonathan Wakely d90d97ff9c re PR libstdc++/24803 ([c++0x] reference_wrapper and pointers to member functions)
2010-01-12  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/24803
	PR libstdc++/35569
	PR libstdc++/42593
	* include/std/functional (bind): Forward rvalues and detect correct
	result type of bound function object.
	* include/std/mutex (call_once): Specify bind result type.
	* testsuite/20_util/reference_wrapper/invoke.cc: Remove invalid tests.
	* testsuite/20_util/reference_wrapper/24803.cc: Remove invalid tests
	and enable FIXME tests.
	* testsuite/20_util/bind/35569.cc: New.
	* testsuite/20_util/bind/ref2.cc: New.
	* testsuite/20_util/bind/38889.cc: New.
	* testsuite/20_util/bind/ref_neg.cc: New.
	* testsuite/20_util/bind/42593.cc: New.

From-SVN: r155826
2010-01-12 00:53:30 +00:00
Paolo Carlini 31380bc4c5 base.h (decode2): Rename to __decode2.
2010-01-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/parallel/base.h (decode2): Rename to __decode2.
	(binder2nd): Likewise to __binder2nd.
	* include/parallel/quicksort.h: Adjust callers.
	* include/parallel/balanced_quicksort.h: Likewise.
	* include/parallel/partition.h: Likewise.
	* include/parallel/queue.h: Likewise.

	* include/parallel/algo.h: Qualify with std:: binder2nd use.

From-SVN: r155825
2010-01-12 00:51:50 +00:00
Paolo Carlini 8b6f089bcb string (basic_string<>::basic_string(basic_string&&), [...]): Add.
2010-01-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/string (basic_string<>::basic_string(basic_string&&),
	operator=(basic_string&&), assign(basic_string&&)): Add.

	* include/debug/string: Fully qualify initializer_list with std; fix
	_Allocator misspellings as _Alloc.

From-SVN: r155790
2010-01-10 16:15:58 +00:00
Paolo Carlini 10154e0d52 basic_string.h (basic_string<>:: basic_string(basic_string&&), [...]): Add.
2010-01-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/basic_string.h (basic_string<>::
	basic_string(basic_string&&), operator=(basic_string&&),
	assign(basic_string&&)): Add.
	* config/abi/pre/gnu.ver: Export new symbols.
	* include/ext/vstring.h (__versa_string<>::assign(__versa_string&&)):
	Add.
	(operator=(__versa_string&&)): Don't call clear unnecessarily.
	* include/ext/rc_string_base.h (__rc_string_base<>::
	__rc_string_base(__rc_string_base&&)): Simplify a tad.
	* testsuite/21_strings/basic_string/cons/char/moveable.cc: New.
	* testsuite/21_strings/basic_string/cons/wchar_t/moveable.cc: Likewise.
	* testsuite/ext/vstring/assign/move_assign.cc: Likewise.
	* testsuite/21_strings/basic_string/assign/char/move_assign.cc:
	Likewise.
	* testsuite/21_strings/basic_string/assign/wchar_t/move_assign.cc:
	Likewise.

From-SVN: r155788
2010-01-10 13:38:47 +00:00
Silvius Rus a1360f5702 libstdc++ profile mode bug fixes and minor updates
From-SVN: r155786
2010-01-10 08:25:23 +00:00
Paolo Carlini 0462fd5e01 set.h: Revert last change, per DR 1204 [Ready]; mention the latter in comment.
2010-01-09  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/set.h: Revert last change, per DR 1204 [Ready];
	mention the latter in comment.
	* include/debug/unordered_map: Likewise.
 	* include/debug/multiset.h: Likewise.
 	* include/debug/vector: Likewise.
	* include/debug/unordered_set: Likewise.
	* include/debug/deque: Likewise.
	* include/debug/map.h: Likewise.
	* include/debug/list: Likewise.
	* include/debug/multimap.h: Likewise.
	* include/tr1_impl/unordered_map: Likewise.
	* include/tr1_impl/unordered_set: Likewise.
	* include/profile/set.h: Likewise.
	* include/profile/unordered_map: Likewise.
	* include/profile/multiset.h: Likewise.
	* include/profile/unordered_set: Likewise.
	* include/profile/vector: Likewise.
	* include/profile/deque: Likewise.
	* include/profile/map.h: Likewise.
	* include/profile/list: Likewise.
	* include/profile/multimap.h: Likewise.
	* include/ext/vstring.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_deque.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.

	* include/bits/forward_list.h: Remove pre-existing check.
	* include/ext/vstring.h: Likewise.

	* testsuite/ext/vstring/cons/self_move_assign.cc: Remove.
	* testsuite/23_containers/unordered_map/cons/self_move_assign.cc:
	Likewise.
	* testsuite/23_containers/multimap/cons/self_move_assign.cc: Likewise.
	* testsuite/23_containers/set/cons/self_move_assign.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/cons/
	self_move_assign.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/self_move_assign.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/cons/self_move_assign.cc:
	Likewise.
 	* testsuite/23_containers/vector/cons/self_move_assign.cc: Likewise.
	* testsuite/23_containers/deque/cons/self_move_assign.cc: Likewise.
	* testsuite/23_containers/multiset/cons/self_move_assign.cc: Likewise.
	* testsuite/23_containers/list/cons/self_move_assign.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/cons/
	self_move_assign.cc: Likewise.
	* testsuite/23_containers/map/cons/self_move_assign.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.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
	Likewise.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	assign_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r155756
2010-01-09 11:16:42 +00:00
Paolo Carlini 6b592ab357 set.h: Protect move assignment operator vs self assignment.
2010-01-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/set.h: Protect move assignment operator vs self
	assignment.
	* include/debug/unordered_map: Likewise.
 	* include/debug/multiset.h: Likewise.
 	* include/debug/vector: Likewise.
	* include/debug/unordered_set: Likewise.
	* include/debug/deque: Likewise.
	* include/debug/map.h: Likewise.
	* include/debug/list: Likewise.
	* include/debug/multimap.h: Likewise.
	* include/tr1_impl/unordered_map: Likewise.
	* include/tr1_impl/unordered_set: Likewise.
	* include/profile/set.h: Likewise.
	* include/profile/unordered_map: Likewise.
	* include/profile/multiset.h: Likewise.
	* include/profile/unordered_set: Likewise.
	* include/profile/vector: Likewise.
	* include/profile/deque: Likewise.
	* include/profile/map.h: Likewise.
	* include/profile/list: Likewise.
	* include/profile/multimap.h: Likewise.
	* include/ext/vstring.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_deque.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/ext/vstring.h: Use clear(). 
	* testsuite/ext/vstring/cons/self_move_assign.cc: New.
	* testsuite/23_containers/unordered_map/cons/self_move_assign.cc:
	Likewise.
	* testsuite/23_containers/multimap/cons/self_move_assign.cc: Likewise.
	* testsuite/23_containers/set/cons/self_move_assign.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/cons/
	self_move_assign.cc: Likewise.
	* testsuite/23_containers/forward_list/cons/self_move_assign.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/cons/self_move_assign.cc:
	Likewise.
 	* testsuite/23_containers/vector/cons/self_move_assign.cc: Likewise.
	* testsuite/23_containers/deque/cons/self_move_assign.cc: Likewise.
	* testsuite/23_containers/multiset/cons/self_move_assign.cc: Likewise.
	* testsuite/23_containers/list/cons/self_move_assign.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/cons/
	self_move_assign.cc: Likewise.
	* testsuite/23_containers/map/cons/self_move_assign.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.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
	Likewise.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Likewise.

	* testsuite/ext/vstring/moveable.cc: Move to...
	* testsuite/ext/vstring/cons/moveable.cc: ... here.
	* testsuite/23_containers/unordered_map/moveable.cc: Move to...
	* testsuite/23_containers/unordered_map/cons/moveable.cc ... here.
	* testsuite/23_containers/multimap/moveable.cc: Move to...
	* testsuite/23_containers/multimap/cons/moveable.cc: ... here.
	* testsuite/23_containers/set/moveable.cc: Move to...
	* testsuite/23_containers/set/cons/moveable.cc: ... here.
	* testsuite/23_containers/unordered_multimap/moveable.cc: Move to...
	* testsuite/23_containers/unordered_multimap/cons/moveable.cc:
	... here.
	* testsuite/23_containers/forward_list/moveable.cc: Move to...
	* testsuite/23_containers/forward_list/cons/moveable.cc: ... here.
	* testsuite/23_containers/unordered_set/moveable.cc Move to...
	* testsuite/23_containers/unordered_set/moveable.cc: ... here.
	* testsuite/23_containers/vector/cons/moveable.cc Move to...
	* testsuite/23_containers/vector/cons/moveable2.cc: ... this.
	* testsuite/23_containers/deque/cons/moveable.cc Move to...
	* testsuite/23_containers/deque/cons/moveable2.cc: ... this.
	* testsuite/23_containers/multiset/moveable.cc Move to...
	* testsuite/23_containers/multiset/cons/moveable.cc: ... here.
	* testsuite/23_containers/list/moveable.h Move to...
	* testsuite/23_containers/list/cons/moveable.h: ... here.
	* testsuite/23_containers/list/moveable.cc Move to...
	* testsuite/23_containers/list/cons/moveable.cc: ... here.
	* testsuite/23_containers/unordered_multiset/moveable.cc Move to...
	* testsuite/23_containers/unordered_multiset/cons/moveable.cc:
	... here.
	* testsuite/23_containers/map/moveable.cc Move to...
	* testsuite/23_containers/map/cons/moveable.cc: ... here.
	* testsuite/23_containers/vector/moveable.cc: Move to...
	* testsuite/23_containers/vector/cons/moveable.cc: ... here.
	* testsuite/23_containers/deque/moveable.cc: Move to...
	* testsuite/23_containers/deque/cons/moveable.cc: ... here.

From-SVN: r155754
2010-01-09 02:49:53 +00:00
Paolo Carlini 79667f82ad re PR libstdc++/42573 ([C++0x] shrink_to_fit() missing)
2010-01-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42573
	* include/bits/allocator.h (struct __shrink_to_fit): Add.
	* include/bits/stl_deque.h (deque<>::shrink_to_fit): Add.
	* include/bits/stl_vector.h (vector<>::shrink_to_fit): Likewise.
	* include/bits/stl_bvector.h (vector<bool>::shrink_to_fit): Likewise.
	* include/bits/basic_string.h (basic_string<>::shrink_to_fit):
	Likewise.
	* include/ext/vstring.h (__versa_string<>::shrink_to_fit): Likewise.
	* include/debug/deque: Add corresponding using declaration.
	* include/debug/vector: Likewise.
	* include/debug/string: Likewise.
	* include/profile/deque: Likewise.
	* include/profile/vector: Likewise.
	* config/abi/pre/gnu.ver: Export new symbols.
	* testsuite/23_containers/deque/capacity/shrink_to_fit.cc: New.
	* testsuite/23_containers/vector/capacity/shrink_to_fit.cc: Likewise.
	* testsuite/21_strings/basic_string/capacity/char/shrink_to_fit.cc:
	Likewise.
	* testsuite/21_strings/basic_string/capacity/wchar_t/shrink_to_fit.cc:
	Likewise.
	* testsuite/ext/vstring/capacity/shrink_to_fit.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.
	* 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/vector/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r155733
2010-01-08 13:01:24 +00:00
Paolo Carlini 3095eb8e4c locale_facets_nonio.tcc (time_put<>::do_put): Avoid pointless __builtin_alloca use.
2010-01-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/locale_facets_nonio.tcc (time_put<>::do_put): Avoid
	pointless __builtin_alloca use.

From-SVN: r155697
2010-01-07 17:20:45 +00:00
Paolo Carlini 2e8e6a99ee re PR libstdc++/26701 (std::time_get parses only 2 digits of year, in en_GB locale.)
2010-01-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/26701
	* include/bits/locale_facets_nonio.tcc (time_get<>::_M_extract_num):
	Encode short two digits over four parsings to negative numbers.
	(time_get<>::_M_extract_via_format): Adjust, accept both two digits
	and four digits for both 'y' and 'Y'.
	(time_get<>::do_get_year): Call time_get<>::_M_extract_num.
	* doc/xml/manual/prerequisites.xml: Add en_GB.
	* testsuite/lib/libstdc++.exp: Adjust
	* testsuite/22_locale/time_get/get_date/char/26701.cc: New.
	* testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.

From-SVN: r155685
2010-01-07 00:22:51 +00:00
Paolo Carlini ac2bb43770 re PR libstdc++/38081 (time_get<>::do_get_weekday does not always recognize full names of weekdays)
2010-01-05  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/38081
	* include/bits/locale_facets_nonio.h (time_get<>::
	_M_extract_wday_or_month): New, declare.
	* include/bits/locale_facets_nonio.tcc (time_get<>::
	_M_extract_wday_or_month): Define.
	(time_get<>::do_get_weekday, time_get<>::do_get_monthname): Use it.
	* config/abi/pre/gnu.ver: Export new symbols.
	* doc/xml/manual/prerequisites.xml: Add ru_RU.UTF-8 and
	ru_RU.ISO-8859-5.
	* testsuite/lib/libstdc++.exp: Adjust.
	* testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: New.
	* testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.

From-SVN: r155659
2010-01-05 20:05:20 +00:00
Paolo Carlini ab1c1187c3 list: Implement DR 1133 here too.
2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/list: Implement DR 1133 here too.

	* testsuite/25_algorithms/set_intersection/34730.cc: Do not force
	debug-mode, leads to spurious failures in profile-mode.
	* testsuite/25_algorithms/upper_bound/33613.cc: Likewise.
	* testsuite/25_algorithms/lower_bound/33613.cc: Likewise.
	* testsuite/25_algorithms/set_difference/35541.cc: Likewise.
	* testsuite/21_strings/basic_string/40160.cc: Likewise.
	* testsuite/23_containers/unordered_map/requirements/debug_mode.cc:
	Likewise.
	* testsuite/23_containers/multimap/14340.cc: Likewise.
	* testsuite/23_containers/bitset/18604.cc: Likewise.
	* testsuite/23_containers/set/14340.cc: Likewise.
	* testsuite/23_containers/set/18604.cc: Likewise.
	* testsuite/23_containers/unordered_set/requirements/
	debug_mode.cc: Likewise.
	* testsuite/23_containers/vector/
	debug_mode_requires_reallocation-1.cc: Likewise.
	* testsuite/23_containers/vector/
	debug_mode_requires_reallocation-2.cc: Likewise.
	* testsuite/23_containers/vector/14340.cc: Likewise.
	* testsuite/23_containers/vector/15523.cc: Likewise.
	* testsuite/23_containers/vector/18604.cc: Likewise.
	* testsuite/23_containers/deque/14340.cc: Likewise.
	* testsuite/23_containers/deque/18604.cc: Likewise.
	* testsuite/23_containers/multiset/14340.cc: Likewise.
	* testsuite/23_containers/list/operations/35969.cc: Likewise.
	* testsuite/23_containers/list/14340.cc: Likewise.
	* testsuite/23_containers/list/18604.cc: Likewise.
	* testsuite/23_containers/map/14340.cc: Likewise.
	* testsuite/23_containers/map/18604.cc: Likewise.

	* testsuite/26_numerics/random/uniform_real_distribution/
	cons/parms_neg.cc: Remove, isn't testing anything.
	* testsuite/26_numerics/random/uniform_int_distribution/
	cons/parms_neg.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/random/uniform_int/
	cons/range_neg.cc: Likewise.

	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation/2.cc: Do not instantiate for
	non-defaultconstructible mapped_type.

From-SVN: r155603
2010-01-04 01:58:21 +00:00
Paolo Carlini 5ab06c6dfe set.h: Implement DR 130 here too.
2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/set.h: Implement DR 130 here too.
	* include/debug/multiset.h: Likewise.
	* include/debug/map.h: Likewise.
	* include/debug/multimap.h: Likewise.
	* include/profile/set.h: Implement DR 130 fully.
	* include/profile/multiset.h: Likewise.
	* include/profile/map.h: Likewise.
	* include/profile/multimap.h: Likewise.
	* include/debug/list: Implement DR 1133 here too.
	* include/ext/pb_ds/detail/debug_map_base.hpp: Comment out for
	now uses of __gnu_cxx::throw_allocator.
	* testsuite/21_strings/basic_string/40160.cc: Don't pass
	explicitly -D_GLIBCXX_DEBUG, doesn't play well with profile-mode
	testing.

From-SVN: r155594
2010-01-03 20:30:28 +00:00
Paolo Carlini eb07a8f567 bitset (bitset<>::bitset(unsigned long long)): Add in C++0x mode.
2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/profile/bitset (bitset<>::bitset(unsigned long long)): Add
	in C++0x mode.
	* include/debug/bitset (bitset<>::bitset(unsigned long long)): 
	Likewise.

From-SVN: r155589
2010-01-03 16:17:44 +00:00
Paolo Carlini 5004040e8d hashtable (_Hashtable<>): Remove insert_return_type typedef.
2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1_impl/hashtable (_Hashtable<>): Remove insert_return_type
	typedef.
	* include/profile/unordered_map (unordered_map<>::insert(const
	value_type&), unordered_multimap<>::insert(const value_type&)): Adjust.
	* include/profile/unordered_set (unordered_set<>::insert(const
	value_type&), unordered_multimap<>::insert(const value_type&)):
	Likewise.

From-SVN: r155587
2010-01-03 14:50:09 +00:00
Paolo Carlini a8685e159e stl_pair.h (pair<>::pair(_U1&&, const _T2&), [...]): Use std::is_constructible instead of std::is_convertible.
2010-01-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_pair.h (pair<>::pair(_U1&&, const _T2&),
	pair<>::pair(const _T1&, _U2&&), pair<>::pair(_U1&&, _U2&&)):
	Use std::is_constructible instead of std::is_convertible.

From-SVN: r155585
2010-01-03 12:06:59 +00:00
Benjamin Kosnik 3c0f2830ac PR libstdc++/21772 part 3
2009-12-31  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/21772 part 3
	* include/ext/throw_allocator.h: Add _GLIBCXX_IS_AGGREGATE.
	* testsuite/util/testsuite_container_traits.h (traits<std::map>):
	Add has_insert.
	(traits<std::multimap>): Add has_insert.
	(traits<std::multiset>): Add has_size_type_constructor.
	* testsuite/23_containers/array/requirements/exception/
	generation_prohibited.cc: New.
	* testsuite/21_strings/basic_string/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.
	* testsuite/ext/vstring/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.
	* testsuite/23_containers/unordered_map/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.
	* testsuite/23_containers/multimap/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.
	* testsuite/23_containers/set/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.
	* testsuite/23_containers/unordered_multimap/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.
	* testsuite/23_containers/forward_list/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.
	* testsuite/23_containers/unordered_set/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.
	* testsuite/23_containers/vector/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.
	* testsuite/23_containers/deque/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.
	* testsuite/23_containers/multiset/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.
	* testsuite/23_containers/unordered_multiset/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.
	* testsuite/23_containers/map/requirements/exception/
	basic.cc: New.
	generation_prohibited.cc: New.
	propagation_consistent.cc: New.

From-SVN: r155545
2010-01-01 03:38:58 +00:00
Paolo Carlini 0d6f2a8037 bitset (bitset<>::bitset(unsigned long long), [...]): Add in C++0x mode.
2009-12-31  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/bitset (bitset<>::bitset(unsigned long long),
	_Base_bitset<>::_Base_bitset(unsigned long long)): Add
	in C++0x mode.
	* testsuite/23_containers/bitset/cons/3.cc: New.

From-SVN: r155539
2009-12-31 17:31:28 +00:00
Paolo Carlini 4b3d7a7e92 type_traits: Fix minor stylistic nit.
2009-12-31  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits: Fix minor stylistic nit.

From-SVN: r155537
2009-12-31 14:38:01 +00:00
Paolo Carlini b0302c68d8 type_traits (__is_constructible_helper1): Rename to __is_constructible_helper1...
2009-12-31  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (__is_constructible_helper1): Rename
	to __is_constructible_helper1, tweaked to a specialization of
	__is_constructible_helper.
	(is_constructible): Adjust; minor formatting and stylistic
	changes throughout.
	* testsuite/util/testsuite_tr1.h (test_relationship): Change
	variadic version to an overload of test_property.
	* testsuite/20_util/is_constructible/value.cc: Adjust.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Adjust dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r155536
2009-12-31 14:04:23 +00:00
Paolo Carlini 56a01d53bb type_traits: Fix minor formatting nit.
2009-12-30  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits: Fix minor formatting nit.

From-SVN: r155530
2009-12-30 23:37:28 +00:00
Paolo Carlini 75995f3782 [multiple changes]
2009-12-30  Daniel Frey  <d.frey@gmx.de>
	    Paolo Carlini  <paolo.carlini@oracle.com>  

	* include/std/type_traits (is_explicitly_convertible,
	is_constructible): Add.
	* testsuite/util/testsuite_tr1.h (ExplicitClass): Add.
	* testsuite/20_util/is_explicitly_convertible/value.cc: New.
	* testsuite/20_util/is_constructible/value.cc: Likewise.

2009-12-30  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_tr1.h (test_relationship): Add
	variadic version.
	* testsuite/20_util/is_explicitly_convertible/requirements/
	typedefs.cc: New.
	* testsuite/20_util/is_explicitly_convertible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_constructible/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_constructible/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_convertible/value.cc: Extend.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Adjust dg-error line numbers.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r155529
2009-12-30 23:22:58 +00:00
Paolo Carlini 0ac3a9af09 stl_iterator.h.: Fix typo in comment.
2009-12-30  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_iterator.h.: Fix typo in comment.

From-SVN: r155517
2009-12-30 10:34:41 +00:00
Edward Smith-Rowland 53bc54ecc0 random.h: Fix equation in comment of Weibull distro.
2009-12-29  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* include/bits/random.h: Fix equation in comment of Weibull distro.

From-SVN: r155515
2009-12-30 02:08:23 +00:00
Paolo Carlini 700d289947 bitset (bitset<>::to_ullong, [...]): Add.
2009-12-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/bitset (bitset<>::to_ullong, _M_do_to_ullong): Add.
	(_Base_bitset<>::_M_do_to_ullong): Add.
	* include/debug/bitset (bitset<>): Add using _Base::to_ullong.
	* include/profile/bitset (bitset<>): Likewise.
	* testsuite/23_containers/bitset/to_ullong/1.cc: New.

From-SVN: r155504
2009-12-29 12:24:36 +00:00
Paolo Carlini 2838468cc3 bitset (bitset<>::bitset(const char*)): Add.
2009-12-28  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/bitset (bitset<>::bitset(const char*)): Add.
	* include/profile/bitset (bitset<>::bitset(const char*)): Likewise.

From-SVN: r155498
2009-12-29 00:29:12 +00:00
Paolo Carlini a1b418cb9f [multiple changes]
2009-12-24  Edward Smith-Rowland  <3dw4rd@verizon.net>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/bitset (bitset<>::bitset(const char*)): Add.

2009-12-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
	    Edward Smith-Rowland  <3dw4rd@verizon.net>

	* testsuite/23_containers/bitset/cons/2.cc: New.

From-SVN: r155458
2009-12-24 18:12:02 +00:00
Jonathan Wakely c5a2375241 functional (bind): Avoid invalid instantiations for bind<void>.
2009-12-24  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/functional (bind): Avoid invalid instantiations
	for bind<void>.
	* testsuite/20_util/bind/conv_result.cc: New.

From-SVN: r155457
2009-12-24 14:54:33 +00:00
Paolo Carlini 0800b8ea79 stl_deque.h (copy_backward(_Deque_iterator, _Deque_iterator, _Deque_iterator), [...]): Declare.
2009-12-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_deque.h (copy_backward(_Deque_iterator,
	_Deque_iterator, _Deque_iterator), move_backward(_Deque_iterator,
	_Deque_iterator, _Deque_iterator)): Declare.
	* include/bits/deque.tcc: Implement the latter.
	* testsuite/performance/25_algorithms/
	copy_backward_deque_iterators.cc: New.
	* testsuite/25_algorithms/move_backward/deque_iterators/1.cc: Likewise.
	* testsuite/25_algorithms/copy_backward/deque_iterators/1.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.
	* 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.

From-SVN: r155455
2009-12-24 12:47:37 +00:00
Paolo Carlini e2bf200700 stl_deque.h (copy(_Deque_iterator, _Deque_iterator, _Deque_iterator), [...]): Declare.
2009-12-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_deque.h (copy(_Deque_iterator, _Deque_iterator,
	_Deque_iterator), move(_Deque_iterator, _Deque_iterator,
	_Deque_iterator)): Declare.
	* include/bits/deque.tcc: Implement the latter.
	* testsuite/performance/25_algorithms/copy_deque_iterators.cc: New.
	* testsuite/25_algorithms/move/2.cc: Likewise.
	* testsuite/25_algorithms/copy/5.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.
	* 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.

From-SVN: r155432
2009-12-23 17:14:15 +00:00
Jonathan Wakely 6be8006d35 mutex (call_once(once_flag&, _Callable, _Args&&...)): Explicitly qualify with std:: bind calls.
2009-12-22  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/mutex (call_once(once_flag&, _Callable, _Args&&...)):
	Explicitly qualify with std:: bind calls.

From-SVN: r155397
2009-12-22 12:45:12 +00:00
Benjamin Kosnik afd88205d8 atomic: Update to N3000.
2009-12-20  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/atomic: Update to N3000.
	* include/bits/atomic_0.h: Same.
	* include/bits/atomic_2.h: Same.
	* include/c_global/cstdatomic: Move...
	* include/bits/atomic_base.h: ...here.
	* include/c_compatibility/stdatomic.h: Just include atomic_base.h.
	* include/precompiled/stdc++.h: Adjust includes.
	* include/Makefile.am: Adjust files.
	* include/Makefile.in: Regenerate.
	* include/std/future: Adjust.
	* src/atomic.cc: Adjust, adjust exports for compatibility.
	* src/compatibility.cc: Move C++0x stuff...
	* src/compatibility-c++0x.cc: ...here.

	* doc/xml/manual/using.xml: Update.
	* doc/xml/manual/status_cxx200x.xml: Update.
	* doc/doxygen/user.cfg.in: Update.

	* testsuite/29_atomics/atomic_address/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic_address/cons/single_value.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_address/requirements/
	standard_layout.cc: Same.
	* testsuite/29_atomics/atomic_address/requirements/trivial.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/single_value.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/default.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/copy_list.cc: Same.
	* testsuite/29_atomics/atomic_integral/cons/direct_list.cc: Same.
	* testsuite/29_atomics/atomic_integral/requirements/
	standard_layout.cc: Same.
	* testsuite/29_atomics/atomic_integral/requirements/trivial.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/increment_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/
	integral_assignment.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/increment.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/bitwise.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/decrement.cc: Same.
	* testsuite/29_atomics/atomic_integral/operators/
	integral_conversion.cc: 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/
	standard_layout.cc: Same.
	* testsuite/29_atomics/atomic_flag/requirements/trivial.cc: Same.
	* testsuite/29_atomics/atomic_flag/clear/1.cc: Same.
	* testsuite/29_atomics/atomic_flag/test_and_set/explicit.c
	* testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Same.
	* testsuite/29_atomics/atomic_flag/test_and_set/implicit.c
	* testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Same.
	* testsuite/29_atomics/headers/stdatomic.h/functions.c
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/single_value.cc: Same.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.
	* testsuite/29_atomics/atomic/cons/default.cc: Same.
	* testsuite/29_atomics/atomic/cons/copy_list.cc: Same.
	* testsuite/29_atomics/atomic/cons/direct_list.cc: Same.
	* testsuite/29_atomics/atomic/requirements/explicit_instantiation/
	1.cc: Same.
	* testsuite/29_atomics/atomic/requirements/base_classes.cc: Same.
	* testsuite/29_atomics/atomic/operators/integral_assignment.cc: Same.
	* testsuite/29_atomics/atomic/operators/integral_conversion.cc: Same.
	* testsuite/util/testsuite_common_types.h: Adjust.

	* testsuite/29_atomics/headers/cstdatomic: Move and adjust...
	* testsuite/29_atomics/headers/atomic: ...here.
	* testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Same.
	* testsuite/29_atomics/headers/atomic/functions_std_c++0x.cc: Same.
	* testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Same.
	* testsuite/29_atomics/headers/atomic/macros.cc: Same.

	* testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc: Add.
	* testsuite/29_atomics/atomic/cons/user_pod.cc: Add.

From-SVN: r155377
2009-12-21 19:00:34 +00:00
Paolo Carlini a957d12f7a condition_variable: Revert inadvertent changes.
2009-12-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/condition_variable: Revert inadvertent changes.
	* testsuite/30_threads/condition_variable/cons/assign_neg.cc: Ditto.
	* testsuite/30_threads/condition_variable/cons/copy_neg.cc: Ditto.
	* testsuite/30_threads/condition_variable/members/1.cc: Ditto.
	* testsuite/30_threads/condition_variable/members/2.cc: Ditto.
	* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Ditto.
	* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc: Ditto.

From-SVN: r155343
2009-12-18 09:44:54 +00:00
Jimmy Guo 4ef8972563 re PR libstdc++/40088 (Creating a std::ostringstream object locks a global mutex)
2009-12-18  Jimmy Guo  <jguo@yahoo-inc.com>

	PR libstdc++/40088
	* src/locale_init.cc (locale::locale()): Optimize the common case
	where _S_global still points to _S_classic.

From-SVN: r155342
2009-12-18 09:41:03 +00:00
Benjamin Kosnik 861de21eb2 PR libstdc++/21772 part 1
2009-12-15  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/21772 part 1
	* include/ext/throw_allocator.h: Rework.
	(__gnu_cxx::throw_allocator): To...
	(__gnu_cxx::throw_allocator_limit): ...this.
	(__gnu_cxx::throw_allocator_random): ...and this.
	(throw_value_base, throw_value_limit, throw_value_random): Add.
	(condition_base, random_condition, limit_condition): Add.
	(forced_exception_error): To...
	(forced_error): ...this.
	* testsuite/ext/throw_value: New.
	* testsuite/ext/throw_value/cons.cc: New.
	* testsuite/ext/throw_allocator/deallocate_global.cc: Adjust for
	throw_allocator, forced_exception_error changes.
	* testsuite/ext/throw_allocator/check_delete.cc: Same.
	* testsuite/ext/throw_allocator/check_allocate_max_size.cc: Same.
	* testsuite/ext/throw_allocator/check_deallocate_null.cc: Same.
	* testsuite/ext/throw_allocator/explicit_instantiation.cc: Same.
	* testsuite/ext/throw_allocator/check_new.cc: Same.
	* testsuite/ext/throw_allocator/variadic_construct.cc: Same.
	* testsuite/ext/throw_allocator/deallocate_local.cc: Same.
	* testsuite/23_containers/list/modifiers/insert/25288.cc: Same.
	* testsuite/23_containers/list/modifiers/insert/25288.h: Same.
	* testsuite/util/regression/common_type.hpp: Same.
	* testsuite/util/regression/rand/priority_queue/
	container_rand_regression_test.tcc: Same.
	* testsuite/util/regression/rand/assoc/
	container_rand_regression_test.h: Same.
	* testsuite/util/regression/rand/assoc/
	container_rand_regression_test.tcc: Same.
	* testsuite/util/regression/basic_type.hpp: Same.

	* testsuite/ext/forced_exception_error/cons_virtual_derivation.cc: To...
	* testsuite/ext/forced_error/cons_virtual_derivation.cc: ...this, same.

From-SVN: r155283
2009-12-16 05:16:46 +00:00
Paolo Carlini 465d76b735 re PR libstdc++/42381 (deque shouldn't reserve that much memory)
2009-12-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libsdtc++/42381
	* include/bits/stl_deque.h (_GLIBCXX_DEQUE_BUF_SIZE): Add.
	(__deque_buf_size(size_t)): Use it.
	* 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.

From-SVN: r155271
2009-12-15 20:58:29 +00:00
Jonathan Wakely abcd7e0847 future (unique_future::get, [...]): Remove workaround for c++/34022.
2009-12-15  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/future (unique_future::get, promise::set_value): Remove
	workaround for c++/34022.
	(packaged_task::get_future, packaged_task::operator()): Use
	__throw_bad_function_call.
	* testsuite/30_threads/packaged_task/cons/assign_neg.cc: Adjust.
	* testsuite/30_threads/packaged_task/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/promise/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/promise/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/shared_future/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/unique_future/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/unique_future/cons/copy_neg.cc: Likewise.

From-SVN: r155269
2009-12-15 20:17:27 +00:00
Jonathan Wakely ec903a9c42 functional (function::function): Move construct target.
2009-12-15  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/std/functional (function::function): Move construct target.
	(function::operator=): Use perfect forwarding for argument.
	(function::operator()): Use new __throw_bad_function_call.
	* include/bits/functexcept.h (__throw_bad_function_call): Declare.
	* src/functexcept.cc (__throw_bad_function_call): Define.
	* config/abi/pre/gnu.ver: Add new symbol.
	* testsuite/20_util/function/cons/move_target.cc: New.
	* testsuite/20_util/function/assign/move_target.cc: New.

From-SVN: r155261
2009-12-15 17:42:47 +00:00
Paolo Carlini 82ab4b640b PR libstdc++/25304, DR 865 [Ready]
2009-12-14  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/25304, DR 865 [Ready]
	* include/bits/stl_algobase.h (fill_n): Add comment about DR 865.
	* include/bits/stl_algo.h (generate_n): Likewise.
	* include/bits/algorithmfwd.h: Remove obsolete comment.
	* doc/xml/manual/intro.xml: Add an entry for DR 865.

From-SVN: r155241
2009-12-15 00:07:52 +00:00
Paolo Carlini 874e360b8c stl_list.h (splice(iterator, list&), [...]): Re-add in C++0x mode for backward compatibility (see DR 1133).
2009-12-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_list.h (splice(iterator, list&), splice(iterator,
	list&, iterator), splice(iterator, list&, iterator, iterator),
	merge(list&), merge(list&, _StrictWeakOrdering)): Re-add in C++0x
	mode for backward compatibility (see DR 1133).
	(insert(iterator, size_type, const value_type&), insert(iterator,
	_InputIterator, _InputIterator)): Adjust.
	* include/bits/list.tcc (sort): Likewise.
	* testsuite/23_containers/list/modifiers/1_c++0x.cc: Add.
	* testsuite/23_containers/list/operations/2_c++0x.cc: Likewise.
	* testsuite/23_containers/list/operations/3_c++0x.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.

From-SVN: r155210
2009-12-14 10:26:09 +00:00
Paolo Carlini d385563f63 re PR libstdc++/42352 (-std=c++0x reference binding problem)
2009-12-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/42352
	* include/bits/list.tcc (sort): Use _GLIBCXX_MOVE for list::splice
	and list::merge calls.
	* testsuite/23_containers/list/operations/42352.cc: New.

From-SVN: r155180
2009-12-11 22:04:56 +00:00
Paolo Carlini 8246b3148e PR libstdc++/22634, DR 539 [Ready]
2009-12-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/22634, DR 539 [Ready]
	* include/bits/stl_numeric.h (adjacent_difference): Use std::move
	at the end of the loop body, per the Ready resolution.
	* include/std/numeric: Do not include unnecessarily <cstddef>.
	* doc/xml/manual/intro.xml: Add an entry for DR 539.

From-SVN: r155173
2009-12-11 17:54:37 +00:00