Commit Graph

7536 Commits

Author SHA1 Message Date
Jonathan Wakely 13901e4b28 type_traits: Doxygen improvements.
* include/std/type_traits: Doxygen improvements.
	* include/bits/move.h: Likewise.
	* include/tr1/type_traits:  Likewise.
	* include/tr2/type_traits:  Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
	line numbers
	* testsuite/20_util/forward/c_neg.cc: Likewise.
	* testsuite/20_util/forward/f_neg.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.

From-SVN: r181993
2011-12-04 16:53:17 +00:00
Markus Trippelsdorf e13afbace1 stl_heap.h (pop_heap): Check for non-empty range in overload taking a predicate.
* include/bits/stl_heap.h (pop_heap): Check for non-empty range in
	overload taking a predicate.
	* testsuite/25_algorithms/pop_heap/empty2_neg.cc: New.

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

From-SVN: r181987
2011-12-04 13:21:53 +00:00
Jonathan Wakely a8028a3ee8 macros.h (__glibcxx_check_non_empty_range): Define.
* include/debug/macros.h (__glibcxx_check_non_empty_range): Define.
	* include/debug/debug.h (__glibcxx_requires_non_empty_range): Define.
	* include/debug/formatter.h (__msg_non_empty_range): Add.
	* src/debug.cc: Message text for __msg_non_empty_range.
	* include/bits/stl_heap.h (pop_heap): Check for non-empty range.
	* testsuite/25_algorithms/pop_heap/empty_neg.cc: New.

From-SVN: r181970
2011-12-03 15:35:35 +00:00
Jonathan Wakely 4ddd278c03 * doc/xml/manual/utilities.xml: Remove outdated text.
From-SVN: r181968
2011-12-03 12:29:11 +00:00
Paolo Carlini f5ca3c3408 iomanip (put_money): Fix thinko, use __err local, like in, eg, basic_ostream::_M_insert.
2011-12-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/iomanip (put_money): Fix thinko, use __err local,
	like in, eg, basic_ostream::_M_insert.

From-SVN: r181931
2011-12-02 17:23:08 +00:00
Benjamin Kosnik a152e96f01 acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Remove size-specific macros.
2011-11-30  Benjamin Kosnik  <bkoz@redhat.com>

        * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Remove
        size-specific macros. _GLIBCXX_ATOMIC_BUILTINS_1,
        _GLIBCXX_ATOMIC_BUILTINS_2, _GLIBCXX_ATOMIC_BUILTINS_4,
        _GLIBCXX_ATOMIC_BUILTINS_8. Use _GLIBCXX_ATOMIC_BUILTINS to
        indicate use of C++11 atomic builtins.
        * config.h.in: Regenerate.
        * configure: Regenerate.
        * include/Makefile.am (bits_sup_headers): Add atomic_lockfree_defines.h.
        * include/Makefile.in: Regenerate.
        * libsupc++/Makefile.am: Compile C++11 support with -std=gnu++0x.
        * libsupc++/Makefile.in: Regenerate.

        * include/bits/atomic_base.h: Move lock-free property macros...
        * libsupc++/atomic_lockfree_defines.h: ...here.
        * include/std/future: Use C++11 macros.
        * libsupc++/eh_ptr.cc: Same.
        * libsupc++/eh_throw.cc: Same.
        * libsupc++/exception: Same.
        * libsupc++/exception_ptr.h: Same.
        * libsupc++/guard.cc: Same.
        * libsupc++/nested_exception.cc: Same.
        * libsupc++/nested_exception.h: Same.
        * src/future.cc: Same.

        * include/ext/atomicity.h: Use _GLIBCXX_ATOMIC_BUILTINS.

        * doc/doxygen/user.cfg.in
        * doc/xml/manual/concurrency_extensions.xml

        * testsuite/18_support/exception_ptr/lifespan.cc
        * testsuite/lib/libstdc++.exp

From-SVN: r181869
2011-12-01 02:20:32 +00:00
François Dumont 40207762a8 hashtable.h (_Hashtable<>::_M_rehash): Remove code useless now that the hashtable implementation put the hash code in...
2011-11-29  François Dumont <fdumont@gcc.gnu.org>

	* include/bits/hashtable.h (_Hashtable<>::_M_rehash): Remove code
	useless now that the hashtable implementation put the hash code in
	cache if the hash functor throws.
	* testsuite/23_containers/unordered_set/erase/1.cc: Enhance test by
	checking also distance between begin and end iterators to validate
	underlying data model.
	* testsuite/23_containers/unordered_multiset/erase/1.cc: Likewise.
	* testsuire/23_containers/unordered_map/erase/1.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/erase/1.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/erase/2.cc: New.
	* testsuite/23_containers/unordered_multimap/erase/2.cc: New.

From-SVN: r181799
2011-11-29 07:45:58 +00:00
Andrew MacLeod 62bad7cd05 c-family
* c-cpp-builtin.c (cpp_atomic_builtins):New.  Emit all atomic
	predefines in one place.  Add LOCK_FREE predefines.
	(c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
	new func.

	libstdc++-v3
	* include/bits/atomic_base.h (ATOMIC_*_LOCK_FREE): Use new cpp
	predefined macros.
	* testsuite/29_atomics/headers/atomic/macros.cc: Add BOOL and POINTER
	macro checks.  Check for expected compile time values.

From-SVN: r181784
2011-11-28 20:28:23 +00:00
Paolo Carlini 1a30353af8 re PR libstdc++/51288 ([C++0x] get_money implementation is missing the sentry object (does not skip leading whitespace))
2011-11-28  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/51288
	* include/std/iomanip (get_money, put_money): Use sentry.
	* testsuite/27_io/manipulators/extended/get_money/char/51288.cc: New.
	* testsuite/27_io/manipulators/extended/get_money/wchar_t/51288.cc:
	Likewise.
	* testsuite/27_io/manipulators/extended/put_money/char/51288.cc:
	Likewise.
	* testsuite/27_io/manipulators/extended/put_money/wchar_t/51288.cc:
	Likewise.

From-SVN: r181775
2011-11-28 13:24:23 +00:00
Gerald Pfeifer f6d93d7483 using.xml (Prerequisites): Refer to x86 instead of i386.
* doc/xml/manual/using.xml (Prerequisites): Refer to x86 instead
	of i386.

From-SVN: r181758
2011-11-27 02:42:21 +00:00
Gerald Pfeifer 70c6e9cb80 run_doxygen (problematic): Change Linux reference to GNU/Linux.
* scripts/run_doxygen (problematic): Change Linux reference to
	GNU/Linux.

From-SVN: r181757
2011-11-27 01:09:22 +00:00
Gerald Pfeifer 4aa3ff2b2e abi.xml (Prerequisites): Refer to GNU/Linux.
* doc/xml/manual/abi.xml (Prerequisites): Refer to GNU/Linux.
	Fix reference to GCC.

From-SVN: r181756
2011-11-27 00:21:28 +00:00
Jonathan Wakely 3a612dd1d0 re PR libstdc++/51296 (Several 30_threads tests FAIL on Tru64 UNIX)
PR libstdc++/51296
	* testsuite/30_threads/thread/native_handle/typesizes.cc: Do not run
	on alpha*-*-osf*.
	* testsuite/30_threads/future/cons/constexpr.cc: Disable debug
	symbols.
	* testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise.

From-SVN: r181740
2011-11-26 15:15:22 +00:00
François Dumont da29608a7a re PR libstdc++/41975 ([C++0x] [DR579] unordered_set::erase performs worse when nearly empty)
2011-11-23  François Dumont <fdumont@gcc.gnu.org>

	PR libstdc++/41975
	* include/bits/hashtable.h (_Hashtable<>): Major data model
	modification to limit performance impact of empty buckets in
	erase(iterator) implementation.
	* include/bits/hashtable_policy.h (_Hashtable_iterator,
	_Hashtable_const_iterator): Remove not used anymore.
	* include/bits/hashtable_policy.h (_Prime_rehash_policy): Remove
	_M_grow_factor, just use natural evolution of prime numbers. Add
	_M_prev_size to know when the number of buckets can be reduced.
	* include/bits/unordered_set.h (__unordered_set<>,
	__unordered_multiset<>), unordered_map.h (__unordered_map<>,
	__unordered_multimap<>): Change default value of cache hash code
	template parameter, false for integral types with noexcept hash
	functor, true otherwise.
	* include/debug/unordered_map, unordered_set: Adapt transformation
	from iterator/const_iterator to respectively
	local_iterator/const_local_iterator.
	* testsuite/performance/23_containers/copy_construct/unordered_set.cc:
	New.
	* testsuite/23_containers/unordered_set/instantiation_neg.cc: New.
	* testsuite/23_containers/unordered_set/hash_policy/rehash.cc: New.
	* testsuite/23_containers/unordered_multiset/cons/copy.cc: New.
	* testsuite/23_containers/unordered_multiset/erase/1.cc,
	24061-multiset.cc: Add checks on the number of bucket elements.
	* testsuite/23_containers/unordered_multiset/insert/multiset_range.cc,
	multiset_single.cc, multiset_single_move.cc: Likewise.

From-SVN: r181677
2011-11-23 20:30:18 +00:00
Jason Merrill 8a262bafd1 fix linenos
From-SVN: r181624
2011-11-22 10:53:28 -05:00
Jonathan Wakely e02a544331 functional (is_placeholder, [...]): Add partial specializations for cv-qualified types.
* include/std/functional (is_placeholder, is_bind_expression): Add
	partial specializations for cv-qualified types.
	* include/tr1/functional (is_placeholder, is_bind_expression): Add
	partial specializations for std::bind and std::placeholders and for
	cv-qualified types.
	* testsuite/20_util/bind/cv_quals_3.cc: New.
	* testsuite/tr1/3_function_objects/bind/cv_quals.cc: New.
	* testsuite/tr1/3_function_objects/bind/mixed.cc: New.

From-SVN: r181607
2011-11-22 00:40:47 +00:00
Andreas Tobler c6084f681e Additional fixes for FreeBSD-10 build:
/:			* libtool.m4: Additional FreeBSD 10 fixes.

boehm-gc/:		* configure: Regenerate.
gcc/:			* configure: Regenerate.
libffi/:		* configure: Regenerate.
libgfortran/:		* configure: Regenerate.
libgomp/:		* configure: Regenerate.
libitm/:		* configure: Regenerate.
libjava/:		* configure.ac: Fix some more FreeBSD 10 issues..
			* configure: Regenerate.
libjava/libltdl/:	* acinclude.m4: Additional FreeBSD 10 fixes.
			* configure: Regenerate.
libmudflap/:		* configure: Regenerate.
libobjc/:		* configure: Regenerate.
libquadmath/:		* configure: Regenerate.
libssp/:		* configure: Regenerate.
libstdc++-v3/:		* configure: Regenerate.
lto-plugin/:		* configure: Regenerate.
zlib/:			* configure: Regenerate.

From-SVN: r181593
2011-11-21 20:22:35 +01:00
Paolo Carlini f3670c001c 2011-11-21 Paolo Carlini <paolo.carlini@oracle.com>
* Fix last ChangeLog entry.

From-SVN: r181558
2011-11-21 11:22:37 +00:00
Daniel Krugler 5db25ab107 re PR libstdc++/51185 ([C++0x] false-positive results of std::is_constructible)
2011-11-21  Daniel Krugler  <daniel.kruegler@googlemail.com>

	PR libstdc++/51185
	* include/std/type_traits (__is_base_to_derived_ref,
	__is_lvalue_to_rvalue_ref): Fix.
	* testsuite/20_util/is_constructible/51185.cc: New.
	* testsuite/20_util/is_constructible/value-2.cc: Extend.

From-SVN: r181557
2011-11-21 11:21:13 +00:00
Paolo Carlini bbee335668 2011-11-21 Paolo Carlini <paolo.carlini@oracle.com>
* Fix last ChangeLog entry.

From-SVN: r181556
2011-11-21 10:48:53 +00:00
Paolo Carlini a7cd7b6088 tuple (__conv_types, [...]): Remove.
2011-11-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/tuple (__conv_types, __one_by_one_convertible,
	__all_convertible): Remove.
	(tuple<>::tuple(_UElements&&...),
	tuple<>::tuple(const tuple<_UElements...>&),
	tuple<>::tuple(tuple<_UElements...>&&)): Remove wa for c++/48322.

From-SVN: r181555
2011-11-21 10:47:37 +00:00
Jason Merrill c67dd25689 re PR c++/48322 ([C++0x] Plural variadic parameter packs are not expanded well)
PR c++/48322
gcc/cp/
	* cp-tree.h (PACK_EXPANSION_EXTRA_ARGS): New.
	* cp-tree.def (EXPR_PACK_EXPANSION): Add an operand for it.
	* pt.c (tsubst_pack_expansion): Set and use it.
	(iterative_hash_template_arg): Hash it.
	(template_args_equal): Compare it.
	(comp_template_args_with_info): Handle nulls.
	* tree.c (cp_walk_subtrees): Walk it.
	* typeck.c (structural_comptypes): Compare it.
	* ptree.c (cxx_print_type): Print it.
libstdc++-v3/
	* include/std/tuple (tuple(_UElements&&...)): Fix SFINAE.

From-SVN: r181547
2011-11-20 21:04:54 -05:00
Jason Merrill 80ca43a314 pt.c (type_unification_real): Set input_location during default arg instantiation.
* pt.c (type_unification_real): Set input_location
	during default arg instantiation.

From-SVN: r181546
2011-11-20 21:04:38 -05:00
Jonathan Wakely 215c6c972d binders.h: Fix examples in doxygen comments and suggest using std::bind instead.
* include/backward/binders.h: Fix examples in doxygen comments and
	suggest using std::bind instead.

From-SVN: r181535
2011-11-20 21:14:56 +00:00
Jonathan Wakely 0c1c870b00 Fix grammar in ChangeLog entry.
From-SVN: r181534
2011-11-20 20:21:51 +00:00
Jonathan Wakely c37e667527 * doc/xml/manual/status_cxx2011.xml: Fix docbook markup.
From-SVN: r181533
2011-11-20 20:05:58 +00:00
Jonathan Wakely 062a902517 appendix_contributing.xml: Do not use "here" as link text.
* doc/xml/manual/appendix_contributing.xml: Do not use "here" as link
	text.
	* doc/xml/faq.xml: Likewise. Do not request standard library issues
	to be reported to the libstdc++ mailing list.
	* doc/xml/manual/status_cxx2011.xml: Document implementation-defined
	behaviour.
	* doc/xml/manual/status_cxxtr1.xml: Likewise.
	* doc/xml/manual/utilities.xml: Fix grammar, probably caused by a
	global search and replace of "part" by "chapter".
	* doc/xml/manual/shared_ptr.xml: Remove outdated information.
	* doc/xml/manual/messages.xml: Be more specific about systems where
	using 'int' for catalog handle is not a problem, mentioned LWG issue.

From-SVN: r181532
2011-11-20 19:56:48 +00:00
Paolo Carlini fc09e5b6bd bitset (operator[](size_t) const): Declare constexpr.
2011-11-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/bitset (operator[](size_t) const): Declare constexpr.
	* include/profile/bitset: Likewise.
	* testsuite/23_containers/bitset/operations/constexpr.cc: Split out
	non portable bits to...
	* testsuite/23_containers/bitset/operations/constexpr-2.cc: ... here.

From-SVN: r181506
2011-11-19 11:50:44 +00:00
Harti Brandt 919f402ca5 re PR libstdc++/51209 (The template _M_find_node in hashtable.h has a bad return value)
2011-11-18  Harti Brandt  <hartmut.brandt@dlr.de>

	PR libstdc++/51209
	* include/bits/hashtable.h (_Hashtable<>::_M_find_node): Return
	nullptr when no node is found.
	* include/tr1/hashtable.h (_Hashtable<>::_M_find_node): Return
	zero when no node is found.

From-SVN: r181480
2011-11-18 16:09:29 +00:00
Paolo Carlini 72f1c34bd4 hash-long-double-aux.cc: Rename to...
2011-11-18  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/hash-long-double-aux.cc: Rename to...
	* src/hash-long-double-tr1-aux.cc: ... this.
	* src/compatibility-ldbl.cc: Adjust.
	* src/hash_tr1.cc: Likewise.
	* src/hash_c++0x.cc: Don't use src/hash-long-double-aux.cc.
	* include/bits/functional_hash.h (hash<_Tp*>::operator(), specs
	for integer types, hash<float>::operator(), hash<double>::operator(),
	hash<long double>::operator()): Declare noexcept.
	* include/debug/bitset (hash<__debug::bitset>::operator()): Likewise.
	* include/debug/vector (hash<__debug::vector>::operator()): Likewise.
	* include/std/system_error (hash<error_code>::operator()): Likewise.
	* include/std/thread (hash<thread::id>::operator()): Likewise.
	* include/std/bitset (hash<bitset>::operator()): Likewise.
	* include/std/typeindex (hash<type_index>::operator()): Likewise.
	* include/profile/bitset (hash<__profile::vector>::operator()):
	Likewise.
	* include/profile/vector (hash<__profile::vector>::operator()):
	Likewise.
	* include/ext/vstring.h (hash<__vstring>::operator(),
	hash<__wvstring>::operator(), hash<__u16vstring>::operator(),
	hash<__u32vstring>::operator()): Likewise.
	* include/bits/shared_ptr.h (hash<shared_ptr>::operator()): Likewise.
	* include/bits/shared_ptr_base.h (hash<__shared_ptr>::operator()):
	Likewise.
	* include/bits/unique_ptr.h (hash<unique_ptr>::operator()): Likewise.
	* include/bits/basic_string.h (hash<string>::operator(),
	hash<wstring>::operator(), hash<u16string>::operator(),
	hash<u32string>::operator()): Likewise.
	* include/bits/vector.tcc (hash<vector>::operator()): Likewise.
	* include/bits/stl_bvector.h (hash<vector>::operator()): Likewise.
	* libsupc++/typeinfo (type_info::hash_code): Use noexcept instead of
	throw().

From-SVN: r181473
2011-11-18 12:37:06 +00:00
Richard Henderson 1d794721ac re PR libstdc++/51181 (libstdc++.so __sync_sub_and_fetch_4 linkage error causing many test suite failures on m68k-linux)
PR libstdc++/51181
        * libsupc++/eh_tm.cc (free_any_cxa_exception): Protect the use
        of __sync_sub_and_fetch with _GLIBCXX_ATOMIC_BUILTINS_4.

From-SVN: r181465
2011-11-17 17:38:48 -08:00
Jonathan Wakely 7e8870e0aa typesizes.cc: Do not run on darwin.
* testsuite/30_threads/thread/native_handle/typesizes.cc: Do not run
	on darwin.

From-SVN: r181460
2011-11-18 00:15:55 +00:00
Jonathan Wakely f631ae2eb1 Remove accidentally committed duplicate ChangeLog entry.
From-SVN: r181458
2011-11-17 22:10:09 +00:00
Jason Merrill 830dea94f2 class.c (add_implicitly_declared_members): Update move conditions.
N3203
	* class.c (add_implicitly_declared_members): Update move
	conditions.

From-SVN: r181445
2011-11-17 11:35:11 -05:00
Jonathan Wakely ee42e4b6ef status_cxx2011.xml: Status of piecewise construction and ios_base::failure.
* doc/xml/manual/status_cxx2011.xml: Status of piecewise construction
	and ios_base::failure.
	* doc/xml/manual/backwards_compatibility.xml: List headers in
	alphabetical order.

From-SVN: r181438
2011-11-17 10:14:11 +00:00
Andrew MacLeod 3b04e1e4c4 re PR libstdc++/51102 (missing macros in <atomic>)
2011-11-16  Andrew MacLeod  <amacleod@redhat.com>

	PR libstdc++/51102
	* include/bits/atomic_base.h (ATOMIC_BOOL_LOCK_FREE,
	ATOMIC_POINTER_LOCK_FREE): New. Add missing macros.

From-SVN: r181414
2011-11-16 15:43:15 +00:00
Paolo Carlini 6dc88283f6 re PR libstdc++/51142 ([C++0x] map::erase(key) doesn't compile with -D_GLIBCXX_DEBUG.)
2011-11-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/51142
	* include/debug/unordered_map (unordered_map<>::erase(iterator),
	unordered_multimap<>::erase(iterator)): Add, consistently with
	LWG 2059.
	* include/debug/unordered_set (unordered_set<>::erase(iterator),
	unordered_multiset<>::erase(iterator)): Likewise.
	* include/debug/map.h (map<>::erase(iterator)): Likewise.
	* include/debug/multimap.h (multimap<>::erase(iterator)): Likewise.
	* include/profile/map.h (map<>::erase(iterator)): Likewise.
	* include/profile/multimap.h (multimap<>::erase(iterator)): Likewise.
	* include/bits/hashtable.h (_Hashtable<>::erase(iterator)): Likewise.
	* include/bits/stl_map.h (map<>::erase(iterator)): Likewise.
	* include/bits/stl_multimap.h (multimap<>::erase(iterator)): Likewise.
	* include/bits/stl_tree.h (_Rb_tree<>::erase(iterator)): Likewise.
	* testsuite/23_containers/unordered_map/erase/51142.cc: New.
	* testsuite/23_containers/multimap/modifiers/erase/51142.cc: Likewise.
	* testsuite/23_containers/set/modifiers/erase/51142.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/erase/51142.cc: Likewise.
	* testsuite/23_containers/unordered_set/erase/51142.cc: Likewise.
	* testsuite/23_containers/multiset/modifiers/erase/51142.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/erase/51142.cc: Likewise.
	* testsuite/23_containers/map/modifiers/erase/51142.cc: Likewise.

From-SVN: r181394
2011-11-15 23:28:49 +00:00
Jason Dick 402356d146 re PR libstdc++/51133 (Incorrect implementation of std::tr1::hermite())
2011-11-15  Jason Dick  <dickphd@gmail.com>

	PR libstdc++/51133
	* include/tr1/poly_hermite.tcc (__poly_hermite_recursion): Fix
	wrong sign in recursion relation.

From-SVN: r181381
2011-11-15 10:49:00 +00:00
Paolo Carlini 77addcb730 cmath (frexp, [...]): Do not mark constexpr, not viable anyway due to the pointer parameter.
2011-11-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_global/cmath (frexp, modf, remquo): Do not mark constexpr,
	not viable anyway due to the pointer parameter.

From-SVN: r181349
2011-11-14 11:29:26 +00:00
Paolo Carlini 9fb2982817 cmath (atan2, [...]): Simplify constraining on the return type.
2011-11-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_global/cmath (atan2, fmod, pow, copysign, fdim,
	fma, fmax, fmin, hypot, nextafter, remainder, remquo): Simplify
	constraining on the return type.
	* include/tr1/cmath (copysign, fdim, fma, fmax, fmin, hypot,
	nextafter, remainder, remquo): Likewise.

From-SVN: r181341
2011-11-13 23:51:42 +00:00
Gerald Pfeifer afe5cf2190 * using.xml: Use GNU/Linux.
From-SVN: r181333
2011-11-13 04:27:22 +00:00
Jason Merrill d0ad58f94e re PR c++/51060 (Temporary object stack space is not re-used)
PR c++/51060
	* gimplify.c (gimplify_target_expr): Add a clobber to the cleanup.
	(gimplify_modify_expr): Don't try to simplify it.
	* cp/cp-gimplify.c (cp_gimplify_expr): Leave clobbers alone.

From-SVN: r181332
2011-11-12 19:44:39 -05:00
Jonathan Wakely 306133e3d4 re PR libstdc++/51083 (TR1 [tr.c99.cmath.over] and C++11 [cmplx.over] overloads not constrained)
PR libstdc++/51083
	* include/ext/type_traits.h (__promote): Only define __type member
	for integral and floating point types, to prevent math functions
	participating in overload resolution for other types.
	(__promote_2, __promote_3, __promote_4): Use __promote in default
	template argument values, so deduction only succeeds for integral and
	floating point types.
	* testsuite/26_numerics/cmath/51083.cc: New.
	* testsuite/26_numerics/complex/51083.cc: New.
	* testsuite/tr1/8_c_compatibility/cmath/51083.cc: New.
	* testsuite/tr1/8_c_compatibility/complex/51083.cc: New.

From-SVN: r181321
2011-11-12 15:57:03 +00:00
Andrew MacLeod d660c35ea2 re PR middle-end/51038 (29_atomics/atomic_flag/clear/1.cc test_and_set/explicit.cc implicit.cc)
PR middle-end/51038

	libstdc++-v3
	* include/bits/atomic_base.h (atomic_thread_fence): Call built-in.
	(atomic_signal_fence): Call built-in.
	(test_and_set, clear): Call new atomic built-ins.

	gcc
	* builtins.c (expand_builtin_atomic_clear): New.  Expand atomic_clear.
	(expand_builtin_atomic_test_and_set): New.  Expand atomic test_and_set.
	(expand_builtin): Add cases for test_and_set and clear.
	* sync-builtins.def (BUILT_IN_ATOMIC_TEST_AND_SET): New.
	(BUILT_IN_ATOMIC_CLEAR): New.

	testsuite
	* gcc.dg/atomic-invalid.c: Add test for invalid __atomic_clear models.
	* gcc.dg/atomic-flag.c: New.  Test __atomic_test_and_set and
	__atomic_clear.

From-SVN: r181271
2011-11-10 20:38:33 +00:00
Jonathan Wakely 5ed56cbbee allocator.h (__shrink_to_fit_aux::_S_do_it): Create the new object with the same allocator.
* include/bits/allocator.h (__shrink_to_fit_aux::_S_do_it): Create
	the new object with the same allocator.
	* testsuite/23_containers/vector/capacity/shrink_to_fit2.cc: New.

From-SVN: r181235
2011-11-09 21:14:03 +00:00
Jonathan Wakely 6c23509047 unordered_map: Add missing copy constructors.
* include/profile/unordered_map: Add missing copy constructors.
	* include/profile/unordered_set: Likewise.

From-SVN: r181196
2011-11-09 08:23:30 +00:00
Dodji Seketeli bd0424fa93 PR c++/51027 - accepts alias-declaration without ';'
gcc/cp/

	* parser.c (cp_parser_alias_declaration): Require ';' at the end
	of the declaration.

libstdc++-v3/

	* include/ext/pointer.h (rebind): Append missing ';'.

gcc/testsuite

	* g++.dg/cpp0x/alias-decl-12.C: New test.
	* g++.dg/ext/alias-decl-attr4.C: Append missing ';'.

From-SVN: r181195
2011-11-09 09:00:58 +01:00
Jonathan Wakely 425006751b stl_vector.h (vector::_Alloc_traits): Make private.
* include/bits/stl_vector.h (vector::_Alloc_traits): Make private.
	* include/debug/vector: Add allocator-extended constructors, ensure
	move assignment and swap have same allocator propagation semantics
	and exceptions specification as base class.
	* include/profile/vector: Likewise.
	(vector::push_back(_Tp&&)): Forward argument as rvalue.
	* testsuite/23_containers/vector/debug/alloc_prop.cc: New.
	* doc/xml/manual/status_cxx2011.xml: Clarify status of container
	requirements with respect to allocators.
	(status.iso.200x): Add anchor for old ID to preserve existing links.

From-SVN: r181189
2011-11-09 01:26:04 +00:00
Jonathan Wakely a58a38b32c shared_ptr_base.h (_Sp_counted_ptr): Make 'final'.
* include/bits/shared_ptr_base.h (_Sp_counted_ptr): Make 'final'.
	(_Sp_counted_deleter): Make 'final'. Use allocator_traits.
	(_Sp_counted_ptr_inplace): Make 'final'. Use allocator_traits.
	Derive from _Sp_counted_ptr instead of _Sp_counted_deleter to use EBO
	for the allocator.
	(__shared_count, __shared_ptr): Use allocator_traits.
	* include/std/future (__future_base::_Result_alloc): Make 'final'. Use
	allocator traits.
	(__future_base::_Task_state): Make 'final'.
	(__future_base::_Deferred_state): Likewise.
	(__future_base::_Async_state): Likewise.
	* testsuite/20_util/shared_ptr/cons/alloc_min.cc: New.
	* testsuite/20_util/shared_ptr/creation/alloc_min.cc: New.
	* testsuite/20_util/shared_ptr/creation/private.cc: New.
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
	* testsuite/30_threads/packaged_task/cons/alloc_min.cc: New.
	* testsuite/30_threads/promise/cons/alloc_min.cc: New.

From-SVN: r181171
2011-11-08 16:45:54 +00:00
Paolo Carlini dbe175248f acinclude.m4 ([GLIBCXX_ENABLE_VISIBILITY]): Rename to [GLIBCXX_ENABLE_LIBSTDCXX_VISIBILITY]...
2011-11-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* acinclude.m4 ([GLIBCXX_ENABLE_VISIBILITY]): Rename to
	[GLIBCXX_ENABLE_LIBSTDCXX_VISIBILITY], likewise for the
	option itself, to --enable-libstdcxx-visibility.
	* configure.ac: Adjust call.
	* doc/xml/manual/configure.xml: Update.
	* configure: Regenerate.

From-SVN: r181162
2011-11-08 14:07:27 +00:00
Paolo Carlini a0eabe5751 macros.cc: Avoid -Wall warnings.
2011-11-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/29_atomics/headers/atomic/macros.cc: Avoid -Wall
	warnings.
	* testsuite/29_atomics/atomic/cons/user_pod.cc: Likewise.

From-SVN: r181159
2011-11-08 12:34:40 +00:00
Jonathan Wakely 4e68a06c03 re PR libstdc++/51018 (Test failures on NetBSD)
PR libstdc++/51018
	* testsuite/30_threads/thread/native_handle/typesizes.cc: Do not run
	on netbsd.

From-SVN: r181156
2011-11-08 12:02:26 +00:00
Aldy Hernandez 0a35513e4e Merge from transactional-memory branch.
From-SVN: r181154
2011-11-08 11:13:41 +00:00
Paolo Carlini e65cf3bc2d re PR libstdc++/51018 (Test failures on NetBSD)
2011-11-07  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/51018
	* include/profile/impl/profiler_node.h (__stack_hash::
	operator()(__stack_t)): Just use std::size_t everywhere.

From-SVN: r181147
2011-11-08 01:39:44 +00:00
Jonathan Wakely c4d9f41936 future (__future_base::_Ptr): Use alias-declaration.
* include/std/future (__future_base::_Ptr): Use alias-declaration.
	(__is_same_pkgdtask): Rename to __constrain_pkgdtask and use decay
	instead of remove_reference so that cv-quals are removed.

From-SVN: r181145
2011-11-08 01:23:53 +00:00
Ed Smith-Rowland 029ac5f967 stdc++.h: Add cstdalign.
2011-11-08  Ed Smith-Rowland  <3dw4rd@verizon.net>

	* include/precompiled/stdc++.h: Add cstdalign.

From-SVN: r181142
2011-11-08 01:02:06 +00:00
Paolo Carlini 31de4ba7df complex (complex<>::real(), [...]): Remove redundant const qualifiers.
2011-11-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/complex (complex<>::real(), complex<>::imag()):
	Remove redundant const qualifiers.

From-SVN: r181141
2011-11-08 00:49:47 +00:00
Jonathan Wakely 7579d15b58 ptr_traits.h (__rebind): Replace with...
* include/bits/ptr_traits.h (__rebind): Replace with...
	(rebind): Implement using alias-declaration.
	* include/ext/pointer.h (__rebind): Replace with...
	(rebind): Implement using alias-declaration.
	* include/bits/alloc_traits.h (__rebind_alloc, __rebind_traits):
	Replace with...
	(rebind_alloc, rebind_traits): Implement using alias-declaration.
	* include/ext/alloc_traits.h (rebind): Use rebind_alloc instead of
	__rebind_alloc.
	* include/std/scoped_allocator (rebind): Likewise.

From-SVN: r181139
2011-11-08 00:33:45 +00:00
Jonathan Wakely 48d8dd06b0 mutex (call_once): Store closure in __once_functor as bound function wrapper might not be copyable.
* include/std/mutex (call_once): Store closure in __once_functor
	as bound function wrapper might not be copyable.

From-SVN: r181128
2011-11-07 22:26:15 +00:00
Andrew MacLeod 6577e39c94 atomic_base.h (atomic_thread_fence): Revert.
2011-11-07  Andrew MacLeod  <amacleod@redhat.com>

	* include/bits/atomic_base.h (atomic_thread_fence): Revert.
	(atomic_signal_fence): Revert.

From-SVN: r181119
2011-11-07 21:32:52 +00:00
Andrew MacLeod 0669295b1e atomic_base.h (atomic_thread_fence): Call builtin.
2011-11-07  Andrew MacLeod  <amacleod@redhat.com>

	libstdc++-v3
	* include/bits/atomic_base.h (atomic_thread_fence): Call builtin.
	(atomic_signal_fence): Call builtin.
	(atomic_flag::test_and_set): Call __atomic_exchange when it is lockfree,
	otherwise fall back to call __sync_lock_test_and_set.
	(atomic_flag::clear): Call __atomic_store when it is lockfree,
	otherwise fall back to call __sync_lock_release.

	gcc
	* doc/extend.texi: Docuemnt behaviour change for __atomic_exchange and
	__atomic_store.
	* optabs.c (expand_atomic_exchange): Expand to __sync_lock_test_and_set
	only when originated from that builtin.
	(expand_atomic_store): Expand to __sync_lock_release when originated
	from that builtin.
	* builtins.c (expand_builtin_sync_lock_test_and_set): Add flag that
	expand_atomic_exchange call originated from here.
	(expand_builtin_sync_lock_release): Add flag that expand_atomic_store
	call originated from here.
	(expand_builtin_atomic_exchange): Add origination flag.
	(expand_builtin_atomic_store): Add origination flag.
	* expr.h (expand_atomic_exchange, expand_atomic_store): Add boolean 
	parameters to indicate implementation fall back options.

From-SVN: r181111
2011-11-07 20:06:39 +00:00
Rainer Orth 9fbcc75d56 Return gthr-posix.h to libgcc (PR bootstrap/50982)
libgcc:
	PR bootstrap/50982
	* config/gthr-posix.h: Move ...
	* gthr-posix.h: ... here.
	* config/gthr-lynx.h: Reflect this.
	* config/gthr-vxworks.h: Likewise.
	* config/rs6000/gthr-aix.h: Likewise.
	* configure.ac (target_thread_file): Likewise.
	* configure: Regenerate.

	libstdc++-v3:
	PR bootstrap/50982
	* include/Makefile.am (${host_builddir}/gthr-posix.h): Reflect
	gthr-posix.h move.
	* include/Makefile.in: Regenerate.

From-SVN: r181095
2011-11-07 16:34:31 +00:00
Jonathan Wakely 5ee360d069 acinclude.m4 (GLIBCXX_CHECK_SC_NPROC_ONLN): Define.
* acinclude.m4 (GLIBCXX_CHECK_SC_NPROC_ONLN): Define.
	(GLIBCXX_CHECK_PTHREADS_NUM_PROCESSORS_NP): Define.
	(GLIBCXX_CHECK_SYSCTL_HW_NCPU): Define.
	* configure.ac: Use new checks.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* src/thread.cc: Check new config macros.
	* testsuite/lib/libstdc++.exp: Likewise.

From-SVN: r181084
2011-11-07 13:45:03 +00:00
Jonathan Wakely 3cc227e5bf * config/abi/pre/gnu.ver: Fix exports for string::pop_back.
From-SVN: r181081
2011-11-07 11:36:04 +00:00
Jonathan Wakely e0f0ee74f0 acinclude.m4: Check for <stdalign.h>
* acinclude.m4: Check for <stdalign.h>
	* configure: Regenerate.
	* config.h.in: Likewise.
	* include/Makefile.am: Add <cstdalign>.
	* include/Makefile.in: Regenerate.
	* include/c_global/cstdalign: New.
	* testsuite/18_support/headers/cstdalign/std_c++0x_neg.cc: New.
	* doc/xml/manual/backwards_compatibility.xml: Update.
	* doc/xml/manual/status_cxx2011.xml: Update.

From-SVN: r181076
2011-11-07 08:46:58 +00:00
Jonathan Wakely ff02a38bc6 re PR libstdc++/50982 (AIX libstdc++ GTHREADS incompatibility)
PR libstdc++/50982
	* include/std/mutex (__once_proxy): Use void parameter list to
	work on implicit extern "C" systems.

From-SVN: r181072
2011-11-07 07:54:06 +00:00
Xinliang David Li b9b8c6ae39 make __stl_prime_list in comdat
From-SVN: r181071
2011-11-07 07:43:46 +00:00
Jonathan Wakely f1e09f0d14 basic_string.h (basic_string::at): Move adjacent to other overload.
* include/bits/basic_string.h (basic_string::at): Move adjacent to other
	overload.
	(basic_string::pop_back): Define.
	* include/debug/string (__gnu_debug::basic_string::pop_back): Likewise.
	* include/ext/vstring.h (__versa_string::pop_back): Likewise.
	* config/abi/pre/gnu.ver: Add new symbols.
	* testsuite/21_strings/basic_string/modifiers/char/pop_back.cc: New.
	* testsuite/21_strings/basic_string/modifiers/wchar_t/pop_back.cc: New.
	* testsuite/21_strings/basic_string/range_access.cc: Split to ...
	* testsuite/21_strings/basic_string/range_access/char/1.cc: Here and ...
	* testsuite/21_strings/basic_string/range_access/wchar_t/1.cc: Here.
	* testsuite/ext/vstring/modifiers/char/pop_back.cc: New.
	* testsuite/ext/vstring/modifiers/wchar_t/pop_back.cc: New.

From-SVN: r181049
2011-11-07 00:06:23 +00:00
Jonathan Wakely 55d2e499d6 backwards_compatibility.xml: Fix autoconf tests for C++11 compiler features and library headers.
* doc/xml/manual/backwards_compatibility.xml: Fix autoconf tests for
	C++11 compiler features and library headers. Add stable id
	attributes. Use <filename> element for headers and surround in angle
	brackets. Use <classname> for classes.
	* doc/html/*: Regenerate.

From-SVN: r181047
2011-11-06 23:25:25 +00:00
Jonathan Wakely 57899d2fc5 status_cxx2011.xml: Document <cuchar> and <cstdalign> as missing.
* doc/xml/manual/status_cxx2011.xml: Document <cuchar> and
	<cstdalign> as missing.

From-SVN: r181045
2011-11-06 22:10:41 +00:00
Jonathan Wakely f25481f470 faq.xml: Replace references to C++0x with C++11.
* doc/xml/faq.xml: Replace references to C++0x with C++11.
	* doc/xml/manual/intro.xml: Likewise.
	* doc/xml/manual/backwards_compatibility.xml: Likewise.
	* doc/xml/manual/shared_ptr.xml: Likewise.
	* doc/xml/manual/configure.xml: Likewise.
	* doc/xml/manual/evolution.xml: Likewise.
	* doc/xml/manual/using.xml: Likewise.
	* doc/xml/manual/strings.xml: Likewise.
	* doc/xml/manual/debug_mode.xml: Likewise.
	* doc/xml/manual/policy_data_structures.xml: Likewise.
	* doc/xml/manual/extensions.xml: Likewise.
	* doc/xml/manual/diagnostics.xml: Likewise.
	* doc/xml/manual/test.xml: Likewise.
	* doc/xml/manual/status_cxx200x.xml: Likewise, and rename to...
	* doc/xml/manual/status_cxx2011.xml: Here.
	* doc/Makefile.am: Rename status_cxx200x.xml.
	* doc/Makefile.in: Regenerate.
	* doc/html/*: Regenerate.

From-SVN: r181041
2011-11-06 20:15:53 +00:00
François Dumont ba3aa0e6c7 41975.cc: Add tests to check performance with or without cache of hash code and with...
2011-11-06  François Dumont <fdumont@gcc.gnu.org>

	* testsuite/performance/23_containers/insert_erase/41975.cc: Add
	tests to check performance with or without cache of hash code and with
	string type that has a costlier hash functor than int type.

From-SVN: r181037
2011-11-06 17:16:00 +00:00
Andrew Macleod 86951993f8 Check in patch/merge from cxx-mem-model Branch
From-SVN: r181031
2011-11-06 14:55:48 +00:00
Jonathan Wakely e940f96ffc * doc/xml/manual/test.xml: Fix dg-warning examples.
From-SVN: r181023
2011-11-06 00:51:17 +00:00
Jonathan Wakely 7c09269050 re PR libstdc++/44436 ([C++0x] Implement emplace* in associative containers)
PR libstdc++/44436
	* doc/xml/manual/status_cxx200x.xml: Document emplace members are
	missing.

From-SVN: r181022
2011-11-06 00:29:36 +00:00
Jonathan Wakely eed33268ff re PR libstdc++/49894 ([C++0x] Uniform initialization in constructor)
PR libstdc++/49894
	PR bootstrap/50982
	* include/std/mutex (once_flag): Use NSDMI.

From-SVN: r181013
2011-11-05 13:33:29 +00:00
Benjamin Kosnik 801fe0bb11 run_doxygen: Fix sed quoting.
2011-11-04  Benjamin Kosnik  <bkoz@redhat.com>

	* scripts/run_doxygen: Fix sed quoting.

From-SVN: r180978
2011-11-04 19:39:23 +00:00
Benjamin Kosnik c3b0bfe175 doxygroups.cc: Add markup for namespace tr2.
2011-11-03  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/doxygroups.cc: Add markup for namespace tr2.
	* include/tr2/bool_set: Adjust doxygen markup.
	* include/tr2/dynamic_bitset: Same.
	* include/tr2/type_traits: Same.

From-SVN: r180874
2011-11-03 22:23:35 +00:00
Benjamin Kosnik b22e43930f *: Regenerate.
2011-11-03  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/html/*: Regenerate.

From-SVN: r180837
2011-11-03 17:50:14 +00:00
Richard B. Kreckel 7f9876b26c re PR libstdc++/50880 (__complex_acosh() picks wrong complex branch)
2011-11-02  Richard B. Kreckel  <kreckel@ginac.de>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/50880
	* include/std/complex (__complex_acosh): Fix in a better way,
	use Kahan's formula.
	* include/tr1/complex (__complex_acosh): Likewise.

From-SVN: r180788
2011-11-02 18:43:42 +00:00
Richard B. Kreckel af7c185869 re PR libstdc++/50880 (__complex_acosh() picks wrong complex branch)
2011-11-02  Richard B. Kreckel  <kreckel@ginac.de>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/50880
	* include/std/complex (__complex_acosh): Fix in a better way,
	use Kahan's formula.
	* include/tr1/complex (__complex_acosh): Likewise.

From-SVN: r180787
2011-11-02 18:43:26 +00:00
Rainer Orth 5d1c8e77cf Move gthr to toplevel libgcc
gcc:
	* gthr-single.h, gthr.h: Move to ../libgcc.
	* gthr-aix.h: Move to ../libgcc/config/rs6000.
	* gthr-dce.h: Move to ../libgcc/config/pa.
	* gthr-lynx.h: Move to ../libgcc/config.
	* gthr-mipssde.h: Move to ../libgcc/config/mips.
	* gthr-posix.h: Move to ../libgcc/config.
	* gthr-rtems.h: Likewise.
	* gthr-tpf.h: Move to ../libgcc/config/s390.
	* gthr-vxworks.h: Move to ../libgcc/config.
	* gthr-win32.h: Move to ../libgcc/config/i386.
	* configure.ac (gthread_flags): Remove
	(gthr-default.h): Don't create.
	(thread_file): Don't substitute.
	* configure: Regenerate.
	* Makefile.in (GCC_THREAD_FILE): Remove.
	(GTHREAD_FLAGS): Remove.
	(libgcc.mvars): Remove GTHREAD_FLAGS.
	* config/t-vxworks (EXTRA_HEADERS): Remove.

	gcc/po:
	* EXCLUDES (gthr-aix.h, gthr-dce.h, gthr-posix.c, gthr-posix.h)
	(gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h)
	(gthr-win32.h, gthr.h): Remove.

	libgcc:
	* gthr-single.h, gthr.h: New files.
	* config/gthr-lynx.h, config/gthr-posix.h., config/gthr-rtems.h,
	config/gthr-vxworks.h, config/i386/gthr-win32.h,
	config/mips/gthr-mipssde.h, config/pa/gthr-dce.h,
	config/rs6000/gthr-aix.h, config/s390/gthr-tpf.h: New files.
	* config/i386/gthr-win32.c: Include "gthr-win32.h".
	* configure.ac (thread_header): New variable.
	Set it depending on target_thread_file.
	(gthr-default.h): Link from $thread_header.
	* configure: Regenerate.
	* Makefile.in (LIBGCC2_CFLAGS): Remove $(GTHREAD_FLAGS).

	libgfortran:
	* Makefile.am (AM_CPPFLAGS): Add
	-I$(srcdir)/$(MULTISRCTOP)../libgcc, -I$(MULTIBUILDTOP)../libgcc.
	* Makefile.in: Regenerate.
	* acinclude.m4 (LIBGFOR_CHECK_GTHR_DEFAULT): Remove.
	* configure.ac (LIBGFOR_CHECK_GTHR_DEFAULT): Likewise.
	* configure: Regenerate.
	* config.h.in: Regenerate.

	libobjc:
	* Makefile.in (INCLUDES): Add -I$(MULTIBUILDTOP)../libgcc.
	* configure.ac (target_thread_file, HAVE_GTHR_DEFAULT): Remove.
	* configure: Regenerate.
	* config.h.in: Regenerate.

	libstdc++-v3:
	* acinclude.m4 (GLIBCXX_CONFIGURE): Determine and substitute
	toplevel_builddir.
	(GLIBCXX_ENABLE_THREADS): Remove glibcxx_thread_h,
	HAVE_GTHR_DEFAULT, enable_thread.
	(GLIBCXX_CHECK_GTHREADS): Reflect gthr move to libgcc.
	* include/Makefile.am (thread_host_headers): Remove
	${host_builddir}/gthr-tpf.h.
	(${host_builddir}/gthr.h): Reflect gthr move to libgcc.
	Use $<.
	(${host_builddir}/gthr-single.h): Likewise.
	(${host_builddir}/gthr-posix.h): Likewise.
	(${host_builddir}/gthr-tpf.h): Remove.
	(${host_builddir}/gthr-default.h): Likewise.
	* configure, config.h.in: Regenerate.
	* Makefile.in, doc/Makefile.in, include/Makefile.in,
	libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
	src/Makefile.intestsuite/Makefile.in: Regenerate.

From-SVN: r180776
2011-11-02 15:28:43 +00:00
Paolo Carlini 3164517929 re PR libstdc++/50951 (state of subtract_with_carry_engine not saved correctly to output stream)
2011-11-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/50951
	* include/bits/random.tcc (operator<<(basic_ostream<>&,
	const mersenne_twister_engine<>&): Output _M_p too.
	(operator<<(basic_ostream<>&, const
	subtract_with_carry_engine<>&): Likewise.
	(operator>>(basic_istream<>&, mersenne_twister_engine<>&):
	Reload it.
	(operator>>(basic_istream<>&, subtract_with_carry_engine<>&):
	Likewise.
	* include/bits/random.h (mersenne_twister_engine<>::operator==):
	Compare _M_p too.
	(subtract_with_carry_engine<>::operator==): Compare _M_carry
	and _M_p too.
	(shuffle_order_engine<>::operator==): Compare _M_v(s) and _M_y too.
	* testsuite/26_numerics/random/independent_bits_engine/
	operators/serialize.cc: Extend.
	* testsuite/26_numerics/random/subtract_with_carry_engine/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/discard_block_engine/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/mersenne_twister_engine/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/linear_congruential_engine/
	operators/serialize.cc: Likewise.
	* testsuite/26_numerics/random/shuffle_order_engine/
	operators/serialize.cc: Likewise.

From-SVN: r180764
2011-11-02 10:06:08 +00:00
Benjamin Kosnik 08624e906d c++config: Add tr2 to versioned namespaces.
2011-11-02  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config: Add tr2 to versioned namespaces.
	* scripts/run_doxygen: Adjust generated man files as well.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers.

From-SVN: r180760
2011-11-02 04:23:33 +00:00
Jonathan Wakely 376d7c51ec future (promise): Add constructors for uses-allocator construction from rvalue promise.
* include/std/future (promise): Add constructors for uses-allocator
	construction from rvalue promise.
	(packaged_task): Implement LWG 2067. Add additional constructors for
	uses-allocator construction.
	* testsuite/30_threads/packaged_task/cons/3.cc: New.
	* testsuite/30_threads/packaged_task/cons/alloc2.cc: New.
	* testsuite/30_threads/promise/cons/alloc2.cc: New.

From-SVN: r180757
2011-11-02 00:53:12 +00:00
Jason Merrill a7d5d7e221 Makefile.am (install-freestanding-headers): Install c++0x_warning.h.
* include/Makefile.am (install-freestanding-headers): Install
	c++0x_warning.h.
	* libsupc++/initializer_list: Include it.

From-SVN: r180727
2011-11-01 00:02:45 -04:00
Gerald Pfeifer 176d6eb070 acinclude.m4 (GLIBCXX_CONFIGURE): Refer to GNU/Linux.
* acinclude.m4 (GLIBCXX_CONFIGURE): Refer to GNU/Linux.
	* configure: Regenerate.

From-SVN: r180717
2011-11-01 00:02:45 +00:00
Jason Merrill 97e3ad20b1 re PR c++/50920 (add a -std=c++11 option to the driver)
PR c++/50920
gcc/c-family
	* c-common.h (cxx_dialect): Add cxx11 and cxx03.
	* c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
	and -Wc++11-compat.
	* c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
gcc/cp
	* class.c (check_field_decl): Change c++0x in diags to c++11.
	* error.c (maybe_warn_cpp0x): Likewise.
	* parser.c (cp_parser_diagnose_invalid_type_name): Likewise.
	* pt.c (check_default_tmpl_args): Likewise.
libcpp
	* include/cpplib.h (enum c_lang): Rename CLK_CXX0X to CLK_CXX11,
	CLK_GNUCXX0X to CLK_GNUCXX11.
libstdc++-v3
	* include/bits/c++0x_warning.h: Change -std=c++0x to -std=c++11.

From-SVN: r180707
2011-10-31 15:34:14 -04:00
Gerald Pfeifer 845f6341a3 prerequisites.xml: Refer to GCC (instead of gcc) and GNU/Linux.
* prerequisites.xml: Refer to GCC (instead of gcc) and GNU/Linux.
	Remove an obsolete reference to a Red Hat release we do not
	support any longer.
	Refer to Debian GNU/Linux.

From-SVN: r180681
2011-10-30 15:33:11 +00:00
Gerald Pfeifer 391190a3f0 faq.xml (Who's in charge of it?): Refer to the Linux kernel instead of just Linux.
* faq.xml (Who's in charge of it?): Refer to the Linux kernel
	instead of just Linux.
	(How do I install libstdc++?): Refer to GNU/Linux instead of
	just Linux.

From-SVN: r180679
2011-10-30 14:29:15 +00:00
Paolo Carlini e8a25ac83c 50862.cc: Trivial formatting fixes.
2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/30_threads/condition_variable_any/50862.cc: Trivial
	formatting fixes.

From-SVN: r180617
2011-10-28 14:33:21 +00:00
Paolo Carlini 4a6b297c98 count.cc: New.
2011-10-28  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/unordered_map/operations/count.cc: New.
	* testsuite/23_containers/multimap/operations/count.cc: Likewise.
	* testsuite/23_containers/set/operations/count.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/operations/count.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/operations/count.cc: Likewise.
	* testsuite/23_containers/multiset/operations/count.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/operations/count.cc:
	Likewise.
	* testsuite/23_containers/map/operations/count.cc: Likewise.

From-SVN: r180612
2011-10-28 11:54:04 +00:00
Richard B. Kreckel 4c16fa7714 complex (__complex_acosh): Just use '< _Tp()'.
2011-10-28  Richard B. Kreckel  <kreckel@ginac.de>

	* include/std/complex (__complex_acosh): Just use '< _Tp()'.
	* include/tr1/complex (__complex_acosh): Likewise.

From-SVN: r180607
2011-10-28 09:34:52 +00:00
Richard B. Kreckel 259f206328 re PR libstdc++/50880 (__complex_acosh() picks wrong complex branch)
2011-10-27  Richard B. Kreckel  <kreckel@ginac.de>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/50880
	* include/std/complex (__complex_acosh): Fix for __z.real() < 0.
	* include/tr1/complex (__complex_acosh): Likewise.
	* testsuite/26_numerics/complex/50880.cc: New.
	* testsuite/tr1/8_c_compatibility/complex/50880.cc: Likewise.

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

From-SVN: r180563
2011-10-27 11:00:25 +00:00
Jonathan Wakely 28c2f60e96 re PR libstdc++/50862 (deadlock in std::condition_variable_any)
PR libstdc++/50862
	* include/std/condition_variable (condition_variable_any::wait): Avoid
	terminating if relocking user mutex throws during stack-unwinding.
	* testsuite/30_threads/condition_variable_any/50862.cc: Add dg-require.

From-SVN: r180549
2011-10-27 00:35:26 +01:00
Paolo Carlini 7f808cadda 2011-10-26 Paolo Carlini <paolo.carlini@oracle.com>
* Tweak last ChangeLog entry.

From-SVN: r180532
2011-10-26 18:04:57 +00:00
Jonathan Wakely 0fd72195bc condition_variable (condition_variable_any): Remove unused native_handle_type typedef.
* include/std/condition_variable (condition_variable_any): Remove
	unused native_handle_type typedef.
	* src/condition_variable.cc (condition_variable): Add missing noexcept
	specifications.
	* 30_threads/condition_variable_any/requirements/typedefs.cc: Remove.

From-SVN: r180454
2011-10-25 22:44:12 +01:00
Jonathan Wakely 5d020aa222 re PR libstdc++/50862 (deadlock in std::condition_variable_any)
PR libstdc++/50862
	* include/std/condition_variable (condition_variable_any::wait): Fix
	deadlock and ensure _Lock::lock() is called on exit.
	(condition_variable_any::native_handle): Remove, as per LWG 1500.
	* testsuite/30_threads/condition_variable_any/50862.cc: New.

From-SVN: r180446
2011-10-25 21:56:43 +01:00
Jonathan Wakely b81e920eac re PR libstdc++/49894 ([C++0x] Uniform initialization in constructor)
PR libstdc++/49894
	* include/std/mutex (__mutex_base,__recursive_mutex_base): Define new
	base classes to manage construction/destruction of native mutexes,
	using NSDMI when INIT macros are defined.
	(mutex,recursive_mutex,timed_mutex,recursive_timed_mutex): Derive from
	new base classes.
	* include/std/condition_variable (condition_variable): Use NSDMI when
	INIT macro is defined. Use noexcept.
	* src/condition_variable.cc (condition_variable): Explicitly-default
	constructor/destructor when using NSDMI. Use noexcept.
	(condition_variable_any): Likewise.

From-SVN: r180411
2011-10-25 00:26:25 +01:00
Jonathan Wakely d41c3b8947 49668.cc: Add missing dg-require.
* testsuite/30_threads/async/49668.cc: Add missing dg-require.
	* testsuite/30_threads/packaged_task/49668.cc: Likewise.

From-SVN: r180400
2011-10-24 20:11:31 +01:00
Jonathan Wakely ec8ab7c4e4 re PR libstdc++/50834 (Documentation about STL thread safety is ambiguous)
PR libstdc++/50834
	* doc/xml/manual/using.xml: Update thread safety docs w.r.t. C++11.

From-SVN: r180359
2011-10-24 01:19:56 +01:00
Jonathan Wakely 3b2eeb43cf re PR libstdc++/50196 ([C++0x] std::thread not available under macos)
PR libstdc++/50196
	* acinclude.m4 (GLIBCXX_HAS_GTHREADS): Don't depend on _POSIX_TIMEOUTS.
	* configure: Regenerate.
	* include/std/mutex (timed_mutex, recursive_timed_mutex): Define
	conditionally on GTHREADS_HAS_MUTEX_TIMEDLOCK.
	* testsuite/lib/libstdc++.exp (check_v3_target_gthreads_timed): Define.
	* testsuite/lib/dg-options.exp (dg-require-gthreads-timed): Define.
	* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
	Use dg-require-gthreads-timed instead of dg-require-gthreads.
	* testsuite/30_threads/recursive_timed_mutex/native_handle/
	typesizes.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
	Likewise.
	* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
	* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
	Likewise.
	* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
	* testsuite/30_threads/timed_mutex/requirements/standard_layout.cc:
	Likewise.
	* testsuite/30_threads/timed_mutex/requirements/typedefs.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.

From-SVN: r180329
2011-10-22 22:31:24 +01:00
Benjamin Kosnik 24ef84f6c3 [multiple changes]
2011-10-19  Ed Smith-Rowland  <3dw4rd@verizon.net>

	* include/tr2/bool_set (bool_set): New.
	* include/tr2/bool_set.tcc: New.
	* include/tr2/dynamic_bitset (dynamic_bitset): New.
	* include/tr2/ratio (kibi, mebi, gibi, tebi, pebi, exbi): New.
	* include/Makefile.am: Add files.
	* include/Makefile.in: Regenerate.

2011-10-19  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in: Add tr2 files.
	* testsuite/tr2/headers/all.cc: New.
	* testsuite/tr2/headers/using_namespace_std_tr2.cc: New.

	* include/tr2/type_traits: Tweak.

From-SVN: r180211
2011-10-19 22:05:26 +00:00
Jason Merrill a2e70335e2 re PR c++/50500 ([C++0x] [DR 1082] move constructor should cause copy constructor to be deleted, but still declared)
PR c++/50500
	DR 1082
	* class.c (type_has_user_declared_move_constructor): New.
	(type_has_user_declared_move_assign): New.
	(add_implicitly_declared_members): Add lazy copy ops
	even if there's a move.
	* method.c (lazily_declare_fn): Delete implicit copies
	if there's a move.
	(maybe_explain_implicit_delete): Explain this.  Use inform rather
	than error.
	* cp-tree.h: Declare new fns.

From-SVN: r180159
2011-10-18 13:39:15 -04:00
Benjamin Kosnik 4daba88481 [multiple changes]
2011-10-17  Michael Spertus  <mike_spertus@symantec.com>

	* gcc/c-family/c-common.c (c_common_reswords): Add __bases,
	__direct_bases.
	* gcc/c-family/c-common.h: Add RID_BASES and RID_DIRECT_BASES.

2011-10-17  Michael Spertus  <mike_spertus@symantec.com>

	* cp-tree.def: Add BASES as a new tree code.
	* cp-tree.h (enum cp_trait_kind): Add CPTK_BASES, CPTK_DIRECT_BASES.
	(BASES_TYPE, BASES_DIRECT): Define.
	(calculate_bases, finish_bases, calculate_direct_bases): Declare.
	* parser.c (cp_parser_trait_expr, cp_parser_template_argument_list,
	(cp_parser_simple_type_specifier, cp_parser_save_nsdmi): Use them.
	* pt.c (find_parameter_packs_r, tsubst_pack_expansion): Likewise.
	* semantics.c (calculate_bases, finish_bases, calculate_direct_bases,
	dfs_calculate_bases_pre, dfs_calculate_bases_post,
	calculate_bases_helper): Define.

2011-10-17  Michael Spertus  <mike_spertus@symantec.com>

	* g++.dg/ext/bases.C: New test.

2011-10-17  Michael Spertus  <mike_spertus@symantec.com>

	* include/tr2/type_traits (bases, direct_bases, typelist): New.

2011-10-17  Benjamin Kosnik  <bkoz@redhat.com>

	* libstdc++-v3/include/Makefile.am: Add tr2 directory and includes.
	* libstdc++-v3/include/Makefile.in: Regenerate.

	* scripts/create_testsuite_files: Search tr2 directory.
	* testsuite/libstdc++-dg/conformance.exp: Same.

	* testsuite/tr2/bases/requirements/explicit_instantiation.cc: New.
	* testsuite/tr2/bases/requirements/typedefs.cc: New.
	* testsuite/tr2/bases/value.cc: New.
	* testsuite/tr2/direct_bases/requirements/
	explicit_instantiation.cc: New.
	* testsuite/tr2/direct_bases/requirements/typedefs.cc: New.
	* testsuite/tr2/direct_bases/value.cc: New.

From-SVN: r180121
2011-10-18 02:58:06 +00:00
Rainer Orth 47fc10353d Remove duplicate symbol in gnu.ver (PR bootstrap/50715)
PR bootstrap/50715
	* config/abi/pre/gnu.ver (CXXABI_1.3.6): Remove duplicate
	__cxa_get_exception_ptr.

From-SVN: r180097
2011-10-17 15:14:54 +00:00
François Dumont 9918dc0f99 41975.cc: New.
2011-10-14  François Dumont  <francois.cppdevs@free.fr>

	* testsuite/performance/23_containers/insert_erase/41975.cc: New.

From-SVN: r179968
2011-10-14 11:25:27 +00:00
Jonathan Wakely 5fabae4e53 50714.cc: Fix mychar.
2011-10-14  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* testsuite/22_locale/codecvt_byname/50714.cc: Fix mychar.

From-SVN: r179966
2011-10-14 10:38:23 +00:00
Jonathan Yong d7a3ef9794 configure.host: Use config/os/mingw32-w64 instead of config/os/mingw32 if vendor key is "w64".
2011-10-14  Jonathan Yong  <jon_y@users.sourceforge.net>

	* configure.host: Use config/os/mingw32-w64 instead of
	config/os/mingw32 if vendor key is "w64".
	* config/os/mingw32-w64: Duplicate from config/os/mingw32.
	* config/os/mingw32-w64/os_defines.h: Enable
	_GLIBCXX_FULLY_DYNAMIC_STRING if undefined.
	* acinclude.m4: Set fully-dynamic-string to 1 when enabled,
	0 when disabled or undefined if unset by user.
	* include/bits/basic_string.h: Check if
	_GLIBCXX_FULLY_DYNAMIC_STRING is set to 0 instead of undefined.
	include/bits/basic_string.tcc: Likewise.
	* configure: Regenerated.
	* config.h.in: Likewise.

From-SVN: r179961
2011-10-14 08:57:55 +02:00
Paolo Carlini b78eebe4f5 re PR libstdc++/50714 (codecvt_byname::codecvt::_M_c_locale_codecvt not initialized by destroyed)
2011-10-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/50714
	* include/bits/codecvt.h (codecvt<>::codecvt(size_t)): Initialize
	_M_c_locale_codecvt member.
	* testsuite/22_locale/codecvt_byname/50714.cc: New.

From-SVN: r179948
2011-10-14 00:12:40 +00:00
Paolo Carlini 578f023490 re PR c++/50594 (Option -fwhole-program discards replaced new operator for std::string)
2011-10-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50594
	* decl.c (cxx_init_decl_processing): Add
	__attribute__((externally_visible)) to operator new and
	operator delete library fn.

2011-10-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/50594
	* libsupc++/new (operator new, operator delete): Decorate with
	__attribute__((__externally_visible__)).
	* include/bits/c++config: Add _GLIBCXX_THROW.
	* libsupc++/del_op.cc: Adjust.
	* libsupc++/del_opv.cc: Likewise.
	* libsupc++/del_opnt.cc: Likewise.
	* libsupc++/del_opvnt.cc: Likewise.
	* libsupc++/new_op.cc: Likewise.
	* libsupc++/new_opv.cc: Likewise.
	* libsupc++/new_opnt.cc: Likewise.
	* libsupc++/new_opvnt.cc: Likewise.
	* testsuite/18_support/50594.cc: New.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error
	line number.

From-SVN: r179863
2011-10-12 18:40:58 +00:00
Emil Wojak 92b2342a6e re PR libstdc++/50661 (std::equal should use more efficient version for arrays of pointers)
2011-10-11  Emil Wojak  <emil@wojak.eu>

	PR c++/50661
	* include/bits/stl_algobase.h (equal): Compare arrays of pointers
	too with memcmp.

From-SVN: r179801
2011-10-11 12:39:18 +00:00
Benjamin Kosnik 50da34bb1b re PR libstdc++/49818 (libsupc++ does not export __cxa_get_globals or related functions)
2011-10-10  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/49818
	* config/abi/pre/gnu.ver (CXXABI_1.3.6): Add symbols.
	* testsuite/util/testsuite_abi.cc: Same.
	* libsupc++/unwind-cxx.h: Move required eh API...
	* libsupc++/cxxabi.h: ... to here. Add required forward declarations.
	Use _GLIBCXX_NOTHROW.
	* libsupc++/pure.cc (__cxa_deleted_virtual): Add.
	* libsupc++/eh_alloc.cc: Use _GLIBCXX_NOTHROW.
	* libsupc++/eh_catch.cc: Same.
	* libsupc++/eh_globals.cc: Same.
	* libsupc++/eh_type.cc: Same.

From-SVN: r179769
2011-10-10 19:03:39 +00:00
Jonathan Wakely 920a97b75d testsuite_allocator.h (uneq_allocator): Add propagate_on_container_swap typedef for C++0x testing.
2011-10-07  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* testsuite/util/testsuite_allocator.h (uneq_allocator): Add
	propagate_on_container_swap typedef for C++0x testing.

From-SVN: r179665
2011-10-07 16:20:31 +00:00
Paolo Carlini 5847ec9338 assign_neg.cc: Tidy dg- directives, for C++0x testing too.
2011-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/27_io/ios_base/cons/assign_neg.cc: Tidy dg- directives,
	for C++0x testing too.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
	* testsuite/ext/pb_ds/example/hash_resize_neg.cc: Likewise.
	* testsuite/24_iterators/istreambuf_iterator/requirements/
	base_classes.cc: Adjust for C++0x testing.
	* testsuite/ext/codecvt/char-1.cc: Avoid warnings in C++0x mode.
	* testsuite/ext/codecvt/char-2.cc: Likewise.
	* testsuite/ext/codecvt/wchar_t.cc: Likewise.

From-SVN: r179616
2011-10-06 14:43:26 +00:00
Paolo Carlini 57d1eadd79 pod_char_traits.h: Avoid warnings in C++0x mode when int_type is unsigned.
2011-10-05  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/pod_char_traits.h: Avoid warnings in C++0x mode
	when int_type is unsigned.

From-SVN: r179587
2011-10-06 01:41:49 +00:00
Paolo Carlini 0e83f45aa6 re PR libstdc++/49561 ([C++0x] std::list::size complexity)
2011-10-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/49561
	* include/bits/stl_list.h (_List_base<>::_List_impl::_M_size):
	Add in C++0x mode.
	(_List_base<>::_List_impl, _List_base<>::_M_get_node,
	_List_base<>::_M_put_node, _List_base<>::_List_base(_List_base&&),
	list<>::size, list<>::swap, list<>::splice): Use it.
	(operator==(const list<>&, const list<>&)): Rewrite in C++0x mode.
	* include/bits/list.tcc (list<>::erase): Likewise.
	(list<>::merge): Adjust in C++0x mode.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.
	* 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: r179528
2011-10-04 22:19:44 +00:00
Paolo Carlini 6caf3f7f12 48698.cc (g): Fix return type, avoid -Wall warning.
2011-10-04  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/20_util/bind/48698.cc (g): Fix return type, avoid -Wall
	warning.

From-SVN: r179526
2011-10-04 21:42:43 +00:00
Jonathan Wakely 73f0503101 alloc_traits.h (__alloc_traits::max_size): Define.
2011-10-04  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/ext/alloc_traits.h (__alloc_traits::max_size): Define.
	(__alloc_traits::rebind): Define.
	* include/bits/stl_vector.h: Use them.
	* testsuite/util/testsuite_allocator.h (SimpleAllocator): Define.
	* testsuite/23_containers/vector/allocator/minimal.cc: New.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Adjust dg-error line numbers.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Likewise.

From-SVN: r179523
2011-10-04 21:34:54 +01:00
Jonathan Wakely 491258e638 pointer_to.cc: Define equality operator and use.
2011-10-03  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* testsuite/20_util/pointer_traits/pointer_to.cc: Define equality
	operator and use.

From-SVN: r179473
2011-10-03 20:11:53 +01:00
Paolo Carlini 1c29961267 hashtable.h (_Hashtable<>::insert(value_type&&), [...]): Don't define here...
2011-10-03  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable.h (_Hashtable<>::insert(value_type&&),
	insert(const_iterator, value_type&&)): Don't define here...
	* include/bits/unordered_set.h (__unordered_set<>,
	__unordered_multiset<>): ... define here instead.

From-SVN: r179464
2011-10-03 15:28:47 +00:00
Jason Merrill d602756341 re PR c++/35722 ([C++0x] Variadic templates expansion into non-variadic class template)
PR c++/35722
	Implement N2555 (expanding pack expansion to fixed parm list)
	* pt.c (coerce_template_parms): Allow expanding a pack expansion
	to a fixed-length argument list.
	(unify_pack_expansion): Handle explicit args properly.
	(unify) [TREE_VEC]: Handle pack expansions here.
	[TYPE_ARGUMENT_PACK]: Not here.
	(tsubst_pack_expansion): Don't try to do partial substitution.
	(pack_deducible_p): New.
	(fn_type_unification): Use it.
	(find_parameter_packs_r): Take the TYPE_MAIN_VARIANT
	of a type parameter.
	(check_non_deducible_conversion): Split from type_unification_real.
	(unify_one_argument): Split from type_unification_real...
	(unify_pack_expansion): ...and here.  Drop call_args_p parm.
	(type_unification_real, unify, more_specialized_fn): Adjust.

From-SVN: r179436
2011-10-02 17:45:01 -04:00
François Dumont cdfa3dbb86 vector (vector<>::erase(iterator, iterator): Check iterators equality using normal iterators.
2011-10-01  François Dumont  <fdumont@gcc.gnu.org>

        * include/debug/vector (vector<>::erase(iterator, iterator): Check
        iterators equality using normal iterators.
        * include/debug/deque (deque<>::erase(iterator, iterator): Likewise.

From-SVN: r179414
2011-10-01 19:21:57 +00:00
Paolo Carlini b24a983561 hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): Remove noexcept from declaration too.
2011-09-29  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)):
	Remove noexcept from declaration too.

From-SVN: r179360
2011-09-29 17:26:32 +00:00
Benjamin Kosnik 5e3a0ed1a7 *: Regenerate.
2011-09-27  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/html/*: Regenerate.

	* doc/Makefile.am: Un-nest the ext output directory.
	* doc/Makefile.in: Regenerate.
	* spine.xml: Remove authors, add abstract for short
	contents. Rename to index.html for html output.
	* manual/spine.xml: Authors here, manual starts with index.html.
	* api.xml: Update.
	* faq.xml: Same.

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

From-SVN: r179304
2011-09-28 01:37:10 +00:00
Marcus Shawcroft 16fa5e238a tinfo.cc (type_info::operator==): Test __name instead of name().
2011-09-27  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* libsupc++/tinfo.cc (type_info::operator==): Test __name instead
	of name().

From-SVN: r179236
2011-09-27 06:03:58 +00:00
Paolo Carlini a7cee01d32 re PR libstdc++/50529 ([C++0x] std::vector::erase invokes undefined behavior with empty range)
2011-09-26  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/50529
	* include/bits/vector.tcc (vector<>::erase(iterator, iterator)):
	Fix to do nothing if the range is empty.
	* include/bits/stl_bvector.h: Likewise.
	* include/bits/deque.tcc: Likewise.
	* include/debug/vector: Adjust.
	* include/debug/deque: Likewise.
	* testsuite/23_containers/vector/modifiers/erase/50529.cc: New.
	* testsuite/23_containers/deque/modifiers/erase/50529.cc: Likewise.
	* testsuite/23_containers/deque/modifiers/erase/3.cc: Adjust.

From-SVN: r179234
2011-09-27 02:39:34 +00:00
Benjamin Kosnik 2799d97293 re PR libstdc++/48698 (gnu-versioned-namespace problems)
2011-09-26  Benjamin Kosnik  <bkoz@redhat.com
            Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/48698
	* acinclude.m4 (GLIBCXX_ENABLE_SYMVERS): Set libtool_VERSION here.
	* configure.ac: Move AC_SUBST of libtool_VERSION past call to
	GLIBCXX_ENABLE_SYMVERS.
	* configure: Regenerate.
	* include/bits/c++config: Use __7 as versioned namespace name.
	* config/abi/pre/gnu-versioned-namespace.ver: Change mangling as
	per above.
	* include/c_global/cwchar: Adjust nested namespaces.
	* testsuite/20_util/bind/48698.cc: Add test case.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Change line number.

From-SVN: r179221
2011-09-27 00:02:54 +00:00
Paolo Carlini a0ce4616fb revert: testsuite_error.h: Add empty default constructor to __gnu_test::test_category and...
2011-09-25  Paolo Carlini  <paolo.carlini@oracle.com>

	Revert (no longer necessary post r179130):

	2010-04-27  Fabien Chêne  <fabien.chene@gmail.com>

	* testsuite/util/testsuite_error.h: Add empty default constructor
	to __gnu_test::test_category and
	__gnu_test::test_derived_category.
	* src/future.cc: Add empty default constructor to
	future_error_category.
	* src/system_error.cc: Add default ctor to generic_error_category
	and system_error_category.

From-SVN: r179172
2011-09-25 20:58:46 +00:00
John Salmon 82582df651 re PR libstdc++/50510 ([C++0x] transposed variable names in std::seed_seq::generate)
2011-09-24  John Salmon  <john.salmon@deshaw.com>

	PR libstdc++/50510
	* include/bits/random.tcc (seed_seq::generate): Fix computation.

From-SVN: r179149
2011-09-24 22:34:50 +00:00
John Salmon 9d1f3ce6ff re PR libstdc++/50509 ([C++0x] incorrect code in std::seed_seq::generate)
2011-09-24  John Salmon  <john.salmon@deshaw.com>

	PR libstdc++/50509
	* include/bits/random.tcc (seed_seq::generate): Fix computation.

From-SVN: r179144
2011-09-24 18:28:36 +00:00
Benjamin Kosnik 696d4bc16e Makefile.am (stamp-epub-docbook): Fix image directory location.
2011-09-21  Benjamin Kosnik  <bkoz@redhat.com

	* doc/Makefile.am (stamp-epub-docbook): Fix image directory location.
	* doc/Makefile.in: Regenerate.

From-SVN: r179066
2011-09-21 23:46:36 +00:00
Paolo Carlini fd1e62c239 limits.cc: Replace everywhere __int128_t -> __int128, and __uint128_t -> unsigned __int128.
2011-09-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/limits.cc: Replace everywhere __int128_t -> __int128, and
	__uint128_t -> unsigned __int128.
	* include/std/type_traits: Likewise.
	* include/std/limits: Likewise.
	* testsuite/18_support/numeric_limits/dr559.cc: Likewise.
	* testsuite/18_support/numeric_limits/lowest.cc: Likewise.
	* testsuite/18_support/numeric_limits/40856.cc: Likewise.
	* testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
	* testsuite/util/testsuite_common_types.h: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs-1.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
	* testsuite/20_util/is_floating_point/value.cc: Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
	* testsuite/20_util/is_signed/value.cc: Likewise.
	* testsuite/20_util/is_unsigned/value.cc: Likewise.
	* testsuite/20_util/is_integral/value.cc: Likewise.
	* config/abi/pre/gnu.ver: Likewise.
	* acinclude.m4: Likewise.
	* configure: Regenerate.
	* config.h.in: Likewise.

From-SVN: r179044
2011-09-21 11:23:11 +00:00
Paolo Carlini 12bfa8bd29 re PR libstdc++/40856 (numeric_limits not specialized for __int128_t or __uint128_t)
2011-09-19  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/40856
	* include/std/limits (numeric_limits<__int128_t>,
	numeric_limits<__uint128_t>): Add.
	* src/limits.cc:Define.
	* config/abi/pre/gnu.ver: Export.
	* include/ext/typelist.h (_GLIBCXX_TYPELIST_CHAIN16, 20): Add.
	* testsuite/util/testsuite_common_types.h (integral_types_gnu): Add
	(limits_tl): Use it.
	* testsuite/18_support/numeric_limits/requirements/
	constexpr_functions.cc: Likewise.
	* testsuite/18_support/numeric_limits/40856.cc: New.
	* testsuite/18_support/numeric_limits/dr559.cc: Extend.
	* testsuite/18_support/numeric_limits/lowest.cc: Likewise.
	* testsuite/18_support/numeric_limits/max_digits10.cc: Likewise.
	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust dg-error
	line numbers.
	* testsuite/29_atomics/atomic/cons/copy_neg.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/bitwise_neg.cc:
	Likewise.
	* testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc:
	Likewise.
	* testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
	Likewise.

From-SVN: r178969
2011-09-19 11:52:49 +00:00
Paolo Carlini 6d585f0114 re PR libstdc++/50441 ([C++0x] <type_traits> is missing GNU extension types)
2011-09-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/50441
	* acinclude.m4 ([GLIBCXX_ENABLE_INT128_FLOAT128]): Add.
	* configure.ac: Call it.
	* include/std/type_traits (__is_integral_helper<__int128_t>,
	__is_integral_helper<__uint128_t>,
	__is_floating_point_helper<__float128>,
	__make_unsigned<__int128_t>, __make_signed<__uint128_t>): Add.
	* testsuite/20_util/make_signed/requirements/typedefs-1.cc: Extend.
	* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
	* testsuite/20_util/is_signed/value.cc: Likewise.
	* testsuite/20_util/is_unsigned/value.cc: Likewise.
	* testsuite/20_util/is_integral/value.cc: Likewise.
	* testsuite/20_util/is_floating_point/value.cc: New.
	* testsuite/20_util/is_floating_point/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_floating_point/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.
	* configure: Regenerate.
	* config.h.in: Likewise.

From-SVN: r178933
2011-09-17 23:53:26 +00:00
François Dumont 1c56f7cb72 hashtable.h (_Hashtable<>::__rehash_policy(const _RehashPolicy&)): Commit the modification of the policy only if no exception occured.
2011-09-17  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable.h (_Hashtable<>::__rehash_policy(const
	_RehashPolicy&)): Commit the modification of the policy only if no
	exception occured.
	* testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
	New.

From-SVN: r178927
2011-09-17 09:12:24 +00:00
Paolo Carlini 71743a68ec less_or_equal.cc: New.
2011-09-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/array/comparison_operators/
	less_or_equal.cc: New.
	* testsuite/23_containers/array/comparison_operators/
	greater_or_equal.cc: Likewise.
	* testsuite/23_containers/array/comparison_operators/less.cc: Likewise.
	* testsuite/23_containers/array/comparison_operators/equal.cc: Likewise.
	* testsuite/23_containers/array/comparison_operators/not_equal.cc:
	Likewise.
	* testsuite/23_containers/array/comparison_operators/greater.cc:
	Likewise.
	* testsuite/23_containers/array/iterators/end_is_one_past.cc: Likewise.
	* testsuite/23_containers/array/capacity/empty.cc: Likewise.
	* testsuite/23_containers/array/capacity/max_size.cc: Likewise.
	* testsuite/23_containers/array/capacity/size.cc: Likewise.
	* testsuite/23_containers/array/tuple_interface/tuple_element.cc:
	Likewise.
	* testsuite/23_containers/array/tuple_interface/tuple_size.cc:
	Likewise.
	* testsuite/23_containers/array/element_access/at_out_of_range.cc:
	Likewise.
	* testsuite/23_containers/array/element_access/back.cc: Likewise.
	* testsuite/23_containers/array/element_access/front.cc: Likewise.
	* testsuite/23_containers/array/element_access/data.cc: Likewise.
	* testsuite/23_containers/array/cons/aggregate_initialization.cc:
	Likewise.
	* testsuite/23_containers/array/requirements/zero_sized_arrays.cc:
	Likewise.
	* testsuite/23_containers/array/requirements/contiguous.cc: Likewise.
	* testsuite/23_containers/array/requirements/member_swap.cc: Likewise.
	* testsuite/23_containers/array/specialized_algorithms/swap.cc:
	Likewise.
	* testsuite/23_containers/array/constexpr_get.cc: Move...
	* testsuite/23_containers/array/tuple_interface/constexpr_get.cc:
	... here.
	* testsuite/23_containers/array/requirements/get.cc: Move...
	* testsuite/23_containers/array/tuple_interface/get: ... here.
	* testsuite/23_containers/array/at_neg.cc: Move...
	* testsuite/23_containers/array/element_access: ... here.
	* testsuite/23_containers/array/requirements/constexpr_functions.cc:
	Move...
	* testsuite/23_containers/array/capacity: ... here.
	* testsuite/23_containers/array/requirements/
	constexpr_element_access.cc: Move...
	* testsuite/23_containers/array/element_access: ... here.

	* testsuite/20_util/duration/cons/1_neg.cc: Avoid -Wall warnings.
	* testsuite/20_util/tuple/creation_functions/constexpr.cc: Likewise.
	* testsuite/20_util/pair/make_pair/constexpr.cc: Likewise.
	* testsuite/20_util/time_point/nonmember/constexpr.cc: Likewise.
	* testsuite/23_containers/bitset/operations/constexpr.cc: Likewise.

	* testsuite/20_util/duration/cons/1_neg.cc: Discard bogus warning.
	* testsuite/20_util/forward/1_neg.cc: Likewise.

From-SVN: r178911
2011-09-16 16:28:31 +00:00
Paolo Carlini fae3f4598a tuple (make_tuple, [...]): Declare constexpr.
2011-09-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/tuple (make_tuple, forward_as_tuple): Declare constexpr.
	(_Tuple_impl<>::_Tuple_impl(_Tuple_impl<>&&)): Likewise.
	* testsuite/20_util/tuple/creation_functions/constexpr.cc: Enable
	make_tuple test.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
	line number.

From-SVN: r178904
2011-09-16 00:41:33 +00:00
François Dumont 7e5ac0a4f5 hashtable.h (_Hashtable<>::_M_rehash): Take and restore hash policy _M_prev_resize on exception.
2011-09-14  François Dumont  <fdumont@gcc.gnu.org>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable.h (_Hashtable<>::_M_rehash): Take and restore
	hash policy _M_prev_resize on exception.
	(_Hashtable<>::_M_insert_bucket): Capture hash policy next resize
	before using it and use latter method to have it restored on exception.
	(_Hashtable<>::_M_insert(_Arg&& __v, std::false_type): Likewise.
	(_Hashtable<>::insert(_InputIterator, _InputIterator): Likewise.
	(_Hashtable<>::rehash): Likewise.
	* testsuite/23_containers/unordered_set/insert/hash_policy.cc: New.
	* testsuite/23_containers/unordered_multiset/insert/hash_policy.cc:
	Likewise.


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

From-SVN: r178861
2011-09-14 19:50:20 +00:00
Paul Brook 1e874273f8 arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2011-09-13  Paul Brook  <paul@codesourcery.com>
 
	gcc/
	* config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
	(ARM_TARGET2_DWARF_FORMAT): Provide default definition.
	* config/arm/linux-eabi.h (ARM_TARGET2_DWARF_FORMAT): Define.
	* config/arm/symbian.h (ARM_TARGET2_DWARF_FORMAT): Define.
	* config/arm/uclinux-eabi.h(ARM_TARGET2_DWARF_FORMAT): Define.
	* config/arm/t-bpabi (EXTRA_HEADERS): Add unwind-arm-common.h.
	* config/arm/t-symbian (EXTRA_HEADERS): Add unwind-arm-common.h.
	* config/c6x/c6x.c (c6x_output_file_unwind): Don't rely on dwarf2 code
	enabling unwind tables.
	(c6x_debug_unwind_info): New function.
	(TARGET_ARM_EABI_UNWINDER): Define.
	(TARGET_DEBUG_UNWIND_INFO): Define.
	* config/c6x/c6x.h (DWARF_FRAME_RETURN_COLUMN): Define.
	(TARGET_EXTRA_CFI_SECTION): Remove.
	* config/c6x/t-c6x-elf (EXTRA_HEADERS): Set.
	* ginclude/unwind-arm-common.h: New file.

	libgcc/
	* config.host (tic6x-*-*): Add c6x/t-c6x-elf.  Set unwind_header.
	* unwind-c.c (PERSONALITY_FUNCTION): Use UNWIND_POINTER_REG.
	* unwind-arm-common.inc: New file.
	* config/arm/unwind-arm.c: Use unwind-arm-common.inc.
	* config/arm/unwind-arm.h: Use unwind-arm-common.h.
	(_GLIBCXX_OVERRIDE_TTYPE_ENCODING): Define.
	* config/c6x/libunwind.S: New file.
	* config/c6x/pr-support.c: New file.
	* config/c6x/unwind-c6x.c: New file.
	* config/c6x/unwind-c6x.h: New file.
	* config/c6x/t-c6x-elf: New file.


	libstdc++-v3/
	* libsupc++/eh_arm.cc (__cxa_end_cleanup): Add C6X implementation.
	* libsupc++/eh_call.cc (__cxa_call_unexpected): Set rtti_base.
	* libsupc++/eh_personality.cc (NO_SIZE_OF_ENCODED_VALUE): Remove
	__ARM_EABI_UNWINDER__ check.
	(parse_lsda_header): Check _GLIBCXX_OVERRIDE_TTYPE_ENCODING.
	(get_ttype_entry): Use generic implementation on ARM EABI.
	(check_exception_spec): Use _Unwind_decode_typeinfo_ptr and
	UNWIND_STACK_REG.
	(PERSONALITY_FUNCTION): Set ttype_base.

From-SVN: r178808
2011-09-13 12:48:33 +00:00
Daniel Krugler 9480716c80 tuple (_Head_base<>::_M_head, [...]): Change to static constexpr functions; adjust everywhere.
2011-09-12  Daniel Krugler  <daniel.kruegler@googlemail.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/tuple (_Head_base<>::_M_head, _Head_base<>::_M_tail,
	_Tuple_impl<>::_M_head, _Tuple_impl<>::_M_tail): Change to static
	constexpr functions; adjust everywhere.
	(__get_helper, get): Declare constexpr all three overloads.
	(tuple_cat): Declare constexpr; use late return type to improve
	error messages.
	* include/std/utility (__pair_get<>::__get, __pair_get<>::__move_get,
	__pair_get<>::__const_get, get): Declare all constexpr.
	* include/std/array (get): Likewise.
	* testsuite/20_util/tuple/creation_functions/constexpr.cc: Re-enable
	tuple_cat test.
	* testsuite/23_containers/array/constexpr_get.cc: New.
	* testsuite/20_util/tuple/element_access/constexpr_get.cc: Likewise.
	* testsuite/20_util/pair/constexpr_get.cc: Likewise.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
	line number.

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

From-SVN: r178799
2011-09-13 00:06:25 +00:00
Jason Merrill 62a405ddf3 * call.c (convert_class_to_reference)
(convert_class_to_reference_1): Remove.
	(reference_binding): Use build_user_type_conversion_1 instead.

From-SVN: r178789
2011-09-12 14:04:46 -04:00
Daniel Krugler ac65b7d221 re PR libstdc++/50159 ([C++0x] tuple_cat only accepts two arguments)
2011-09-11  Daniel Krugler  <daniel.kruegler@googlemail.com>

	PR libstdc++/50159
	* include/std/tuple (tuple_cat): Reimplement according to the
	resolution of LWG 1385.
	* include/std/type_traits: Define __and_ and __or_ for zero
	arguments too; minor tweaks.
	* testsuite/20_util/tuple/creation_functions/tuple_cat.cc: New.
	* testsuite/20_util/tuple/creation_functions/constexpr.cc: Disable
	for now tuple_cat test.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
	line numbers.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* doc/xml/manual/status_cxx200x.xml: Update.

From-SVN: r178770
2011-09-11 22:10:21 +00:00
Paolo Carlini 049d289351 tuple: Use everywhere std::size_t...
2011-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/tuple: Use everywhere std::size_t... instead of int...
	* include/std/functional: Likewise.
	* include/std/scoped_allocator: Likewise.
	* include/bits/stl_pair.h: Likewise.

From-SVN: r178746
2011-09-10 00:47:02 +00:00
Paolo Carlini ebb6e4af61 re PR libstdc++/50336 (LWG issue 445)
2011-09-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/50336
	* include/bits/streambuf_iterator.h (class istreambuf_iterator):
	Implement LWG 445 in C++0x mode.
	* testsuite/24_iterators/istreambuf_iterator/requirements/dr445.cc:
	New.

From-SVN: r178713
2011-09-08 22:42:21 +00:00
Dodji Seketeli 3797cb21ff PR c++/33255 - Support -Wunused-local-typedefs warning
gcc/

	* c-decl.c (lookup_name): Use the new
	maybe_record_typedef_use.
	(pushdecl): Use the new
	record_locally_defined_typedef.
	(store_parm_decls): Allocate cfun->language.
	(finish_function): Use the new maybe_warn_unused_local_typedefs,
	and free cfun->language.
	(c_push_function_context): Allocate cfun->language here only if
	needed.
	(c_pop_function_context): Likewise, mark cfun->language
	for collection only when it should be done.
	* c-common.c (handle_used_attribute): Don't ignore TYPE_DECL
	nodes.
	* c-typeck.c (c_expr_sizeof_type, c_cast_expr): Use the new
	maybe_record_local_typedef_use.

gcc/c-family

	* c-common.h (struct c_language_function::local_typedefs): New
	field.
	(record_locally_defined_typedef, maybe_record_typedef_use)
	(maybe_warn_unused_local_typedefs): Declare new functions.
	* c-common.c (record_locally_defined_typedef)
	(maybe_record_typedef_use)
	(maybe_warn_unused_local_typedefs): Define new functions.
	* c.opt: Declare new -Wunused-local-typedefs flag.

gcc/cp

	* name-lookup.c (pushdecl_maybe_friend_1): Use the new
	record_locally_defined_typedef.
	* decl.c (finish_function): Use the new
	maybe_warn_unused_local_typedefs.
	(grokfield): Use the new record_locally_defined_typedef.
	* parser.c (lookup_name): Use the new maybe_record_typedef_use.

gcc/doc/

	* invoke.texi: Update documentation for -Wunused-local-typedefs.

gcc/testsuite/

	* g++.dg/warn/Wunused-local-typedefs.C: New test file.
	* c-c++-common/Wunused-local-typedefs.c: Likewise.

libstdc++-v3/

	* include/ext/bitmap_allocator.h
	(__detail::__mini_vector::__lower_bound): Remove unused typedef.
	* src/istream.cc (std::operator>>(basic_istream<char>& __in,
	basic_string<char>& __str)): Likewise.
	(std::getline): Likewise.
	* src/valarray.cc (__valarray_product): Likewise.

From-SVN: r178692
2011-09-08 15:54:24 +02:00
François Dumont 02dce1e99c at.cc: Revert to...
2011-09-07  François Dumont  <francois.cppdevs@free.fr>

	* testsuite/23_containers/array/at.cc: Revert to...
	* testsuite/23_containers/array/at_neg.cc: ...this.

From-SVN: r178670
2011-09-08 01:24:11 +00:00
Jason Merrill 30288f9aa2 pt.c (type_unification_real): Correct complain arg for tsubsting default template args.
* pt.c (type_unification_real): Correct complain arg for tsubsting
	default template args.

From-SVN: r178651
2011-09-07 13:11:37 -04:00
Benjamin Kosnik a7d0c94ef1 tuple (_Tuple_impl::_M_head, _M_tail): Mark constexpr.
2011-09-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/tuple (_Tuple_impl::_M_head, _M_tail): Mark constexpr.
	(tuple(tuple&&)): Same.
	(tuple(const tuple<_UElements...>& __in)): Same.
	(tuple(tuple<_UElements...>&& __in)): Same.
	(tuple_cat(const tuple<_TElements...>&, const tuple<_UElements...>&)):
	Same.
	(get): Same.
	* include/std/array: Consolidate array::data usage.
	* testsuite/23_containers/array/requirements/constexpr_functions.cc:
	Remove extra include.
	* testsuite/20_util/tuple/creation_functions/constexpr.cc: New.
	* testsuite/20_util/tuple/cons/constexpr-2.cc: Add tests.
	* testsuite/20_util/tuple/cons/constexpr-3.cc: Same.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust line numbers.

From-SVN: r178620
2011-09-07 00:17:09 +00:00
François Dumont e25fc78ff5 hashtable_policy.h (_Prime_rehash_policy:: _M_next_bkt): Cast _M_max_load_factor to long double.
2011-09-06  François Dumont  <fdumont@gcc.gnu.org>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable_policy.h (_Prime_rehash_policy::
	_M_next_bkt): Cast _M_max_load_factor to long double.
	(_Prime_rehash_policy::_M_bkt_for_elements): Use _M_next_bkt.
	(_Prime_rehash_policy::_M_need_rehash): Likewise; cast all
	float quantities to long double.

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

From-SVN: r178615
2011-09-06 22:13:46 +00:00
Paolo Carlini 4cdccf2665 re PR libstdc++/50257 ([C++0x] unordered_map slow initialization due to huge __prime_list)
2011-09-06  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/50257
	* include/bits/hashtable_policy.h (_Prime_rehash_policy::
   	_M_next_bkt): Optimize for small argument.

From-SVN: r178581
2011-09-06 10:22:21 +00:00
François Dumont e1f3ce0db1 testsuite_allocator.h (tracker_allocator_counter:: allocate): Update allocation count only if allocation succeeded.
2011-09-02  François Dumont  <fdumont@gcc.gnu.org>

	* testsuite/util/testsuite_allocator.h (tracker_allocator_counter::
	allocate): Update allocation count only if allocation succeeded.

From-SVN: r178486
2011-09-02 15:54:16 +00:00
Paolo Carlini 6aa67e7b99 bitset: Trivial formatting fixes.
2011-09-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/bitset: Trivial formatting fixes.

From-SVN: r178478
2011-09-02 13:49:10 +00:00
Paolo Carlini 0217ac04cb bitset (_Base_bitset<>::_M_are_all_aux): Remove.
2011-09-02  Paolo Carlini  <paolo.carlini@oracle.com>
	    Marc Glisse  <marc.glisse@normalesup.org>

	* include/std/bitset (_Base_bitset<>::_M_are_all_aux): Remove.
	(_Base_bitset<>::_M_are_all): Add.
	(bitset<>::all): Use the latter, improve implementation.

Co-Authored-By: Marc Glisse <marc.glisse@normalesup.org>

From-SVN: r178473
2011-09-02 13:30:32 +00:00
Paolo Carlini 5da7fa30da re PR libstdc++/50268 ([C++0x] bitset doesn't sanitize input)
2011-09-02  Paolo Carlini  <paolo.carlini@oracle.com>
	    Marc Glisse  <marc.glisse@normalesup.org>

	PR libstdc++/50268
	* include/std/bitset (struct _Sanitize_val): Add.
	(bitset<>::bitset(unsigned long long)): Fix.
	* testsuite/23_containers/bitset/cons/50268.cc: New.

Co-Authored-By: Marc Glisse <marc.glisse@normalesup.org>

From-SVN: r178463
2011-09-02 10:28:36 +00:00
Paolo Carlini 290df23d48 hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)): Remove noexcept, the move constructor allocates memory...
2011-09-01  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable.h (_Hashtable<>::_Hashtable(_Hashtable&&)):
	Remove noexcept, the move constructor allocates memory; rearrange
	the code in the body to consistently update __ht._M_rehash_policy
	before using _M_next_bkt on it.
	* include/debug/unordered_map: Adjust.
	* include/debug/unordered_set: Likewise.
	* include/profile/unordered_map: Likewise.
	* include/profile/unordered_set: Likewise.
	* testsuite/23_containers/unordered_map/cons/
	noexcept_move_construct.cc: Remove.
	* testsuite/23_containers/unordered_set/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/cons/
	noexcept_move_construct.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/cons/
	noexcept_move_construct.cc: Likewise.

From-SVN: r178423
2011-09-01 15:45:20 +00:00
Paolo Carlini dbb45bf915 chrono (operator*(const _Rep1&, const duration<>&)): Fix order of template parameters per LWG 2004.
2011-08-31  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/chrono (operator*(const _Rep1&, const duration<>&)):
	Fix order of template parameters per LWG 2004.

From-SVN: r178374
2011-08-31 10:29:31 +00:00
Paolo Carlini b671737962 stl_iterator.h (make_move_iterator): Implement DR2061.
2011-08-30  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_iterator.h (make_move_iterator): Implement DR2061.
	* testsuite/24_iterators/move_iterator/dr2061.cc: New.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-warning
	line numbers.

From-SVN: r178330
2011-08-30 15:34:50 +00:00
Paolo Carlini 54e776dc2d error_constants.h: Fix commas.
2011-08-30  Paolo Carlini  <paolo.carlini@oracle.com>

	* config/os/mingw32/error_constants.h: Fix commas.

From-SVN: r178286
2011-08-30 08:57:52 +00:00
Benjamin Kosnik c419868bdf constexpr.cc: Add.
2011-08-29  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/20_util/duration/arithmetic/constexpr.cc: Add.

From-SVN: r178265
2011-08-29 23:25:17 +00:00
Kai Tietz edf2239b37 configure: Regenerated.
* configure: Regenerated.
	* config.h.in: Regenerated.
	* acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR)  Add
	checks for ECHILD, ENOSPC, EPERM, ETIMEDOUT, and
	EWOULDBLOCK.
	*  config/os/mingw32/error_constants.h (errc): Add
	enumerator values no_child_process, no_space_on_device,
	not_supported, operation_not_permitted, operation_would_block,
	timed_out, and value_too_large,

From-SVN: r178257
2011-08-29 21:57:24 +02:00
Paolo Carlini 9fdf1422c7 2011-08-29 Paolo Carlini <paolo.carlini@oracle.com>
* Tweak last ChangeLog entry.

From-SVN: r178234
2011-08-29 13:50:26 +00:00
Paolo Carlini ff15f019e0 re PR libstdc++/50118 (node-based containers cannot use allocators with explicit constructor template)
2011-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/50118
	* include/bits/stl_list.h (_List_base<>::
	_List_base(const allocator_type&)): Remove.
	(_List_base<>::_List_base(const _Node_alloc_type&)): Add.
	(list<>:list(const allocator_type&), list(size_type, const
	value_type&, const allocator_type&),
	list(initializer_list<, const allocator_type&),
	list(_InputIterator, _InputIterator, const allocator_type&),
	insert(iterator, size_type, const value_type&),
	insert(iterator, _InputIterator, _InputIterator)): Adjust.
	* include/bits/stl_tree.h (_Rb_tree<>::_Rb_tree(const _Compare&,
	const allocator_type&)): Fix.
	* include/bits/stl_map.h (map<>::map(const _Compare&,
 	const allocator_type&), map(initializer_list<>,
	const _Compare&, const allocator_type&), map(_InputIterator,
	_InputIterator, const _Compare&, const allocator_type&),
	get_allocator): Adjust.
	* include/bits/stl_set.h (set<>::set(const _Compare&,
 	const allocator_type&), set(initializer_list<>,
	const _Compare&, const allocator_type&), set(_InputIterator,
	_InputIterator, const _Compare&, const allocator_type&),
	get_allocator): Likewise.
	* include/bits/stl_multimap.h (multimap<>::multimap(const _Compare&,
 	const allocator_type&), multimap(initializer_list<>,
	const _Compare&, const allocator_type&), multimap(_InputIterator,
	_InputIterator, const _Compare&, const allocator_type&),
	get_allocator): Likewise.
	* include/bits/stl_multiset.h (multiset<>::multiset(const _Compare&,
 	const allocator_type&), multiset(initializer_list<>,
	const _Compare&, const allocator_type&), multiset(_InputIterator,
	_InputIterator, const _Compare&, const allocator_type&),
	get_allocator): Likewise.
	* include/bits/forward_list.h (_Fwd_list_base<>::
	_Fwd_list_base(const _Alloc&), _Fwd_list_base(const _Fwd_list_base&,
	const _Alloc&), _Fwd_list_base(_Fwd_list_base&&, const _Alloc&)):
	Remove.
	(_Fwd_list_base<>::_Fwd_list_base(const _Node_alloc_type&),
	_Fwd_list_base(const _Fwd_list_base&,
	const _Node_alloc_type&), _Fwd_list_base(_Fwd_list_base&&,
	const _Node_alloc_type&)): Add.
	(forward_list<>::forward_list(const _Alloc&),
	forward_list(const forward_list&, const _Alloc&),
	forward_list(forward_list&&, const _Alloc&),
	forward_list(size_type, const _Tp&, const _Alloc&),
	forward_list(_InputIterator, _InputIterator, const _Alloc&),
	forward_list(std::initializer_list<>, const _Alloc&),
	get_allocator): Adjust.
	* include/bits/forward_list.tcc
	* testsuite/util/testsuite_allocator.h (ExplicitConsAlloc): Add.
	* testsuite/23_containers/unordered_map/requirements/
	explicit_instantiation/5.cc: New.
	* testsuite/23_containers/multimap/requirements/
	explicit_instantiation/5.cc: Likewise.
	* testsuite/23_containers/multimap/requirements/
	explicit_instantiation/5_c++0x.cc: Likewise.
	* testsuite/23_containers/set/requirements/explicit_instantiation/
	5.cc: Likewise.
	* testsuite/23_containers/set/requirements/explicit_instantiation/
	5_c++0x.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/requirements/
	explicit_instantiation/5.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/
	explicit_instantiation/5.cc: Likewise.
	* testsuite/23_containers/unordered_set/requirements/
	explicit_instantiation/5.cc: Likewise.
	testsuite/23_containers/multiset/requirements/explicit_instantiation/
	5.cc: Likewise.
	* testsuite/23_containers/multiset/requirements/
	explicit_instantiation/5_c++0x.cc: Likewise.
	* testsuite/23_containers/list/requirements/explicit_instantiation/
	5_c++0x.cc: Likewise.
	* testsuite/23_containers/list/requirements/explicit_instantiation/
	5.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/requirements/
	explicit_instantiation/5.cc: Likewise.
	* testsuite/23_containers/map/requirements/explicit_instantiation/
	5.cc: Likewise.
	* testsuite/23_containers/map/requirements/explicit_instantiation/
	5_c++0x.cc: Likewise.
	* 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.
	* 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: r178230
2011-08-29 13:40:33 +00:00
Rainer Orth 09fae88db5 Handle different versions of Solaris 8 <iso/math_iso.h>, <iso/stdlib_iso.h>
* acinclude.m4 (GLIBCXX_CHECK_MATH_PROTO)
	(GLIBCXX_CHECK_STDLIB_PROTO): New tests.
	* configure.ac (GLIBCXX_CHECK_MATH_PROTO)
	(GLIBCXX_CHECK_STDLIB_PROTO): Call them.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* config/os/solaris/solaris2.8/os_defines.h
	(__CORRECT_ISO_CPP_MATH_H_PROTO2): Don't define.
	* config/os/solaris/solaris2.9: Remove.
	* configure.host (solaris2.8): Merge with ...
	(solaris2.9, solaris2.1[0-9]): ... this.
	Always use os/solaris/solaris2.8.

From-SVN: r178217
2011-08-29 12:54:55 +00:00
Paolo Carlini 75f5cbb17b move.h (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Remove workaround for c++/49045.
2011-08-28  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/move.h (swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Remove
	workaround for c++/49045.
	* include/bits/algorithmfwd.h: Likewise.

From-SVN: r178147
2011-08-28 21:05:48 +00:00
Tom Tromey 01bb8ae217 simple.cc: New file.
* testsuite/libstdc++-prettyprinters/simple.cc: New file.
	* testsuite/lib/gdb-test.exp: New file.
	* testsuite/libstdc++-prettyprinters/prettyprinters.exp: New
	file.

From-SVN: r178066
2011-08-25 14:29:47 +00:00
Marc Glisse 079a5ca908 cmath: Extend/update comment.
2011-08-18  Marc Glisse  <marc.glisse@normalesup.org>

	* include/tr1/cmath: Extend/update comment.

From-SVN: r177873
2011-08-18 16:56:55 +00:00
Paolo Carlini 6ba30237b9 re PR libstdc++/50119 ([C++0x] copy_n advances InputIterator one more time than necessary)
2011-08-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/50119
	* include/bits/stl_algo.h (__copy_n(_InputIterator, _Size,
	_OutputIterator, input_iterator_tag)): Fix.
	* testsuite/25_algorithms/copy_n/50119.cc: New.

From-SVN: r177871
2011-08-18 16:32:23 +00:00
Marc Glisse a1998fab44 Use Solaris prototypes if possible (PR libstdc++-v3/1773)
Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>

From-SVN: r177866
2011-08-18 14:59:47 +00:00
Benjamin Kosnik 86938b2c85 *: Image and image filename changes.
2011-08-14  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/images/*: Image and image filename changes.

From-SVN: r177757
2011-08-15 00:54:18 +00:00
Benjamin Kosnik 154c4a088e make_graph_test_infos.xml: Edit.
2011-08-14  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/data/make_graph_test_infos.xml: Edit.
	* testsuite/data/make_graph_htmls.xml: Remove
	* scripts/make_graph.py: Edit, fix.
	* scripts/make_graphs.py: Remove.

	* doc/Makefile.am (doc-svg-performance): New.
	(doc-html-performance): Remove.
	* doc/Makefile.in: Regenerate.

	* doc/xml/manual/test_policy_data_structures.xml: Markup changes.
	* doc/xml/manual/policy_data_structures.xml: Same.
	* doc/xml/manual/locale.xml: Same.

	Testsuite renames.
	* performance/ext/pb_ds/priority_queue_text_modify_down_timing.cc:
	Rename.
	* performance/ext/pb_ds/random_int_find_timing.cc: Same.
	* performance/ext/pb_ds/multimap_text_insert_mem_usage.hpp
	* performance/ext/pb_ds/multimap_text_find_timing.hpp
	* performance/ext/pb_ds/priority_queue_random_int_push_timing.cc: Same.
	* performance/ext/pb_ds/priority_queue_text_modify_timing.hpp
	* performance/ext/pb_ds/tree_order_statistics_timing.cc: Same.
	* performance/ext/pb_ds/multimap_text_insert_mem_usage_large.cc: Same.
	* performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc: Same.
	* performance/ext/pb_ds/priority_queue_text_join_timing.cc: Same.
	* performance/ext/pb_ds/multimap_text_insert_timing_small.cc: Same.
	* performance/ext/pb_ds/random_int_subscript_insert_timing.cc: Same.
	* performance/ext/pb_ds/tree_text_lor_find_timing.cc: Same.
	* performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc: Same.
	* performance/ext/pb_ds/multimap_text_find_timing_small.cc: Same.
	* performance/ext/pb_ds/text_find_timing.cc: Same.
	* performance/ext/pb_ds/tree_text_insert_timing.cc: Same.
	* performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc: Same.
	* performance/ext/pb_ds/random_int_subscript_find_timing.cc: Same.
	* performance/ext/pb_ds/priority_queue_text_push_timing.cc: Same.
	* performance/ext/pb_ds/tree_split_join_timing.cc: Same.
	* performance/ext/pb_ds/multimap_text_insert_timing_large.cc: Same.
	* performance/ext/pb_ds/priority_queue_text_modify_up_timing.cc: Same.
	* performance/ext/pb_ds/multimap_text_find_timing_large.cc: Same.
	* performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc:
	Same.
	* performance/ext/pb_ds/multimap_text_insert_timing.hpp
	* performance/ext/pb_ds/multimap_text_insert_mem_usage_small.cc: Same.
	* performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc: Same.

	* performance/ext/pb_ds/all_int_find.cc: To these new files...
	* performance/ext/pb_ds/all_int_subscript_find.cc: ...this.
	* performance/ext/pb_ds/all_int_subscript_insert.cc: ...this.
	* performance/ext/pb_ds/all_text_find.cc: ...this.
	* performance/ext/pb_ds/hash_int_erase_mem.cc: ...this.
	* performance/ext/pb_ds/hash_zlob_int_find.cc: ...this.
	* performance/ext/pb_ds/multimap_text_find.hpp
	* performance/ext/pb_ds/multimap_text_find_large.cc: ...this.
	* performance/ext/pb_ds/multimap_text_find_small.cc: ...this.
	* performance/ext/pb_ds/multimap_text_insert.hpp
	* performance/ext/pb_ds/multimap_text_insert_large.cc: ...this.
	* performance/ext/pb_ds/multimap_text_insert_mem.hpp
	* performance/ext/pb_ds/multimap_text_insert_mem_large.cc: ...this.
	* performance/ext/pb_ds/multimap_text_insert_mem_small.cc: ...this.
	* performance/ext/pb_ds/multimap_text_insert_small.cc: ...this.
	* performance/ext/pb_ds/priority_queue_int_push.cc: ...this.
	* performance/ext/pb_ds/priority_queue_int_push_pop.cc: ...this.
	* performance/ext/pb_ds/priority_queue_text_join.cc: ...this.
	* performance/ext/pb_ds/priority_queue_text_modify_down.cc: ...this.
	* performance/ext/pb_ds/priority_queue_text_modify.hpp
	* performance/ext/pb_ds/priority_queue_text_modify_up.cc: ...this.
	* performance/ext/pb_ds/priority_queue_text_pop_mem.cc: ...this.
	* performance/ext/pb_ds/priority_queue_text_push.cc: ...this.
	* performance/ext/pb_ds/priority_queue_text_push_pop.cc: ...this.
	* performance/ext/pb_ds/tree_order_statistics.cc: ...this.
	* performance/ext/pb_ds/tree_split_join.cc: ...this.
	* performance/ext/pb_ds/tree_text_insert.cc: ...this.
	* performance/ext/pb_ds/tree_text_lor_find.cc: ...this.

	* doc/xml/images/*: Image and image filename changes.

From-SVN: r177756
2011-08-15 00:51:06 +00:00
Paolo Carlini e02d979a34 cmath (fmod(_Tp, _Up)): Add.
2011-08-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_global/cmath (fmod(_Tp, _Up)): Add.
	* include/c_std/cmath: Likewise.

From-SVN: r177698
2011-08-12 15:40:01 +00:00
Paolo Carlini a4eeb82207 future: constexpr functions are implicitly inline.
2011-08-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/future: constexpr functions are implicitly inline.
	* include/std/chrono: Likewise.
	* include/std/complex: Likewise.
	* include/bits/move.h: Likewise.
	* include/bits/stl_pair.h: Likewise.

From-SVN: r177679
2011-08-11 17:53:05 +00:00
Jonathan Wakely a5db4ced81 alloc_traits.h: Fix doxygen @headername.
2011-08-07  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/alloc_traits.h: Fix doxygen @headername.

From-SVN: r177546
2011-08-07 13:25:48 +01:00
Benjamin Kosnik 93c66bc68a user.cfg.in (PDF_HYPERLINKS): To NO.
2011-08-06  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in (PDF_HYPERLINKS): To NO.

2011-08-06  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in: Add scoped_allocator.

	* include/debug/safe_sequence.h: Fix doxygen markup.
	* include/debug/safe_unordered_base.h: Same.
	* include/debug/safe_local_iterator.tcc: Same.
	* include/debug/safe_unordered_container.h: Same.
	* include/std/valarray: Same.
	* include/std/iomanip: Same.
	* include/std/streambuf: Same.
	* include/std/bitset: Same.
	* include/std/fstream: Same.
	* include/std/functional: Same.
	* include/std/istream: Same.
	* include/std/ostream: Same.
	* include/std/scoped_allocator: Same.
	* include/std/sstream: Same.
	* include/parallel/multiway_merge.h: Same.
	* include/parallel/base.h: Same.
	* include/parallel/for_each_selectors.h: Same.
	* include/parallel/multiway_mergesort.h: Same.
	* include/parallel/search.h: Same.
	* include/parallel/partial_sum.h: Same.
	* include/parallel/queue.h: Same.
	* include/parallel/sort.h: Same.
	* include/parallel/random_number.h: Same.
	* include/ext/vstring.h: Same.
	* include/ext/algorithm: Same.
	* include/ext/pb_ds/assoc_container.h: Same.
	* include/ext/bitmap_allocator.h: Same.
	* include/ext/stdio_filebuf.h: Same.
	* include/ext/memory: Same.
	* include/ext/functional: Same.
	* include/bits/basic_ios.h: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/stl_algobase.h: Same.
	* include/bits/stl_queue.h: Same.
	* include/bits/gslice.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_heap.h: Same.
	* include/bits/forward_list.h: Same.
	* include/bits/stream_iterator.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_pair.h: Same.
	* include/bits/ios_base.h: Same.
	* include/bits/stl_numeric.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/codecvt.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_uninitialized.h: Same.
	* include/bits/ptr_traits.h: Same.
	* include/bits/slice_array.h: Same.
	* include/bits/stl_iterator_base_funcs.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/stl_iterator.h: Same.
	* include/bits/stl_tempbuf.h: Same.
	* include/bits/regex.h: Same.
	* include/bits/range_access.h: Same.
	* include/bits/random.h: Same.
	* include/bits/alloc_traits.h: Same.
	* include/bits/regex_error.h: Same.
	* include/bits/locale_facets_nonio.h: Same.
	* include/bits/stl_relops.h: Same.
	* include/backward/auto_ptr.h: Same.
	* libsupc++/initializer_list: Same.

	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
	Adjust line numbers.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
	Same.
	* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
	Same.

From-SVN: r177542
2011-08-07 07:27:06 +00:00
Rainer Orth 201cdb7438 Makefile.in (UNWIND_H): Remove.
gcc:
	* Makefile.in (UNWIND_H): Remove.
	(LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): Move to
	../libgcc/Makefile.in.
	(LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL): Likewise.
	(LIBUNWINDDEP): Remove.
	(libgcc-support): Remove LIB2ADDEH, $(srcdir)/emutls.c dependencies.
	(libgcc.mvars): Remove LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED,
	LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL.
	(stmp-int-hdrs): Remove $(UNWIND_H) dependency.
	Don't copy $(UNWIND_H).
	* config.gcc (ia64*-*-linux*): Remove with_system_libunwind
	handling.
	* configure.ac (GCC_CHECK_UNWIND_GETIPINFO): Remove.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* emutls.c, unwind-c.c, unwind-compat.c, unwind-compat.h,
	unwind-dw2-fde-compat.c, unwind-dw2-fde-glibc.c, unwind-dw2-fde.c,
	unwind-dw2-fde.h, unwind-dw2.c, unwind-dw2.h, unwind-generic.h,
	unwind-pe.h, unwind-sjlj.c, unwind.inc: Move to ../libgcc.
	* unwind-dw2-fde-darwin.c: Move to ../libgcc/config.
	* config/arm/libunwind.S, config/arm/pr-support.c,
	config/arm/unwind-arm.c, config/arm/unwind-arm.h: Move to
	../libgcc/config/arm.
	* config/arm/t-bpabi (UNWIND_H, LIB2ADDEH): Remove.
	* config/arm/t-symbian (UNWIND_H, LIB2ADDEH): Remove.
	* config/frv/t-frv ($(T)frvbegin$(objext)): Use
	$(srcdir)/../libgcc to refer to unwind-dw2-fde.h.
	($(T)frvend$(objext)): Likewise.
	* config/ia64/t-glibc (LIB2ADDEH): Remove.
	* config/ia64/t-glibc-libunwind: Move to ../libgcc/config/ia64.
	* config/ia64/fde-glibc.c, config/ia64/fde-vms.c,
	config/ia64/unwind-ia64.c, config/ia64/unwind-ia64.h: Move to
	../libgcc/config/ia64.
	* config/ia64/t-hpux (LIB2ADDEH): Remove.
	* config/ia64/t-ia64 (LIB2ADDEH): Remove.
	* config/ia64/t-vms (LIB2ADDEH): Remove.
	* config/ia64/vms.h (UNW_IVMS_MODE,
	MD_UNW_COMPATIBLE_PERSONALITY_P): Remove.
	* config/picochip/t-picochip (LIB2ADDEH): Remove.
	* config/rs6000/aix.h (R_LR, MD_FROB_UPDATE_CONTEXT): Remove.
	* config/rs6000/t-darwin (LIB2ADDEH): Remove.
	* config/rs6000/darwin-fallback.c: Move to ../libgcc/config/rs6000.
	* config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): Use
	$(srcdir)/../libgcc to refer to unwinder sources.
	* config/spu/t-spu-elf (LIB2ADDEH): Remove.
	* config/t-darwin (LIB2ADDEH): Remove.
	* config/t-freebsd (LIB2ADDEH): Remove.
	* config/t-libunwind (LIB2ADDEH, LIB2ADDEHSTATIC): Remove.
	* config/t-libunwind-elf: Move to ../libgcc/config.
	* config/t-linux (LIB2ADDEH): Remove.
	* config/t-sol2 (LIB2ADDEH): Remove.
	* config/xtensa/t-xtensa (LIB2ADDEH): Remove.
	* system.h (MD_FROB_UPDATE_CONTEXT): Poison.

	gcc/po:
	* EXCLUDES (unwind-c.c, unwind-dw2-fde-darwin.c)
	(unwind-dw2-fde-glibc.c, unwind-dw2-fde.c, unwind-dw2-fde.h)
	(unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h): Remove.

	libgcc:
	* Makefile.in (LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): New
	variables.
	(LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL): New variables.
	(LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): Add $(srcdir)/emutls.c.
	(install-unwind_h): New target.
	(all): Depend on it.
	* config.host (unwind_header): New variable.
	(*-*-freebsd*): Set tmake_file to t-eh-dw2-dip.
	(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
	*-*-gnu*): Likewise, also for *-*-kopensolaris*-gnu.
	(*-*-solaris2*): Add t-eh-dw2-dip to tmake_file.
	(arm*-*-linux*): Add arm/t-bpabi for arm*-*-linux-*eabi.
	Set unwind_header.
	(arm*-*-uclinux*): Add arm/t-bpabi for arm*-*-uclinux*eabi.
	Set unwind_header.
	(arm*-*-eabi*, arm*-*-symbianelf*): Add arm/t-bpabi for
	arm*-*-eabi*.
	Add arm/t-symbian to tmake_file for arm*-*-symbianelf*.
	Set unwind_header.
	(ia64*-*-elf*): Add ia64/t-eh-ia64 to tmake_file.
	(ia64*-*-freebsd*): Likewise.
	(ia64*-*-linux*): Add ia64/t-glibc, ia64/t-eh-ia64, t-libunwind to
	tmake_file.
	Add t-libunwind-elf, ia64/t-glibc-libunwind unless
	$with_system_libunwind.
	(ia64*-*-hpux*): Set tmake_file.
	(ia64-hp-*vms*): Add ia64/t-eh-ia64 to tmake_file.
	(picochip-*-*): Set tmake_file.
	(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Set
	md_unwind_header.
	(rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
	(rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
	(s390x-ibm-tpf*): Add t-eh-dw2-dip to tmake_file.
	(xtensa*-*-elf*): Set tmake_file.
	(xtensa*-*-linux*): Likewise.
	* configure.ac: Include ../config/unwind_ipinfo.m4.
	Call GCC_CHECK_UNWIND_GETIPINFO.
	Link unwind.h to $unwind_header.
	* configure: Regenerate.
	* emutls.c, unwind-c.c, unwind-compat.c, unwind-compat.h,
	unwind-dw2-fde-compat.c, unwind-dw2-fde-dip.c, unwind-dw2-fde.c,
	unwind-dw2-fde.h, unwind-dw2.c, unwind-dw2.h, unwind-generic.h,
	unwind-pe.h, unwind-sjlj.c, unwind.inc: New files.
	* config/unwind-dw2-fde-darwin.c: New file.
	* config/arm/libunwind.S, config/arm/pr-support.c,
	config/arm/t-bpabi, config/arm/t-symbian, config/arm/unwind-arm.c,
	config/arm/unwind-arm.h,: New files.
	* config/ia64/fde-glibc.c, config/ia64/fde-vms.c,
	config/ia64/t-eh-ia64, config/ia64/t-glibc,
	config/ia64/t-glibc-libunwind, config/ia64/t-hpux,
	config/ia64/t-vms, config/ia64/unwind-ia64.c,
	config/ia64/unwind-ia64.h: New files.
	* config/picochip/t-picochip: New file.
	* config/rs6000/aix-unwind.h, config/rs6000/darwin-fallback.c: New
	files.
	* config/rs6000/t-darwin (LIB2ADDEH): Set.
	* config/s390/t-tpf (LIB2ADDEH): Remove.
	* config/t-darwin (LIB2ADDEH): Set.
	* config/t-eh-dw2-dip: New file.
	* config/t-libunwind, config/t-libunwind-elf: New files.
	* config/t-sol2 (LIB2ADDEH): Remove.
	* config/xtensa/t-xtensa: New file.

	gcc/ada:
	* gcc-interface/Makefile.in (raise-gcc.o): Search
	$(srcdir)/../libgcc.

	libgo:
	* Makefile.am (AM_CFLAGS): Search $(srcdir)/../libgcc.
	* Makefile.in: Regenerate.

	libjava:
	* configure.ac (GCC_UNWIND_INCLUDE): Rename to
	LIBGCC_UNWIND_INCLUDE.
	Point to $(multi_basedir)/./libjava/../libgcc.
	* configure: Regenerate.
	* Makefile.am (GCC_UNWIND_INCLUDE): Reflect this.
	* Makefile.in: Regenerate.

	libobjc:
	* Makefile.in (INCLUDES): Search
	$(srcdir)/$(MULTISRCTOP)../libgcc.

	libstdc++-v3:
	* acinclude.m4 (GLIBCXX_EXPORT_INCLUDES): Point TOPLEVEL_INCLUDES
	to $(toplevel_srcdir)/libgcc.
	* configure: Regenerate.

From-SVN: r177447
2011-08-05 14:37:48 +00:00
Benjamin Kosnik a6aff075e8 build_hacking.xml: Use relative fileref for PNG imagedata.
2011-08-04  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/manual/build_hacking.xml: Use relative fileref for PNG
	imagedata.
	* doc/xml/manual/test_policy_data_structures.xml: Same.
	* doc/xml/manual/policy_data_structures.xml: Same.

	* doc/Makefile.am (stamp-html-docbook-images)
	(stamp-html-docbook-lwg, stamp-html-docbook-data): New.
	(xml_extra): Add lwg html file dependencies.
	(xml_images): Add image html file dependencies.
	* doc/Makefile.in: Regenerate.
	(stamp-html): Change to stamp-html-docbook-data.
	(stamp-html-copy): Remove.

From-SVN: r177418
2011-08-04 23:15:39 +00:00
Paolo Carlini bdc05efbc8 atomic.cc: Use noexcept.
2011-08-04  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/atomic.cc: Use noexcept.
	* include/std/atomic: Likewise.
	* include/bits/atomic_0.h: Likewise.
	* include/bits/atomic_2.h: Likewise.
	* include/bits/atomic_base.h: Likewise.

From-SVN: r177413
2011-08-04 19:57:48 +00:00
Benjamin Kosnik c7c2e8316c filebuf_sputn_unbuf.cc: Include unistd.h for unlink.
2011-08-03  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/performance/27_io/filebuf_sputn_unbuf.cc: Include
	unistd.h for unlink.
	* testsuite/performance/27_io/ofstream_insert_int.cc: Same.
	* testsuite/performance/27_io/ifstream_extract_int.cc: Same.
	* testsuite/performance/27_io/ifstream_getline-2.cc: Same.
	* testsuite/performance/27_io/fstream_seek_write.cc: Same.
	* testsuite/performance/27_io/ifstream_extract_chars.cc: Same.
	* testsuite/performance/27_io/ofstream_insert_float.cc: Same.
	* testsuite/performance/27_io/ifstream_extract_float.cc: Same.
	* testsuite/performance/27_io/filebuf_sputc.cc: Same.

From-SVN: r177307
2011-08-04 02:26:52 +00:00
Benjamin Kosnik 2c4caf0ab9 tuple: Mark more constructors constexpr.
2011-08-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/tuple: Mark more constructors constexpr.
	* testsuite/20_util/tuple/cons/constexpr.cc: Split into and extend as:
	* testsuite/20_util/tuple/cons/constexpr-2.cc: ...this.
	* testsuite/20_util/tuple/cons/constexpr-3.cc: ... and this.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust line numbers.

2011-08-03  Benjamin Kosnik  <bkoz@redhat.com>
	    François Dumont  <francois.cppdevs@free.fr>

	* testsuite/23_containers/array/at_neg.cc: Move...
	* testsuite/23_containers/array/at.cc: ...here. Remove
	-fno-exceptions, call const at member function.


Co-Authored-By: François Dumont <francois.cppdevs@free.fr>

From-SVN: r177299
2011-08-03 21:05:14 +00:00
Jonathan Wakely 4ac2beb541 Remove changelog entry accidentally committed in r175057
From-SVN: r177298
2011-08-03 20:58:39 +01:00
H.J. Lu e7ae08e343 Add x32 libstdc++ baseline_symbols.txt.
2011-08-01  H.J. Lu  <hongjiu.lu@intel.com>

	* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Generated.

From-SVN: r177076
2011-08-01 15:32:26 -07:00
Paolo Carlini 750867b7f4 re PR c++/49813 ([C++0x] sinh vs asinh vs constexpr)
2011-08-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/49813
	* include/c_global/cmath (isinf): Remove workaround.

From-SVN: r177070
2011-08-01 19:26:39 +00:00
Paolo Carlini 3096f51bf6 re PR libstdc++/49925 ([C++0x] ADL bug mixing boost::shared_ptr and std::make_shared<>)
2011-07-31  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/49925
	* include/bits/shared_ptr.h (make_shared): Qualify allocate_shared
	with std::.
	* include/bits/shared_ptr_base.h (__make_shared): Likewise.

From-SVN: r176985
2011-07-31 20:28:45 +00:00
Benjamin Kosnik 8c88289193 build_hacking.xml: Markup imagedata changes.
2011-07-29  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/manual/build_hacking.xml: Markup imagedata changes.
	* doc/xml/manual/policy_data_structures.xml: Same.

	* doc/xml/class.txml: Remove biblioid.
	* doc/xml/manual/allocator.xml: Same.
	* doc/xml/manual/ctype.xml: Same.
	* doc/xml/manual/codecvt.xml: Same.
	* doc/xml/manual/backwards_compatibility.xml: Same.
	* doc/xml/manual/abi.xml: Same.
	* doc/xml/manual/shared_ptr.xml: Same.
	* doc/xml/manual/using_exceptions.xml: Same.
	* doc/xml/manual/messages.xml: Same.

From-SVN: r176957
2011-07-30 02:13:34 +00:00
Benjamin Kosnik ce1140e3f2 Docbook conversion of existing ext/pb_ds documentation.
2011-07-29  Benjamin Kosnik  <bkoz@redhat.com>

	Docbook conversion of existing ext/pb_ds documentation.
	* doc/Makefile.am (xml_sources_manual): Add
	policy_data_structures.xml and
	test_policy_data_structures.xml.
	(stamp-html-copy): Remove special-case for ext/pb_ds directory.
	(XSLTPROC_FLAGS): Split into XSLT_FLAGS and XSLT_PARAM, use.
	* doc/Makefile.in: Regenerate.
	* doc/xml/manual/policy_data_structures.xml: New, adapted from
	  previous html-only instance in doc/html/ext/pb_ds.
	* doc/xml/manual/test_policy_data_structures.xml: New, same as above.

	* doc/xml/spine.xml: Update copyright.
	* doc/xml/manual/spine.xml: Same.
	* doc/xml/manual/extensions.xml: Adjust set, chapter, sections.
	* doc/xml/manual/bitmap_allocator.xml: Same.
	* doc/xml/manual/mt_allocator.xml: Same.

	Populate image directory.
	* doc/xml/images/(pbds_balls_and_bins.png,
	pbds_binary_priority_queue_random_int_push_timing_test_local.pdf,
	pbds_binary_priority_queue_random_int_push_timing_test_local.png,
	pbds_binary_priority_queue_random_int_push_timing_test_local.svg,
	pbds_cc_hash_random_int_find_timing_test_local.pdf,
	pbds_cc_hash_random_int_find_timing_test_local.png,
	pbds_cc_hash_random_int_find_timing_test_local.svg,
	pbds_cc_hash_random_int_subscript_timing_test_find_local.pdf,
	pbds_cc_hash_random_int_subscript_timing_test_find_local.png,
	pbds_cc_hash_random_int_subscript_timing_test_find_local.svg,
	pbds_cc_hash_random_int_subscript_timing_test_insert_local.pdf,
	pbds_cc_hash_random_int_subscript_timing_test_insert_local.png,
	pbds_cc_hash_random_int_subscript_timing_test_insert_local.svg,
	pbds_container_tag_hierarchy.pdf,
	pbds_container_tag_hierarchy.png,
	pbds_container_tag_hierarchy.svg,
	pbds_different_underlying_dss_1.png,
	pbds_different_underlying_dss_2.png,
	pbds_embedded_lists_1.png, pbds_embedded_lists_2.png,
	pbds_embedded_lists_3.png, pbds_exception_hierarchy.pdf,
	pbds_exception_hierarchy.png, pbds_exception_hierarchy.svg,
	pbds_gp_hash_random_int_find_timing_test_local.pdf,
	pbds_gp_hash_random_int_find_timing_test_local.png,
	pbds_gp_hash_random_int_find_timing_test_local.svg,
	pbds_gp_hash_random_int_subscript_timing_test_find_local.pdf,
	pbds_gp_hash_random_int_subscript_timing_test_find_local.png,
	pbds_gp_hash_random_int_subscript_timing_test_find_local.svg,
	pbds_gp_hash_random_int_subscript_timing_test_insert_local.pdf,
	pbds_gp_hash_random_int_subscript_timing_test_insert_local.png,
	pbds_gp_hash_random_int_subscript_timing_test_insert_local.svg,
	pbds_hash_policy_cd.png,
	pbds_hash_random_int_erase_mem_usage_test_local.pdf,
	pbds_hash_random_int_erase_mem_usage_test_local.png,
	pbds_hash_random_int_erase_mem_usage_test_local.svg,
	pbds_hash_ranged_hash_range_hashing_fns.png,
	pbds_hash_range_hashing_seq_diagram2.png,
	pbds_hash_range_hashing_seq_diagram.png,
	pbds_hash_zlob_random_int_find_timing_test_local.pdf,
	pbds_hash_zlob_random_int_find_timing_test_local.png,
	pbds_hash_zlob_random_int_find_timing_test_local.svg,
	pbds_insert_resize_sequence_diagram1.png,
	pbds_insert_resize_sequence_diagram2.png,
	pbds_insert_resize_sequence_diagram3.png,
	pbds_invalidation_guarantee_erase.png,
	pbds_invalidation_tag_hierarchy.pdf,
	pbds_invalidation_tag_hierarchy.png,
	pbds_invalidation_tag_hierarchy.svg, pbds_list_update.png,
	pbds_multimap_text_find_timing_test_large_s2p_hash_local.pdf,
	pbds_multimap_text_find_timing_test_large_s2p_hash_local.png,
	pbds_multimap_text_find_timing_test_large_s2p_hash_local.svg,
	pbds_multimap_text_find_timing_test_large_s2p_tree_local.pdf,
	pbds_multimap_text_find_timing_test_large_s2p_tree_local.png,
	pbds_multimap_text_find_timing_test_large_s2p_tree_local.svg,
	pbds_multimap_text_find_timing_test_small_s2p_hash_local.pdf,
	pbds_multimap_text_find_timing_test_small_s2p_hash_local.png,
	pbds_multimap_text_find_timing_test_small_s2p_hash_local.svg,
	pbds_multimap_text_find_timing_test_small_s2p_tree_local.pdf,
	pbds_multimap_text_find_timing_test_small_s2p_tree_local.png,
	pbds_multimap_text_find_timing_test_small_s2p_tree_local.svg,
	pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.pdf,
	pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.png,
	pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.svg,
	pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.pdf,
	pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.png,
	pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.svg,
	pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.pdf,
	pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.png,
	pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.svg,
	pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.pdf,
	pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.png,
	pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.svg,
	pbds_multimap_text_insert_timing_test_large_s2p_hash_local.pdf,
	pbds_multimap_text_insert_timing_test_large_s2p_hash_local.png,
	pbds_multimap_text_insert_timing_test_large_s2p_hash_local.svg,
	pbds_multimap_text_insert_timing_test_large_s2p_tree_local.pdf,
	pbds_multimap_text_insert_timing_test_large_s2p_tree_local.png,
	pbds_multimap_text_insert_timing_test_large_s2p_tree_local.svg,
	pbds_multimap_text_insert_timing_test_small_s2p_hash_local.pdf,
	pbds_multimap_text_insert_timing_test_small_s2p_hash_local.png,
	pbds_multimap_text_insert_timing_test_small_s2p_hash_local.svg,
	pbds_multimap_text_insert_timing_test_small_s2p_tree_local.pdf,
	pbds_multimap_text_insert_timing_test_small_s2p_tree_local.png,
	pbds_multimap_text_insert_timing_test_small_s2p_tree_local.svg,
	pbds_node_invariants.png,
	pbds_pairing_priority_queue_text_push_pop_timing_test_local.pdf,
	pbds_pairing_priority_queue_text_push_pop_timing_test_local.png,
	pbds_pairing_priority_queue_text_push_pop_timing_test_local.svg,
	pbds_pairing_priority_queue_text_push_timing_test_local.pdf,
	pbds_pairing_priority_queue_text_push_timing_test_local.png,
	pbds_pairing_priority_queue_text_push_timing_test_local.svg,
	pbds_pat_trie.png, pbds_point_iterator_hierarchy.png,
	pbds_point_iterators_range_ops_1.png,
	pbds_point_iterators_range_ops_2.png,
	pbds_priority_queue_different_underlying_dss.png,
	pbds_priority_queue_random_int_push_pop_timing_test_local.pdf,
	pbds_priority_queue_random_int_push_pop_timing_test_local.png,
	pbds_priority_queue_random_int_push_pop_timing_test_local.svg,
	pbds_priority_queue_random_int_push_timing_test_local.pdf,
	pbds_priority_queue_random_int_push_timing_test_local.png,
	pbds_priority_queue_random_int_push_timing_test_local.svg,
	pbds_priority_queue_tag_hierarchy.pdf,
	pbds_priority_queue_tag_hierarchy.png,
	pbds_priority_queue_tag_hierarchy.svg,
	pbds_priority_queue_text_join_timing_test_local.pdf,
	pbds_priority_queue_text_join_timing_test_local.png,
	pbds_priority_queue_text_join_timing_test_local.svg,
	pbds_priority_queue_text_modify_down_timing_test_local.pdf,
	pbds_priority_queue_text_modify_down_timing_test_local.png,
	pbds_priority_queue_text_modify_down_timing_test_local.svg,
	pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.pdf,
	pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.png,
	pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.svg,
	pbds_priority_queue_text_modify_up_timing_test_local.pdf,
	pbds_priority_queue_text_modify_up_timing_test_local.png,
	pbds_priority_queue_text_modify_up_timing_test_local.svg,
	pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.pdf,
	pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.png,
	pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.svg,
	pbds_priority_queue_text_pop_mem_usage_test_local.pdf,
	pbds_priority_queue_text_pop_mem_usage_test_local.png,
	pbds_priority_queue_text_pop_mem_usage_test_local.svg,
	pbds_priority_queue_text_push_pop_timing_test_local.pdf,
	pbds_priority_queue_text_push_pop_timing_test_local.png,
	pbds_priority_queue_text_push_pop_timing_test_local.svg,
	pbds_priority_queue_text_push_timing_test_local.pdf,
	pbds_priority_queue_text_push_timing_test_local.png,
	pbds_priority_queue_text_push_timing_test_local.svg,
	pbds_rationale_null_node_updator.png,
	pbds_resize_policy_cd.png, pbds_restoring_node_invariants.png,
	pbds_simple_list.png,
	pbds_text_find_timing_test_hash_local.pdf,
	pbds_text_find_timing_test_hash_local.png,
	pbds_text_find_timing_test_hash_local.svg,
	pbds_text_find_timing_test_tree_like_local.pdf,
	pbds_text_find_timing_test_tree_like_local.png,
	pbds_text_find_timing_test_tree_like_local.svg,
	pbds_tree_node_invalidations.png,
	pbds_tree_node_invariants.png,
	pbds_tree_node_updator_policy_cd.png,
	pbds_tree_order_statistics_timing_test_local.pdf,
	pbds_tree_order_statistics_timing_test_local.png,
	pbds_tree_order_statistics_timing_test_local.svg,
	pbds_tree_split_join_timing_test_local.pdf,
	pbds_tree_split_join_timing_test_local.png,
	pbds_tree_split_join_timing_test_local.svg,
	pbds_tree_text_insert_timing_test_node_tree_local.pdf,
	pbds_tree_text_insert_timing_test_node_tree_local.png,
	pbds_tree_text_insert_timing_test_node_tree_local.svg,
	pbds_tree_text_insert_timing_test_pat_trie_local.pdf,
	pbds_tree_text_insert_timing_test_pat_trie_local.png,
	pbds_tree_text_insert_timing_test_pat_trie_local.svg,
	pbds_tree_text_insert_timing_test_vector_tree_local.pdf,
	pbds_tree_text_insert_timing_test_vector_tree_local.png,
	pbds_tree_text_insert_timing_test_vector_tree_local.svg,
	pbds_tree_text_lor_find_timing_test_local.pdf,
	pbds_tree_text_lor_find_timing_test_local.png,
	pbds_tree_text_lor_find_timing_test_local.svg,
	pbds_trie_node_updator_policy_cd.png,
	pbds_update_seq_diagram.png): Add.

	* doc/html/ext/pb_ds: Remove.
	* doc/html/ext/pb_ds/(acks.html, assoc_container_tag_cd.png,
	assoc_container_tag_cd.svg, assoc_container_traits.html,
	assoc_design.html, assoc_examples.html,
	associative_container_tag.html, assoc_performance_tests.html,
	assoc_regression_tests.html, assoc_tests.html,
	balls_and_bins.png, basic_hash_table.html,
	basic_hash_tag.html, basic_invalidation_guarantee.html,
	basic_tree_assoc_container_const_node_iterator.html,
	basic_tree.html, basic_tree_tag.html, binary_heap_tag.html,
	binary_priority_queue_random_int_push_timing_test_gcc.png,
	binary_priority_queue_random_int_push_timing_test_local.png,
	binary_priority_queue_random_int_push_timing_test_msvc.png,
	binomial_heap_tag.html,
	ccgp_hash_random_int_subscript_timing_test_insert_gcc.png,
	ccgp_hash_random_int_subscript_timing_test_insert_local.png,
	ccgp_hash_random_int_subscript_timing_test_insert_msvc.png,
	cc_hash_max_collision_check_resize_trigger.html,
	cc_hash_random_int_find_timing_test_gcc.png,
	cc_hash_random_int_find_timing_test_local.png,
	cc_hash_random_int_find_timing_test_msvc.png,
	cc_hash_random_int_subscript_timing_test_find_gcc.png,
	cc_hash_random_int_subscript_timing_test_find_local.png,
	cc_hash_random_int_subscript_timing_test_find_msvc.png,
	cc_hash_random_int_subscript_timing_test_insert_gcc.png,
	cc_hash_random_int_subscript_timing_test_insert_local.png,
	cc_hash_random_int_subscript_timing_test_insert_msvc.png,
	cc_hash_table.html, cc_hash_tag.html, checked_by_tidy.gif
	concepts.html, contact.html, container_base.html,
	container_cd.png, container_cd.svg, container_tag.html,
	counter_lu_policy.html, design.html,
	different_underlying_dss.png, direct_mask_range_hashing.html,
	direct_mod_range_hashing.html, disclaimer.html, ds_gen.html,
	embedded_lists_1.png, embedded_lists_2.png,
	embedded_lists_3.png, examples.html, exceptions.html,
	gp_hash_random_int_find_timing_test_gcc.png,
	gp_hash_random_int_find_timing_test_local.png,
	gp_hash_random_int_find_timing_test_msvc.png,
	gp_hash_random_int_subscript_timing_test_find_gcc.png,
	gp_hash_random_int_subscript_timing_test_find_local.png,
	gp_hash_random_int_subscript_timing_test_find_msvc.png,
	gp_hash_random_int_subscript_timing_test_insert_gcc.png,
	gp_hash_random_int_subscript_timing_test_insert_local.png,
	gp_hash_random_int_subscript_timing_test_insert_msvc.png,
	gp_hash_table.html, gp_hash_tag.html,
	hash_based_containers.html, hash_exponential_size_policy.html,
	hash_load_check_resize_trigger.html, hash_policy_cd.png,
	hash_prime_size_policy.html,
	hash_random_int_erase_mem_usage_test_gcc.png,
	hash_random_int_erase_mem_usage_test.html,
	hash_random_int_erase_mem_usage_test_local.png,
	hash_random_int_erase_mem_usage_test_msvc.png,
	hash_random_int_find_find_timing_test.html,
	hash_random_int_subscript_find_timing_test.html,
	hash_random_int_subscript_insert_timing_test.html,
	hash_ranged_hash_range_hashing_fns.png,
	hash_range_hashing_seq_diagram2.png,
	hash_range_hashing_seq_diagram.png,
	hash_standard_resize_policy.html,
	hash_text_find_find_timing_test.html,
	hash_zlob_random_int_find_find_timing_test.html,
	hash_zlob_random_int_find_timing_test_gcc.png,
	hash_zlob_random_int_find_timing_test_local.png,
	hash_zlob_random_int_find_timing_test_msvc.png, index.html,
	insert_error.html, insert_resize_sequence_diagram1.png,
	insert_resize_sequence_diagram2.png,
	insert_resize_sequence_diagram3.png, interface.html,
	introduction.html, invalidation_guarantee_cd.png,
	invalidation_guarantee_erase.png, join_error.html,
	linear_probe_fn.html, list_update.html, list_update_tag.html,
	lu_based_containers.html, lu.png, misc.html, motivation.html,
	move_to_front_lu_policy.html,
	multimap_text_find_timing_test_large.html,
	multimap_text_find_timing_test_large_s2p_hash_gcc.png,
	multimap_text_find_timing_test_large_s2p_hash_local.png,
	multimap_text_find_timing_test_large_s2p_hash_msvc.png,
	multimap_text_find_timing_test_large_s2p_tree_gcc.png,
	multimap_text_find_timing_test_large_s2p_tree_local.png,
	multimap_text_find_timing_test_large_s2p_tree_msvc.png,
	multimap_text_find_timing_test_small.html,
	multimap_text_find_timing_test_small_s2p_hash_gcc.png,
	multimap_text_find_timing_test_small_s2p_hash_local.png,
	multimap_text_find_timing_test_small_s2p_hash_msvc.png,
	multimap_text_find_timing_test_small_s2p_tree_gcc.png,
	multimap_text_find_timing_test_small_s2p_tree_local.png,
	multimap_text_find_timing_test_small_s2p_tree_msvc.png,
	multimap_text_insert_mem_usage_test_large.html,
	multimap_text_insert_mem_usage_test_large_s2p_hash_gcc.png,
	multimap_text_insert_mem_usage_test_large_s2p_hash_local.png,
	multimap_text_insert_mem_usage_test_large_s2p_hash_msvc.png,
	multimap_text_insert_mem_usage_test_large_s2p_tree_gcc.png,
	multimap_text_insert_mem_usage_test_large_s2p_tree_local.png,
	multimap_text_insert_mem_usage_test_large_s2p_tree_msvc.png,
	multimap_text_insert_mem_usage_test_small.html,
	multimap_text_insert_mem_usage_test_small_s2p_hash_gcc.png,
	multimap_text_insert_mem_usage_test_small_s2p_hash_local.png,
	multimap_text_insert_mem_usage_test_small_s2p_hash_msvc.png,
	multimap_text_insert_mem_usage_test_small_s2p_tree_gcc.png,
	multimap_text_insert_mem_usage_test_small_s2p_tree_local.png,
	multimap_text_insert_mem_usage_test_small_s2p_tree_msvc.png,
	multimap_text_insert_timing_test_large.html,
	multimap_text_insert_timing_test_large_s2p_hash_gcc.png,
	multimap_text_insert_timing_test_large_s2p_hash_local.png,
	multimap_text_insert_timing_test_large_s2p_hash_msvc.png,
	multimap_text_insert_timing_test_large_s2p_tree_gcc.png,
	multimap_text_insert_timing_test_large_s2p_tree_local.png,
	multimap_text_insert_timing_test_large_s2p_tree_msvc.png,
	multimap_text_insert_timing_test_small.html,
	multimap_text_insert_timing_test_small_s2p_hash_gcc.png,
	multimap_text_insert_timing_test_small_s2p_hash_local.png,
	multimap_text_insert_timing_test_small_s2p_hash_msvc.png,
	multimap_text_insert_timing_test_small_s2p_tree_gcc.png,
	multimap_text_insert_timing_test_small_s2p_tree_local.png,
	multimap_text_insert_timing_test_small_s2p_tree_msvc.png,
	node_invariant_invalidations.png, node_invariants.png,
	null_hash_fn.html, null_lu_metadata.html,
	null_mapped_type.html, null_probe_fn.html,
	null_tree_node_update.html, null_trie_node_update.html,
	ov_tree_tag.html, pairing_heap_tag.html,
	pairing_priority_queue_text_push_pop_timing_test_gcc.png,
	pairing_priority_queue_text_push_pop_timing_test_local.png,
	pairing_priority_queue_text_push_pop_timing_test_msvc.png,
	pairing_priority_queue_text_push_timing_test_gcc.png,
	pairing_priority_queue_text_push_timing_test_local.png,
	pairing_priority_queue_text_push_timing_test_msvc.png,
	pat_trie.png, pat_trie_tag.html,
	point_invalidation_guarantee.html, point_iterators_cd.png,
	point_iterators_range_ops_1.png,
	point_iterators_range_ops_2.png, pq_container_traits.html,
	pq_design.html, pq_different_underlying_dss.png,
	pq_examples.html, pq_performance_tests.html,
	pq_regression_tests.html, pq_tests.html, prerequisites.html,
	priority_queue.html,
	priority_queue_random_int_push_pop_timing_test_gcc.png,
	priority_queue_random_int_push_pop_timing_test.html,
	priority_queue_random_int_push_pop_timing_test_local.png,
	priority_queue_random_int_push_pop_timing_test_msvc.png,
	priority_queue_random_int_push_timing_test_gcc.png,
	priority_queue_random_int_push_timing_test.html,
	priority_queue_random_int_push_timing_test_local.png,
	priority_queue_random_int_push_timing_test_msvc.png,
	priority_queue_tag_cd.png, priority_queue_tag_cd.svg,
	priority_queue_tag.html,
	priority_queue_text_join_timing_test_gcc.png,
	priority_queue_text_join_timing_test.html,
	priority_queue_text_join_timing_test_local.png,
	priority_queue_text_join_timing_test_msvc.png,
	priority_queue_text_modify_down_timing_test_gcc.png,
	priority_queue_text_modify_down_timing_test.html,
	priority_queue_text_modify_down_timing_test_local.png,
	priority_queue_text_modify_down_timing_test_msvc.png,
	priority_queue_text_modify_down_timing_test_pairing_thin_gcc.png,
	priority_queue_text_modify_down_timing_test_pairing_thin_local.png,
	priority_queue_text_modify_down_timing_test_pairing_thin_msvc.png,
	priority_queue_text_modify_up_timing_test_gcc.png,
	priority_queue_text_modify_up_timing_test.html,
	priority_queue_text_modify_up_timing_test_local.png,
	priority_queue_text_modify_up_timing_test_msvc.png,
	priority_queue_text_modify_up_timing_test_pairing_thin_gcc.png,
	priority_queue_text_modify_up_timing_test_pairing_thin_local.png,
	priority_queue_text_modify_up_timing_test_pairing_thin_msvc.png,
	priority_queue_text_pop_mem_usage_test_gcc.png,
	priority_queue_text_pop_mem_usage_test.html,
	priority_queue_text_pop_mem_usage_test_local.png,
	priority_queue_text_pop_mem_usage_test_msvc.png,
	priority_queue_text_push_pop_timing_test_gcc.png,
	priority_queue_text_push_pop_timing_test.html,
	priority_queue_text_push_pop_timing_test_local.png,
	priority_queue_text_push_pop_timing_test_msvc.png,
	priority_queue_text_push_timing_test_gcc.png,
	priority_queue_text_push_timing_test.html,
	priority_queue_text_push_timing_test_local.png,
	priority_queue_text_push_timing_test_msvc.png,
	PythonPoweredSmall.gif quadratic_probe_fn.html,
	random_int_find_find_timing_test_tree_gcc.png,
	random_int_find_find_timing_test_tree_local.png,
	random_int_find_find_timing_test_tree_msvc.png,
	range_invalidation_guarantee.html,
	rationale_null_node_updator.png, rb_tree_tag.html,
	rc_binomial_heap_tag.html, references.html, resize_error.html,
	resize_policy_cd.png, restoring_node_invariants.png,
	sample_probe_fn.html, sample_ranged_hash_fn.html,
	sample_ranged_probe_fn.html, sample_range_hashing.html,
	sample_resize_policy.html, sample_resize_trigger.html,
	sample_size_policy.html, sample_tree_node_update.html,
	sample_trie_access_traits.html, sample_trie_node_update.html,
	sample_update_policy.html, simple_list.png,
	splay_tree_tag.html, tests.html,
	text_find_timing_test_hash_gcc.png,
	text_find_timing_test_hash_local.png,
	text_find_timing_test_hash_msvc.png,
	text_find_timing_test_tree_like_gcc.png,
	text_find_timing_test_tree_like_local.png,
	text_find_timing_test_tree_like_msvc.png, thin_heap_tag.html,
	tree_based_containers.html, tree.html,
	tree_node_iterator.html, tree_node_updator_policy_cd.png,
	tree_order_statistics_node_update.html,
	tree_order_statistics_timing_test_gcc.png,
	tree_order_statistics_timing_test.html,
	tree_order_statistics_timing_test_local.png,
	tree_order_statistics_timing_test_msvc.png,
	tree_random_int_find_find_timing_test.html,
	tree_split_join_timing_test_gcc.png,
	tree_split_join_timing_test.html,
	tree_split_join_timing_test_local.png,
	tree_split_join_timing_test_msvc.png, tree_tag.html,
	tree_text_find_find_timing_test.html,
	tree_text_insert_timing_test.html,
	tree_text_insert_timing_test_node_tree_gcc.png,
	tree_text_insert_timing_test_node_tree_local.png,
	tree_text_insert_timing_test_node_tree_msvc.png,
	tree_text_insert_timing_test_pat_trie_gcc.png,
	tree_text_insert_timing_test_pat_trie_local.png,
	tree_text_insert_timing_test_pat_trie_msvc.png,
	tree_text_insert_timing_test_vector_tree_gcc.png,
	tree_text_insert_timing_test_vector_tree_local.png,
	tree_text_insert_timing_test_vector_tree_msvc.png,
	tree_text_lor_find_find_timing_test.html,
	tree_text_lor_find_timing_test_gcc.png,
	tree_text_lor_find_timing_test_local.png,
	tree_text_lor_find_timing_test_msvc.png,
	trie_based_containers.html, trie_const_node_iterator.html,
	trie.html, trie_node_iterator.html,
	trie_node_updator_policy_cd.png,
	trie_order_statistics_node_update.html,
	trie_prefix_search_node_update.html,
	trie_string_access_traits.html, trie_tag.html,
	trivial_iterator_tag.html, tutorial.html,
	update_policy_cd.png, update_seq_diagram.png): Remove.

From-SVN: r176952
2011-07-29 22:31:30 +00:00
Paolo Carlini fa45990097 re PR c++/49813 ([C++0x] sinh vs asinh vs constexpr)
2011-07-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/49813
	* include/c_global/cmath: Use _GLIBCXX_CONSTEXPR and constexpr.

From-SVN: r176847
2011-07-27 19:33:51 +00:00
Jeffrey Yasskin ce77c22f1b Propagate the source location of a template's function_decl to the template_decl built out of it.
Propagate the source location of a template's function_decl to the
template_decl built out of it.  Without this, specializations
generated before the template was defined get the location of the
closing ')' instead of the location of the template's name, which can
produce inconsistent locations between translation units, which makes
gold's ODR checker unhappy.

	* gcc/cp/pt.c (build_template_decl): Copy the function_decl's source
	location to the new template_decl.
	* gcc/testsuite/g++.old-deja/g++.pt/crash60.C: Updated.
	* libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Updated.

From-SVN: r176845
2011-07-27 18:38:48 +00:00
Benjamin Kosnik 9bc13c238d array (at): Remove constexpr when -fno-exceptions.
2011-07-25  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/array (at): Remove constexpr when -fno-exceptions.
	* testsuite/23_containers/array/at_neg.cc: Test.

From-SVN: r176780
2011-07-26 04:21:57 +00:00
Paolo Carlini cc2ba8e30f re PR libstdc++/49836 ([C++0x] vector<T>::push_back() should not require T to be (move-)assignable)
2011-07-25  Paolo Carlini  <paolo.carlini@oracle.com>
	    Nathan Ridge  <zeratul976@hotmail.com>

	PR libstdc++/49836
	* include/bits/stl_vector.h (vector<>::_M_emplace_back_aux):
	Declare.
	(vector<>::push_back(const value_type&)): Use it.
	* include/bits/vector.tcc: Define.
	(vector<>::emplace_back(_Args&&...)): Use it.
	* testsuite/util/testsuite_tr1.h (CopyConsOnlyType, MoveConsOnlyType):
	Add.
	* testsuite/23_containers/vector/modifiers/push_back/49836.cc: New.
	* testsuite/23_containers/deque/modifiers/push_back/49836.cc:
	Likewise.
	* testsuite/23_containers/deque/modifiers/push_front/49836.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.

Co-Authored-By: Nathan Ridge <zeratul976@hotmail.com>

From-SVN: r176761
2011-07-25 17:08:48 +00:00
Paolo Carlini 73645647f9 hashtable_policy.h (_Prime_rehash_policy::_M_next_bkt, [...]): Fix typos in the last commit.
2011-07-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable_policy.h (_Prime_rehash_policy::_M_next_bkt,
	_M_bkt_for_elements, _M_need_rehash): Fix typos in the last commit.

From-SVN: r176718
2011-07-24 19:47:04 +00:00
François Dumont 4f7b188f20 hashtable_policy.h (_Prime_rehash_policy): Use __builtin_floor rather than __builtin_ceil to compute next resize value.
2011-07-24  François Dumont  <francois.cppdevs@free.fr>

        * include/bits/hashtable_policy.h (_Prime_rehash_policy): Use
        __builtin_floor rather than __builtin_ceil to compute next resize
        value.
        * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
        New.

From-SVN: r176717
2011-07-24 19:20:26 +00:00
Benjamin Kosnik 9b9e81a0a9 move.h (move, forward): Mark constexpr.
2011-07-22  Benjamin Kosnik  <bkoz@redhat.com>
	    Daniel Krugler  <daniel.kruegler@googlemail.com>

	* include/bits/move.h (move, forward): Mark constexpr.
	* include/bits/stl_pair.h (pair): Mark move ctors constexpr.
	* testsuite/20_util/pair/make_pair/constexpr.cc: New.
	* testsuite/20_util/pair/cons/constexpr.cc: Add tests.


Co-Authored-By: Daniel Krugler <daniel.kruegler@googlemail.com>

From-SVN: r176672
2011-07-23 03:17:11 +00:00
Ian Lance Taylor 4ebb4fbf5d fragment.am (CONFIG_CXXFLAGS): Add -frandom-seed.
* fragment.am (CONFIG_CXXFLAGS): Add -frandom-seed.
	* Makefile.in: Rebuild.
	* doc/Makefile.in: Rebuild.
	* include/Makefile.in: Rebuild.
	* libsupc++/Makefile.in: Rebuild.
	* po/Makefile.in: Rebuild.
	* python/Makefile.in: Rebuild.
	* src/Makefile.in: Rebuild.
	* testsuite/Makefile.in: Rebuild.

From-SVN: r176626
2011-07-22 13:52:51 +00:00
Benjamin Kosnik 69a6209457 tree_no_data_map_rand.cc: Move...
2011-07-21  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Move...
	* testsuite/ext/pb_ds/regression/tree_set_rand.cc: ... here.
	* testsuite/ext/pb_ds/regression/tree_no_data_map_rand_debug.cc: Move...
	* testsuite/ext/pb_ds/regression/tree_set_rand_debug.cc: ... here.
	* testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Move...
	* testsuite/ext/pb_ds/regression/tree_map_rand.cc: ... here.
	* testsuite/ext/pb_ds/regression/tree_data_map_rand_debug.cc: Move...
	* testsuite/ext/pb_ds/regression/tree_map_rand_debug.cc: ... here.

	* testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Move...
	* testsuite/ext/pb_ds/regression/trie_set_rand.cc: ... here.
	* testsuite/ext/pb_ds/regression/trie_no_data_map_rand_debug.cc: Move...
	* testsuite/ext/pb_ds/regression/trie_set_rand_debug.cc: ... here.
	* testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Move...
	* testsuite/ext/pb_ds/regression/trie_map_rand.cc: ... here.
	* testsuite/ext/pb_ds/regression/trie_data_map_rand_debug.cc: Move...
	* testsuite/ext/pb_ds/regression/trie_map_rand_debug.cc: ... here.

	* testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc: Move.
	* testsuite/ext/pb_ds/regression/list_update_set_rand.cc: ...here.
	* testsuite/ext/pb_ds/regression/list_update_no_data_map_rand_debug.cc:
	Move...
	* testsuite/ext/pb_ds/regression/list_update_set_rand_debug.cc: ...here.
	* testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Move...
	* testsuite/ext/pb_ds/regression/list_update_map_rand.cc: ...here.
	* testsuite/ext/pb_ds/regression/list_update_data_map_rand_debug.cc:
	Move...
	* testsuite/ext/pb_ds/regression/list_update_map_rand_debug.cc: ...here.

	* testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Move...
	* testsuite/ext/pb_ds/regression/hash_set_rand.cc: ...here.
	* testsuite/ext/pb_ds/regression/hash_no_data_map_rand_debug.cc: Move...
	* testsuite/ext/pb_ds/regression/hash_set_rand_debug.cc: ...here.

	* testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Move...
	* testsuite/ext/pb_ds/regression/hash_map_rand.cc: ...here.
	* testsuite/ext/pb_ds/regression/hash_data_map_rand_debug.cc: Move...
	* testsuite/ext/pb_ds/regression/hash_map_rand_debug.cc: ...here.

From-SVN: r176613
2011-07-22 04:17:17 +00:00
François Dumont 93632f4a60 Add missing ChangeLog entry
From-SVN: r176586
2011-07-21 20:34:40 +00:00
François Dumont 364c862b4d safe_unordered_sequence.h, [...]: Rename respectively in...
2011-07-21  François Dumont  <francois.cppdevs@free.fr>

        * include/debug/safe_unordered_sequence.h,
        safe_unordered_sequence.tcc: Rename respectively in...
        * include/debug/safe_unordered_container.h,
        safe_unordered_container.tcc: ...those. _Safe_unordered_sequence
        rename _Safe_unordered_container.
        * include/debug/safe_unordered_base.h: _Safe_unordered_sequence_base
        rename _Safe_unordered_container_base.
        * include/debug/unordered_map, unordered_set: Adapt to previous
        modifications.
        * config/abi/pre/gnu.ver: Likewise.
        * src/debug.cc: Likewise.
        * include/Makefile.am: Likewise.
        * include/Makefile.in: Regenerate.

From-SVN: r176584
2011-07-21 19:56:36 +00:00
Paolo Carlini 2224b91ac5 mutex (timed_mutex, [...]): Update to use steady_clock instead of monotonic_clock.
2011-07-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/mutex (timed_mutex, recursive_timed_mutex): Update
	to use steady_clock instead of monotonic_clock.
	* config/abi/pre/gnu.ver: Export steady_clock::now.

From-SVN: r176560
2011-07-21 11:09:56 +00:00
Benjamin Kosnik bfef3a711a array (array::at, [...]): Mark constexpr.
2011-07-20  Benjamin Kosnik  <bkoz@redhat.com>
	    Daniel Krugler  <daniel.kruegler@googlemail.com>

	* include/std/array (array::at, array::operator[]): Mark constexpr.
	* testsuite/23_containers/array/requirements/
	constexpr_element_access.cc: Add.


Co-Authored-By: Daniel Krugler <daniel.kruegler@googlemail.com>

From-SVN: r176550
2011-07-21 05:48:03 +00:00
Benjamin Kosnik 1b97ec17bc chrono: (system_clock::is_steady): Update to N3291 from is_monotonic.
2011-07-20  Benjamin Kosnik  <bkoz@redhat.com>
	    Daniel Krugler  <daniel.kruegler@googlemail.com>

	* include/std/chrono: (system_clock::is_steady): Update to N3291
	from is_monotonic.
	(time_point): Add constexpr to nonmember arithmetic operators.
	* src/chrono.cc: Modify for above.
	* src/compatibility-c++0x.cc: Same.
	* testsuite/20_util/time_point/nonmember/constexpr.cc: New.
	* testsuite/20_util/time_point/1.cc: Modify.
	* testsuite/20_util/system_clock/constexpr_data.cc: Modify.
	* testsuite/20_util/system_clock/1.cc: Modify.
	* testsuite/20_util/monotonic_clock/constexpr_data.cc: Move to...
	* testsuite/20_util/steady_clock/constexpr_data.cc: ...here.
	* testsuite/30_threads/condition_variable/members/2.cc: Modify.
	* testsuite/30_threads/condition_variable_any/members/2.cc: Modify.

From-SVN: r176549
2011-07-21 03:27:51 +00:00
Paolo Carlini cd88bb8c77 system_error: Use noexcept.
2011-07-20  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/system_error: Use noexcept.
	* src/system_error.cc: Likewise.
	* testsuite/19_diagnostics/error_condition/modifiers/39881.cc: Adjust.
	* testsuite/19_diagnostics/error_condition/cons/39881.cc: Likewise.
	* testsuite/19_diagnostics/error_code/modifiers/39882.cc: Likewise.
	* testsuite/19_diagnostics/error_code/cons/39882.cc: Likewise.
	* testsuite/util/testsuite_error.h: Likewise.

	* include/std/system_error (error_code::error_code(_ErrorCodeEnum)):
	Use enable_if on template parameter default.
	(error_condition::error_condition(_ErrorConditionEnum)): Likewise.

From-SVN: r176529
2011-07-20 18:17:30 +00:00
Ed Smith-Rowland 7715bf1b5b stdc++.h: Add scoped_allocator.
2011-07-20  Ed Smith-Rowland  <3dw4rd@verizon.net>

	* include/precompiled/stdc++.h: Add scoped_allocator.

From-SVN: r176520
2011-07-20 15:45:55 +00:00
Benjamin Kosnik 07be61200c bitset (operator[]): Make constexpr.
2011-07-20  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/bitset (operator[]): Make constexpr.
	* testsuite/23_containers/bitset/operations/constexpr.cc: New.

From-SVN: r176519
2011-07-20 15:44:18 +00:00
Paolo Carlini d28d43815b safe_local_iterator.h (_Safe_local_iterator<>:: _Safe_local_iterator(const _Iterator&, size_type, const _Sequence*)): Fix typo.
2011-07-20  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/debug/safe_local_iterator.h (_Safe_local_iterator<>::
	_Safe_local_iterator(const _Iterator&, size_type, const _Sequence*)):
	Fix typo.

From-SVN: r176500
2011-07-20 09:40:11 +00:00
François Dumont 77e0bf4e07 safe_unordered_base.h, [...]: New, support for unordered sequence safe local iterators.
2011-07-19  François Dumont  <francois.cppdevs@free.fr>

        * include/debug/safe_unordered_base.h, safe_unordered_sequence.h,
        safe_unordered_sequence.tcc, safe_local_iterator.h,
        safe_local_iterator.tcc: New, support for unordered sequence safe
        local iterators.
        * include/Makefile.am: Add previous files.
        * include/Makefile.in: Regenerate.
        * include/debug/unordered_map, unordered_set: Implement
        _Safe_unordered_sequence and expose _Safe_local_iterator.
        * include/debug/safe_iterator.h, safe_iterator.tcc: Refactor
        _Safe_iterator::_M_get_distance static method to expose it as
        __get_distance function and use it in _Safe_local_iterator type.
        * include/debug/formatter.h: Add __msg_local_iter_compare_bad
        _Debug_msg_id enum entry to notify invalid comparison between local
        iterators from different buckets. Add _Parameter constructor from
        _Safe_local_iterator.
        * include/debug/functions.h: Add __valid_range overload for
        _Safe_local_iterator.
        * src/debug.cc: Add _Safe_unordered_sequence_base and
        _Safe_local_iterator_base methods implementations.
        * config/abi/pre/gnu.ver: Add export of some
        _Safe_unordered_sequence_base and _Safe_local_iterator_base methods.
        * testsuite/util/debug/checks.h: Add use_invalid_iterator function to
        simulate use of a singular iterator.
        * testsuite/util/debug/unordered_checks.h: New, several functions
        to simulate classic invalid usage of unordered sequence local
        iterators.
        * testsuite/23_containers/unordered_map/debug/
        use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
        use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
        invalid_local_iterator_compare_neg.cc: New.
        * testsuite/23_containers/unordered_multimap/debug/
        use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
        use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
        invalid_local_iterator_compare_neg.cc: New.
        * testsuite/23_containers/unordered_set/debug/
        use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
        use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
        invalid_local_iterator_compare_neg.cc: New.
        * testsuite/23_containers/unordered_multiset/debug/
        use_erased_local_iterator_neg.cc, invalid_local_iterator_range_neg.cc,
        use_invalid_local_iterator_neg.cc, use_invalid_iterator_neg.cc,
        invalid_local_iterator_compare_neg.cc: New.

From-SVN: r176487
2011-07-19 19:39:45 +00:00
Paolo Carlini 9992d56429 re PR libstdc++/48430 (std::hash partial specialization for std::unique_ptr and std::shared_ptr are using unary_function)
2011-07-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/48430
	* include/bits/shared_ptr.h (struct hash<shared_ptr<>>): Use
	__hash_base.
	* include/bits/unique_ptr.h (struct hash<unique_ptr<>>): Likewise.

From-SVN: r176405
2011-07-18 16:07:24 +00:00
Rainer Orth e44dbbe18b re PR debug/23205 ([C++/unit-at-a-time] stabs debug info omitted for global const variables)
toplevel:
	* configure: Regenerate.

	config:
	* elf.m4 (target_elf): Remove *-netware*.

	contrib:
	* config-list.mk (i586-netware): Remove.
	(.PHONY): Remove make-script-dir dependency.
	(make-script-dir): Remove.
	($(LIST)): Remove make-script-dir dependency.

	gcc:
	* config.gcc (i[3456x]86-*-netware*): Remove.

	* gthr-nks.h: Remove.
	* configure.ac (enable_threads): Remove nks.
	* configure: Regenerate.

	* config/i386/i386.c (ix86_encode_section_info): Remove netware
	reference.
	* config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): Remove
	<netware.h> reference.

	* config/i386/netware-libgcc.c,
	gcc/config/i386/netware-libgcc.def,
	gcc/config/i386/netware-libgcc.exp, gcc/config/i386/netware.c,
	gcc/config/i386/netware.h, gcc/config/i386/netware.opt,
	gcc/config/i386/nwld.c, gcc/config/i386/nwld.h,
	gcc/config/i386/t-netware, gcc/config/i386/t-nwld: Remove

	* doc/extend.texi (Function Attributes,
	callee_pop_aggregate_return): Remove i?86-netware reference.
	* doc/install.texi (Configuration, --enable-threads): Remove nks.

	gcc/testsuite:
	* g++.dg/ext/bitfield2.C: Remove i?86-*-netware support.
	* g++.dg/ext/bitfield3.C: Likewise.
	* g++.dg/ext/bitfield4.C: Likewise.
	* g++.dg/ext/bitfield5.C: Likewise.
	* g++.dg/other/PR23205.C: Remove *-*-netware* support.
	* g++.dg/other/pr23205-2.C: Likewise.
	* gcc.c-torture/compile/20001109-1.c: Remove dg-xfail-if.
	* gcc.c-torture/compile/20001109-2.c: Likewise.
	* gcc.dg/20040813-1.c: Remove *-*-netware* support.
	* gcc.dg/bitfld-15.c: Remove i?86-*-netware support.
	* gcc.dg/bitfld-16.c: Likewise.
	* gcc.dg/bitfld-17.c: Likewise.
	* gcc.dg/bitfld-18.c: Likewise.
	* gcc.dg/builtins-config.h: Remove Netware support.
	* gcc.dg/cdce1.c: Remove *-*-netware* support.  Update line number.
	* gcc.dg/cdce2.c: Likewise.
	* gcc.dg/cpp/assert4.c: Remove netware support.
	* gcc.dg/debug/pr35154.c: Remove *-*-netware* support.
	* gfortran.dg/debug/pr35154-stabs.f: Remove *-*-netware* support.

	* lib/target-supports.exp (check_visibility_available): Remove
	NetWare support.
	(check_profiling_available): Likewise.

	libgcc:
	* config.host (i[3456x]86-*-netware*): Remove.
	* config/i386/netware-crt0.c, config/i386/t-nwld,
	config/i386/t-slibgcc-nwld: Remove.

	libstdc++-v3:
	* crossconfig.m4 (*-netware): Remove.
	* configure: Regenerate.

From-SVN: r176391
2011-07-18 11:04:18 +00:00
Jason Merrill 6573e8a0a9 pt.c (tinst_level_tick, [...]): Replace with last_error_tinst_level.
gcc/cp/
	* pt.c (tinst_level_tick, last_template_error_tick): Replace with
	last_error_tinst_level.
	(push_tinst_level, pop_tinst_level): Adjust.
	(problematic_instantiation_changed): Adjust.
	(record_last_problematic_instantiation): Adjust.
	* error.c (cp_print_error_function): Don't print
	current_function_decl if we're in a template instantiation context.
	(print_instantiation_full_context): Always print first line.
gcc/testsuite/
	* lib/prune.exp (prune_gcc_output): Prune "In substitution" too.

From-SVN: r176366
2011-07-16 22:34:22 -04:00
Yufeng Zhang aeb4926a2d ctype_members.cc: New file.
2011-07-15  Yufeng Zhang  <yufeng.zhang@arm.com>

	* config/locale/newlib/ctype_members.cc: New file.
	* acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Add a new C locale
	kind: newlib.  Configure to use the newlib specific
	ctype_members.cc when with_newlib is enabled.
	* configure: Regenerate.

From-SVN: r176339
2011-07-15 22:29:53 +00:00
Paolo Carlini 42ea89ae1c 2011-07-15 Paolo Carlini <paolo.carlini@oracle.com>
* Tweak last ChangeLog entry.

From-SVN: r176336
2011-07-15 21:54:31 +00:00
Paolo Carlini 6545e33e69 re PR libstdc++/49745 (error: ‘int truncate’ redeclared as different kind of symbol)
/gcc
2011-07-15  Paolo Carlini  <paolo.carlini@oracle.com>
	    Jakub Jelinek  <jakub@redhat.com>
	    Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/49745
	* gthr-posix.h: Do not include <unistd.h> unconditionally; use
	_GTHREADS_USE_MUTEX_TIMEDLOCK instead of _POSIX_TIMEOUTS.

/libstdc++-v3
2011-07-15  Paolo Carlini  <paolo.carlini@oracle.com>
	    Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/49745
	* acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): Check separately for
	_POSIX_TIMEOUTS and define _GTHREADS_USE_MUTEX_TIMEDLOCK.
	* libstdc++-v3/libsupc++/guard.cc: Include <unistd.h>.
	* testsuite/17_intro/headers/c++1998/49745.cc: New.
	* configure: Regenerate.
	* config.h.in: Likewise.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>

From-SVN: r176335
2011-07-15 21:52:06 +00:00
Paolo Carlini 848ca96f30 re PR libstdc++/49559 ([C++0x] stable_sort calls self-move-assignment operator)
2011-07-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/49559
	* include/bits/stl_algo.h (__move_merge_backward): Remove.
	(__move_merge_adaptive, __move_merge_adaptive_backward): New.
	(__merge_adaptive): Use the latter two.
	(__rotate_adaptive): Avoid self move-assignment.
	* include/bits/stl_algobase.h (move_backward): Fix comment.
	* testsuite/25_algorithms/stable_sort/49559.cc: New.
	* testsuite/25_algorithms/inplace_merge/49559.cc: Likewise.
	* testsuite/25_algorithms/inplace_merge/moveable.cc: Extend.
	* testsuite/25_algorithms/inplace_merge/moveable2.cc: Likewise.
	* testsuite/util/testsuite_rvalref.h (rvalstruct::operator=
	(rvalstruct&&)): Check for self move-assignment.

From-SVN: r176174
2011-07-11 18:38:54 +00:00
Paolo Carlini 0f509bb7d5 testsuite_allocator.h (propagating_allocator<>:: operator=(const propagating_allocator<>&)): Retun *this.
2011-07-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_allocator.h (propagating_allocator<>::
	operator=(const propagating_allocator<>&)): Retun *this.

From-SVN: r176169
2011-07-11 17:19:53 +00:00
Jonathan Wakely 677aad9c92 Makefile.am: Add new header.
2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/Makefile.am: Add new header.
	* include/Makefile.in: Regenerate.
	* include/std/scoped_allocator: New.
	* doc/xml/manual/status_cxx200x.xml: Update.
	* testsuite/20_util/scoped_allocator/1.cc: New.
	* testsuite/20_util/scoped_allocator/propagation.cc: New.
	* testsuite/20_util/scoped_allocator/requirements/typedefs.cc: New.
	* testsuite/20_util/scoped_allocator/requirements/
	explicit_instantiation.cc: New.

From-SVN: r176079
2011-07-09 14:45:56 +01:00
Jonathan Wakely bd8485dc9f stl_vector.h: Use new allocator model in C++0x mode.
2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/stl_vector.h: Use new allocator model in C++0x mode.
	* include/bits/vector.tcc: Likewise.
	* testsuite/util/testsuite_allocator.h (propagating_allocator): Define.
	* testsuite/23_containers/vector/allocator/copy_assign.cc: New.
	* testsuite/23_containers/vector/allocator/noexcept.cc: New.
	* testsuite/23_containers/vector/allocator/copy.cc: New.
	* testsuite/23_containers/vector/allocator/swap.cc: New.
	* testsuite/23_containers/vector/allocator/move_assign.cc: New.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Adjust dg-error line numbers.
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc:
	Likewise.
	* testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc:
	Likewise.

From-SVN: r176078
2011-07-09 14:06:29 +01:00
Jonathan Wakely d526242cd8 alloc_traits.h (__allocator_always_compares_equal): New trait, provide partial specializations for known allocators.
2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/ext/alloc_traits.h (__allocator_always_compares_equal): New
	trait, provide partial specializations for known allocators.
	(__alloc_traits::construct, __alloc_traits::destroy): Overload for
	non-standard pointer types.
	(__alloc_traits::_S_always_equal): New trait for use with noexcept.
	(__alloc_traits::_S_nothrow_move): Likewise.
	(__alloc_traits::_S_nothrow_swap): Likewise.

From-SVN: r176077
2011-07-09 13:48:32 +01:00
Jonathan Wakely eece716393 cast.h: Fix typo in include guard.
2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/ext/cast.h: Fix typo in include guard.
	* include/ext/pointer.h (_Unqualified_type): Remove redundant
	partial specializations for volatile types. Fix typos in comments.
	(pointer_traits<_Pointer_adaptor<Tp>>::pointer_to): Define.

From-SVN: r176075
2011-07-09 11:28:56 +01:00
Jonathan Wakely 4880236e3f re PR libstdc++/49668 ([C++0x] std::thread does not forward its args as rvalues)
2011-07-09  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/49668
	* include/std/functional (__bind_simple): Define.
	* include/std/future (_Task_setter): Parameterize by type of result
	pointer instead of state object.
	(_S_task_setter): Type deduction helper.
	(_Task_state): Use _S_task_setter and __bind_simple.
	(_Deferred_state, _Async_state): Store call wrapper directly not as
	std::function. Use _S_task_setter and __bind_simple.
	(_S_make_deferred_state, _S_make_async_state): Type deduction helpers.
	(async): Use new functions and __bind_simple.
	* include/std/mutex (call_once): Use __bind_simple.
	* include/std/thread (thread): Likewise. Remove unused headers.
	* src/thread.cc: Add header.
	* testsuite/30_threads/async/49668.cc: New.
	* testsuite/30_threads/call_once/49668.cc: New.
	* testsuite/30_threads/thread/cons/49668.cc: New.
	* testsuite/30_threads/thread/cons/moveable.cc: Remove unused bool.

From-SVN: r176073
2011-07-09 11:13:01 +01:00
Rainer Orth 00fc1bf6c7 configure.host (abi_baseline_subdir_switch): Describe.
* configure.host (abi_baseline_subdir_switch): Describe.
	Provide default.
	(*-*-solaris2.[89], *-*-solaris2.1[0-9]): Override.
	* acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Substitute
	baseline_subdir_switch.
	* testsuite/Makefile.am (site.exp): Emit it.
	(baseline_subdir): Use it.
	* testsuite/libstdc++-abi/abi.exp: Use it.
	* 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.

From-SVN: r176032
2011-07-08 08:49:57 +00:00
François Dumont 4c2d93dbfa set.h, [...]: Remove base class default constructor calls.
2011-06-29  François Dumont  <francois.cppdevs@free.fr>

	* include/debug/set.h, unordered_map, multiset.h, forward_list,
	unordered_set, vector, deque, string, list, multimap.h: Remove base
	class default constructor calls.
	* include/debug/map.h: Likewise and cleanup several redefinition of
	base iterator typedef.

From-SVN: r175665
2011-06-29 20:11:50 +00:00
Nathan Sidwell 3a86cfeb42 unwind-arm.c (enum __cxa_type_match_result): New.
gcc/
	* config/arm/unwind-arm.c (enum __cxa_type_match_result): New.
	(cxa_type_match): Correct declaration.
	(__gnu_unwind_pr_common): Reconstruct
	additional indirection when __cxa_type_match returns
	succeeded_with_ptr_to_base.

	libstdc++/
	* libsupc++/eh_arm.c (__cxa_type_match): Construct address of
	thrown object here.  Return succeded_with_ptr_to_base for all
	pointer cases.

From-SVN: r175641
2011-06-29 14:18:48 +00:00
Jonathan Wakely 6f20ac347a tie2.cc: Fix for C++0x mode.
2011-06-23  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* testsuite/tr1/6_containers/tuple/creation_functions/tie2.cc: Fix for
	C++0x mode.
	* testsuite/25_algorithms/sort/35588.cc: Likewise.
	* testsuite/26_numerics/headers/complex/synopsis.cc: Likewise.

From-SVN: r175329
2011-06-23 11:32:23 +01:00
Jonathan Wakely 8eeaeeca20 socket.cc: Use variable and remove attribute.
2011-06-22  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* testsuite/20_util/bind/socket.cc: Use variable and remove attribute.

From-SVN: r175322
2011-06-22 23:46:14 +01:00
Paolo Carlini 98656b3d14 pat_trie_base.hpp: Avoid -Wall warning.
2011-06-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/pb_ds/detail/pat_trie_/pat_trie_base.hpp: Avoid -Wall
	warning.

From-SVN: r175321
2011-06-22 22:28:56 +00:00
Paolo Carlini 879e1011e0 invoke.cc: Avoid -Wall warnings.
2011-06-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/20_util/reference_wrapper/invoke.cc: Avoid -Wall warnings.
	* testsuite/20_util/reference_wrapper/typedefs-3.cc: Likewise.
	* testsuite/20_util/reference_wrapper/invoke-2.cc: Likewise.
	* testsuite/20_util/allocator_traits/members/allocate_hint.cc:
	Likewise.
	* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
	* testsuite/20_util/bind/socket.cc: Likewise.
	* testsuite/20_util/pointer_traits/pointer_to.cc: Likewise.
	* testsuite/util/testsuite_random.h: Likewise.

From-SVN: r175318
2011-06-22 21:46:17 +00:00
Paolo Carlini bd9db3b8dd stl_construct.h: Update Copyright years.
2011-06-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_construct.h: Update Copyright years.
	* include/bits/stl_uninitialized.h: Likewise.

From-SVN: r175309
2011-06-22 20:27:21 +00:00
Jonathan Wakely e8eb60bd92 Makefile.am: Add alloc_traits.h headers.
2011-06-22  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/Makefile.am: Add alloc_traits.h headers.
	* include/Makefile.in: Regenerate.
	* include/std/memory: Include uses_allocator.h explicitly.
	* include/bits/allocator.h (allocator_traits): Move to ...
	* include/bits/alloc_traits.h: New header.
	* include/ext/alloc_traits.h (__alloc_traits): Extension to provide
	a common allocator interface for C++98 and C++0x.
	* include/bits/stl_construct.h: Use __alloc_traits.
	* include/bits/stl_uninitialized.h: Likewise.

From-SVN: r175305
2011-06-22 20:57:12 +01:00
Daniel Krugler ccb4f5a707 move.h (__is_nothrow_swappable): Add.
2011-06-22  Daniel Krugler  <daniel.kruegler@googlemail.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/move.h (__is_nothrow_swappable): Add.
	(swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Use noexcept.
	* include/bits/algorithmfwd.h: Adjust.
	* testsuite/25_algorithms/swap/noexcept.cc: New.


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

From-SVN: r175277
2011-06-21 23:01:03 +00:00
Jakub Jelinek f1ee724ceb Makefile.in (dg_target_exps): Set.
* Makefile.in (dg_target_exps): Set.
	(check_gcc_parallelize): Parallelize gcc testing into 10 jobs
	instead of 7, try to divide it more evenly.

	* Make-lang.in (check_gfortran_parallelize): Parallelize dg.exp
	into 6 jobs instead of 3.

	* testsuite/Makefile.am (check_DEJAGNU_normal_targets): Add
	check-DEJAGNUnormal[4-9].
	(check-DEJAGNU): Split into 10 jobs for parallel testing instead of 4.
	* testsuite/Makefile.in: Regenerated.

From-SVN: r175238
2011-06-21 08:27:35 +02:00
Daniel Krugler 6f17ef336c tuple (__conv_types, [...]): Add.
2011-06-20  Daniel Krugler  <daniel.kruegler@googlemail.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/tuple (__conv_types, __one_by_one_convertible,
	__all_convertible): Add.
	(tuple): Use the latter.
	(tuple<_T1>): Remove.
	* testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error
	line number.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.

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

From-SVN: r175204
2011-06-20 11:05:45 +00:00
Jonathan Wakely d2393b3adb ptr_traits.h (pointer_traits<T*>::pointer_to): Use noexcept.
2011-06-14  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/bits/ptr_traits.h (pointer_traits<T*>::pointer_to): Use
	noexcept.

From-SVN: r175057
2011-06-14 23:08:24 +01:00
Paolo Carlini 6a97dbf748 valarray (~valarray): Use noexcept.
2011-06-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/valarray (~valarray): Use noexcept.
	* include/bits/unique_ptr.h (~unique_ptr): Likewise.
	* testsuite/26_numerics/valarray/noexcept_move_construct.cc: New.
	* testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc:
	Likewise.
	* testsuite/20_util/unique_ptr/cons/noexcept_move_construct.cc:
	Likewise.
	* testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc:
	Likewise.

From-SVN: r175039
2011-06-14 17:48:29 +00:00
Paolo Carlini 6b14c6d7ff functional: Use noexcept.
2011-06-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/functional: Use noexcept.
	* include/bits/stl_tempbuf.h: Likewise.

From-SVN: r175026
2011-06-14 15:09:14 +00:00
François Dumont 8a752dfea6 allocator.h (__shrink_to_fit): Rename to __shrink_to_fit_aux, fix.
2011-06-12  François Dumont  <francois.cppdevs@free.fr>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/allocator.h (__shrink_to_fit): Rename to
	__shrink_to_fit_aux, fix.
	* include/bits/stl_vector.h (_M_shrink_to_fit): Declare.
	(shrink_to_fit): Use the latter.
	* include/debug/vector (shrink_to_fit): Likewise.
	* include/bits/vector.tcc (_M_shrink_to_fit): Define.
	* include/bits/stl_deque.h (_M_shrink_to_fit): Declare.
	(shrink_to_fit): Use the latter.
	* include/debug/deque (shrink_to_fit): Likewise.
	* include/bits/deque.tcc (_M_shrink_to_fit): Define.
	* include/bits/vector.tcc (vector<bool>::_M_reallocate): Add.
	* include/bits/stl_bvector.h (_M_shrink_to_fit): Declare.
	(shrink_to_fit): Use the latter.
	(reserve): Use _M_reallocate, move inline.
	(_Bvector_base<>::_S_nword): Add, use it throughout.
	* include/debug/string (shrink_to_fit): Redo.
	* include/ext/vstring.h (shrink_to_fit): Optimize.
	* include/bits/basic_string.h (shrink_to_fit): Likewise.
	* testsuite/21_strings/debug/shrink_to_fit.cc: New.
	* testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise.
	* testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc:
	Likewise.
	* testsuite/23_containers/vector/bool/capacity/shrink_to_fit.cc:
	Likewise.
	* testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise.



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

From-SVN: r174967
2011-06-12 15:51:36 +00:00
Jonathan Wakely c51b58dc1f extptr_allocator.h (construct, destroy): Fix for C++0x mode by overloading to take allocator's pointer type.
2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* include/ext/extptr_allocator.h (construct, destroy): Fix for C++0x
	mode by overloading to take allocator's pointer type.
	* testsuite/23_containers/vector/ext_pointer/types/2.cc: New.
	* testsuite/23_containers/vector/ext_pointer/explicit_instantiation/
	2.cc: New.

From-SVN: r174958
2011-06-11 17:05:08 +01:00
Jonathan Wakely a9a76bae8b explicit_instantiation.cc: Add another instantiation.
2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* testsuite/20_util/allocator_traits/requirements/
	explicit_instantiation.cc: Add another instantiation.

From-SVN: r174957
2011-06-11 16:37:17 +01:00
Jonathan Wakely b6a1daaa77 typedefs.cc: Check for allocator_type and value_type.
2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* testsuite/20_util/allocator_traits/requirements/typedefs.cc: Check
	for allocator_type and value_type.

From-SVN: r174953
2011-06-11 14:49:17 +01:00
Jonathan Wakely c44ddf9615 uses_allocator.cc: New.
2011-06-11  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* testsuite/30_threads/packaged_task/uses_allocator.cc: New.
	* testsuite/30_threads/promise/uses_allocator.cc: Likewise.

From-SVN: r174949
2011-06-11 12:58:18 +01:00
Paolo Carlini 7d9cb05400 throw_allocator.h: Use noexcept.
2011-06-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/throw_allocator.h: Use noexcept.
	* 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.
	* testsuite/util/testsuite_allocator.h: Likewise; do not include
	<cassert> directly, include <testsuite_hooks.h> instead.

From-SVN: r174918
2011-06-10 17:14:40 +00:00
Benjamin Kosnik 30a96b3b0c *: Doxygen markup redo.
2011-06-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/pb_ds/*: Doxygen markup redo.
	* include/Makefile.am: Fold in constructors_destructor_fn_imps.hpp.
	* include/Makefile.in: Regenerate.

From-SVN: r174917
2011-06-10 17:10:42 +00:00
Jason Merrill 32293e2bd6 * testsuite/20_util/bind/ref_neg.cc: Remove wrong test lines.
From-SVN: r174907
2011-06-10 10:20:28 -04:00
Jason Merrill d784c0d6e6 ref_neg.cc: Remove dg-excess-errors, fix dg-error markup.
2011-06-10  Jason Merrill  <jason@redhat.com>

	* testsuite/20_util/bind/ref_neg.cc: Remove dg-excess-errors,
	fix dg-error markup.

From-SVN: r174906
2011-06-10 13:47:55 +00:00
Jason Merrill 793fbf0b48 * semantics.c (maybe_constant_value): Handle overflowed input.
From-SVN: r174885
2011-06-09 23:56:08 -04:00
Jason Merrill 377a536430 prune.exp (libstdc++-dg-prune): Prune notes.
* testsuite/lib/prune.exp (libstdc++-dg-prune): Prune notes.
	* testsuite/20_util/duration/cons/1_neg.cc: Remove dg-excess-errors.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
	* testsuite/20_util/forward/1_neg.cc: Likewise.
	* testsuite/20_util/function/cmp/cmp_neg.cc: Likewise.
	* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
	* testsuite/20_util/reference_wrapper/ref_neg.cc: Likewise.
	* testsuite/20_util/tuple/comparison_operators/35480_neg.cc: Likewise.
	* testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc: Likewise.
	* testsuite/20_util/shared_ptr/assign/auto_ptr_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.
	* testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc: Likewise.
	* testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc: Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc: Likewise.
	* testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise.
	* testsuite/23_containers/forward_list/requirements/dr438/assign_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/forward_list/requirements/dr438/insert_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Likewise.
	* testsuite/23_containers/vector/requirements/dr438/assign_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/vector/requirements/dr438/insert_neg.cc: Likewise.
	* testsuite/23_containers/map/operators/1_neg.cc: Likewise.
	* testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc: Likewise.
	* testsuite/decimal/mixed-mode-arith_neg.cc: Likewise.
	* testsuite/decimal/mixed-mode-cmp_neg.cc: Likewise.
	* testsuite/decimal/operator_neg.cc: Likewise.

From-SVN: r174884
2011-06-09 23:56:00 -04:00
Simon Baldwin dd27d2fadd extract_symvers.in: Handle processor/OS specific or unknown symbol binding strings from readelf.
* scripts/extract_symvers.in: Handle processor/OS specific or
	unknown symbol binding strings from readelf.

From-SVN: r174841
2011-06-09 11:27:40 +00:00
Paolo Carlini 9b3a81dacd type_traits (__is_copy_assignable_impl, [...]): Fix typos.
2011-06-09  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (__is_copy_assignable_impl,
	__is_nt_copy_assignable_impl): Fix typos.

From-SVN: r174840
2011-06-09 08:03:14 +00:00
Paolo Carlini 545dc5e324 extptr_allocator.h: Include <ext/numeric_traits.h> instead of <limits>.
2011-06-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/extptr_allocator.h: Include <ext/numeric_traits.h>
	instead of <limits>.
	* include/bits/allocator.h: Likewise.

	* include/std/chrono (duration_values<>::min): Call lowest, not min.

From-SVN: r174805
2011-06-08 12:12:00 +00:00
Paolo Carlini 76aa78e9eb allocator.h (__shrink_to_fit): Simplify.
2011-06-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/allocator.h (__shrink_to_fit): Simplify.
	* include/bits/stl_vector.h (vector<>::shrink_to_fit): Adjust.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/stl_bvector.h: Likewise.

From-SVN: r174802
2011-06-08 11:07:24 +00:00
Jason Merrill 3ff6097510 re PR c++/48969 (ICE with -std=c++0x)
PR c++/48969
	PR c++/44175
gcc/c-family/
	* c-common.c (max_tinst_depth): Lower default to 900.
gcc/cp/
	* error.c (subst_to_string): New.
	(cp_printer): Use it for 'S'.
	(print_instantiation_partial_context_line): Handle subst context.
	* pt.c (push_tinst_level): Handle subst context.
	(deduction_tsubst_fntype): Don't track specific substitutions.
	Use push_tinst_level.

From-SVN: r174772
2011-06-07 17:54:07 -04:00
Paolo Carlini 16d80e03f9 2011-06-07 Paolo Carlini <paolo.carlini@oracle.com>
* Fix last ChangeLog entry.

From-SVN: r174758
2011-06-07 16:14:24 +00:00