Commit Graph

7331 Commits

Author SHA1 Message Date
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