Commit Graph

6429 Commits

Author SHA1 Message Date
Paolo Carlini
07bba3b144 re PR libstdc++/57674 (wrong distribution for std::binomial_distribution::operator()(g,param))
2013-06-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/57674
	* include/bits/random.h (binomial_distribution<>::_M_waiting):
	Add double parameter.
	* include/bits/random.tcc (binomial_distribution<>::operator()
	(_UniformRandomNumberGenerator&, const param_type&)): Pass
	__param._M_q to _M_waiting.
	(_M_waiting): Adjust.
	* testsuite/26_numerics/random/binomial_distribution/
	operators/values.cc: Add tests.

From-SVN: r200341
2013-06-22 21:07:02 +00:00
Paolo Carlini
b0ad3635b6 re PR libstdc++/57666 (valarray<T>::operator= in c++11 mode does not adapt to size)
2013-06-21  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/57666
	* include/std/valarray (valarray<>::operator=(const _Expr<>&)):
	Implement correctly C++11 26.6.2.3/1.
	* testsuite/26_numerics/valarray/dr630-3.C: New.

From-SVN: r200305
2013-06-21 14:23:15 +00:00
Jonathan Wakely
25e00ab674 re PR libstdc++/57641 (std::timed_mutex.try_lock_until() is broken)
PR libstdc++/57641
	* include/std/mutex (timed_mutex, recursive_timed_mutex): Move common
	functionality to new __timed_mutex_impl mixin. Overload try_lock_until
	to handle conversion between different clocks. Replace constrained
	__try_lock_for_impl overloads with conditional increment.
	* include/std/shared_mutex (shared_mutex::_Mutex): Use the new mixin.
	* testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.

From-SVN: r200180
2013-06-18 23:55:02 +01:00
Jonathan Wakely
31eb8a1809 stl_algobase.h (equal): Make C++14 overloads from N3671 dispatch to traditional std::equal for...
2013-06-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
	    Chris Jefferson  <chris@bubblescope.net>

	* include/bits/stl_algobase.h (equal): Make C++14 overloads from N3671
	dispatch to traditional std::equal for random-access iterators.
	(__equal2_aux, __equal2): Remove.
	(__equal::equal): Remove unused overloads.
	* include/bits/stl_algo.h (is_permutation): Fix typos.

Co-Authored-By: Chris Jefferson <chris@bubblescope.net>

From-SVN: r200145
2013-06-17 01:47:55 +01:00
Jonathan Wakely
2081281b10 shared_mutex (shared_lock::operator=): Add missing return statement.
* include/std/shared_mutex (shared_lock::operator=): Add missing
	return statement.

From-SVN: r200141
2013-06-16 22:56:43 +01:00
Jonathan Wakely
f038f5824b re PR libstdc++/57263 (std::set with user-defined allocator - compile error)
PR libstdc++/57263
	* include/bits/forward_list.h (_Fwd_list_base): Convert to/from
	allocator's pointer type.
	* include/bits/hashtable.h (_Hashtable): Likewise.
	* testsuite/util/testsuite_allocator.h (CustomPointerAlloc): Add.
	* testsuite/23_containers/forward_list/allocator/ext_ptr.cc: New.
	* testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: New.
	* testsuite/23_containers/vector/allocator/ext_ptr.cc: New.

From-SVN: r200136
2013-06-16 18:13:34 +01:00
Jonathan Wakely
8d2cddc125 shared_mutex: Implement N3659.
* include/std/shared_mutex: Implement N3659.
	* include/bits/c++14_warning.h: New.
	* include/Makefile.am: Add new headers.
	* include/Makefile.in: Regenerate.
	* testsuite/30_threads/shared_lock/cons/1.cc: New.
	* testsuite/30_threads/shared_lock/locking/2.cc: New.
	* testsuite/30_threads/shared_lock/cons/2.cc: New.
	* testsuite/30_threads/shared_lock/locking/3.cc: New.
	* testsuite/30_threads/shared_lock/cons/3.cc: New.
	* testsuite/30_threads/shared_lock/locking/4.cc: New.
	* testsuite/30_threads/shared_lock/cons/4.cc: New.
	* testsuite/30_threads/shared_lock/modifiers/1.cc: New.
	* testsuite/30_threads/shared_lock/cons/5.cc: New.
	* testsuite/30_threads/shared_lock/modifiers/2.cc: New.
	* testsuite/30_threads/shared_lock/cons/6.cc: New.
	* testsuite/30_threads/shared_lock/requirements/
	explicit_instantiation.cc: New.
	* testsuite/30_threads/shared_lock/locking/1.cc: New.
	* testsuite/30_threads/shared_lock/requirements/typedefs.cc: New.
	* testsuite/30_threads/shared_mutex/cons/1.cc: New.
	* testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
	* testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
	* testsuite/30_threads/shared_mutex/requirements/
	standard_layout.cc: New.
	* testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
	* testsuite/30_threads/shared_mutex/try_lock/2.cc: New.

From-SVN: r200134
2013-06-16 17:35:06 +01:00
Paolo Carlini
95777cb0fb re PR libstdc++/57619 (std::unordered_map and std::unordered_multimap::insert invoking std::pair move constructor)
2013-06-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/57619
	* include/bits/unordered_map.h (unordered_map<>::insert,
	unordered_multimap<>::insert): Use std::forward, not std::move.
	* testsuite/23_containers/unordered_map/insert/57619.C: New.
	* testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.

From-SVN: r200111
2013-06-14 23:35:56 +00:00
Alan Modra
8f7fa4ba72 configure.host (abi_baseline_pair): Match powerpc64*.
* configure.host (abi_baseline_pair): Match powerpc64*.

From-SVN: r200087
2013-06-14 18:10:47 +09:30
Daniel Kruegler
8989803415 type_traits (is_function): Support ref-qualified functions.
2013-06-13  Daniel Krugler  <daniel.kruegler@gmail.com>

	* include/std/type_traits (is_function): Support ref-qualified
	functions.
	(is_copy_constructible, is_move_constructible, is_copy_assignable,
	is_move_assignable, is_nothrow_copy_constructible,
	is_nothrow_move_constructible, is_nothrow_copy_assignable,
	is_nothrow_move_assignable): Implement LWG 2196.
	(add_lvalue_reference, add_rvalue_reference, add_pointer): Implement
	LWG 2101.
	(__strip_reference_wrapper<<const reference_wrapper<_Tp>>): Remove,
	unused.
	* testsuite/20_util/add_lvalue_reference/value.cc: Extend.
	* testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
	* testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_assignable/value.cc: Likewise.
	* testsuite/20_util/is_constructible/value-2.cc: Likewise.
	* testsuite/20_util/is_copy_assignable/value.cc: Likewise.
	* testsuite/20_util/is_copy_constructible/value.cc: Likewise.
	* testsuite/20_util/is_function/value.cc: Likewise.
	* testsuite/20_util/is_move_assignable/value.cc: Likewise.
	* testsuite/20_util/is_move_constructible/value.cc: Likewise.
	* testsuite/20_util/is_nothrow_copy_assignable/value.cc: Likewise.
	* testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
	* testsuite/20_util/is_nothrow_move_assignable/value.cc: Likewise.
	* testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.

	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
	line number.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.

From-SVN: r200080
2013-06-13 23:18:27 +00:00
Paolo Carlini
8aaba3a9a7 modified_bessel_func.tcc (__gnu_cxx::__airy_ai(), [...]): Remove.
2013-06-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/tr1/modified_bessel_func.tcc (__gnu_cxx::__airy_ai(),
	__gnu_cxx::__airy_bi()): Remove.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	10_cyl_bessel_k/airy.cc: Fix.

From-SVN: r200060
2013-06-13 08:25:36 +00:00
Ed Smith-Rowland
bcc193bf46 re PR libstdc++/56430 (In __airy: return-statement with a value, in function returning 'void'.)
2013-06-12  Ed Smith-Rowland  <3dw4rd@verizon.net>

	PR libstdc++/56430
	* include/tr1/modified_bessel_func.tcc (__airy): Remove return
	from void function.
	(__gnu_cxx::__airy_ai(), __gnu_cxx::__airy_bi()): New functions.
	* testsuite/tr1/5_numerical_facilities/special_functions/
	10_cyl_bessel_k/airy.cc: New.

From-SVN: r200054
2013-06-13 03:04:58 +00:00
Ed Smith-Rowland
0372af98bd Fix library literals error involving namespace __detail.
2013-06-11  Ed Smith-Rowland  <3dw4rd@verizon.net>

	Fix library literals error involving namespace __detail.
	* include/std/chrono: Rename __detail to __select_type. Reformat.
	* include/bits/basic_string.h: Reformat.
	* testsuite/20_util/duration/literals/ns_detail.cc: New.

From-SVN: r199948
2013-06-11 11:00:38 +00:00
Paolo Carlini
899e00ebb2 re PR libstdc++/56019 (max_align_t should be in std namespace)
2013-06-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/56019
	* include/c_global/cstddef (max_align_t): Add to namespace std.
	* include/c_std/cstddef: Likewise.
	* testsuite/18_support/max_align_t/requirements/1.cc: New.
	* testsuite/18_support/max_align_t/requirements/2.cc: Likewise.

From-SVN: r199945
2013-06-11 09:50:55 +00:00
Benjamin Kosnik
3b31a72738 c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
2013-06-10  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
	* include/bits/stl_map.h (erase): Use abi_tag when C++11.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_tree.h: Same.
	* include/std/complex (real, imag): Use macro for abi_tag.

	* testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
	* testsuite/util/testsuite_containers.h (erase_external): New
	declarations.
	(erase_external_iterators): Same.
	(linkage_check_cxx98_cxx11_erase): Same.
	(linkage_check_cxx98_cxx11_erase_iterators): Same.
	* testsuite/util/testsuite_shared.cc: Define.
	* testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New.
	* testsuite/23_containers/map/modifiers/erase/
	dr130-linkage-check.cc: New.
	* testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New.
	* testsuite/23_containers/multimap/modifiers/erase/
	dr130-linkage-check.cc: New.
	* testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New.
	* testsuite/23_containers/multiset/modifiers/erase/
	dr130-linkage-check.cc: New.
	* testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New.
	* testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc:
	New.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.

	* testsuite/23_containers/map/dr130.cc: Move...
	* testsuite/23_containers/map/modifiers/dr130.cc: ...here.
	* testsuite/23_containers/multimap/dr130.cc: Move ...
	* testsuite/23_containers/multimap/modifiers/dr130.cc: ...here.
	* testsuite/23_containers/multiset/dr130.cc: Move...
	* testsuite/23_containers/multiset/modifiers/dr130.cc: ...here.
	* testsuite/23_containers/set/dr130.cc: Move...
	* testsuite/23_containers/set/modifiers/dr130.cc: ...here.

From-SVN: r199924
2013-06-10 23:11:05 +00:00
Thomas Schwinge
9275f73ae5 forced.C: Extend current handling of Linux-based x86 systems to cover all GNU systems.
gcc/testsuite/
	* g++.dg/abi/forced.C: Extend current handling of Linux-based x86
	systems to cover all GNU systems.
	* g++.dg/abi/guard2.C: Likewise.
	* g++.dg/cpp0x/constexpr-rom.C: Likewise.
	* g++.dg/eh/sighandle.C: Likewise.
	* g++.dg/ext/cleanup-10.C: Likewise.
	* g++.dg/ext/cleanup-11.C: Likewise.
	* g++.dg/ext/cleanup-8.C: Likewise.
	* g++.dg/ext/cleanup-9.C: Likewise.
	* g++.dg/opt/const5.C: Likewise.
	* g++.dg/opt/life1.C: Likewise.
	* g++.dg/other/pr39496.C: Likewise.
	* g++.old-deja/g++.abi/aggregates.C: Likewise.
	* g++.old-deja/g++.abi/align.C: Likewise.
	* g++.old-deja/g++.abi/bitfields.C: Likewise.
	* g++.old-deja/g++.law/weak.C: Likewise.
	* g++.old-deja/g++.pt/asm1.C: Likewise.
	* gcc.c-torture/execute/20030125-1.x: Likewise.
	* gcc.c-torture/execute/990127-2.x: Likewise.
	* gcc.dg/20041106-1.c: Likewise.
	* gcc.dg/20050503-1.c: Likewise.
	* gcc.dg/builtin-object-size-5.c: Likewise.
	* gcc.dg/cleanup-10.c: Likewise.
	* gcc.dg/cleanup-11.c: Likewise.
	* gcc.dg/cleanup-8.c: Likewise.
	* gcc.dg/cleanup-9.c: Likewise.
	* gcc.dg/complex-5.c: Likewise.
	* gcc.dg/debug/dwarf2/asm-line1.c: Likewise.
	* gcc.dg/debug/dwarf2/discriminator.c: Likewise.
	* gcc.dg/dfp/convert-dfp-round-thread.c: Likewise.
	* gcc.dg/dfp/pr35739.c: Likewise.
	* gcc.dg/fdata-sections-1.c: Likewise.
	* gcc.dg/lto/20090206-1_0.c: Likewise.
	* gcc.dg/lto/20090206-2_0.c: Likewise.
	* gcc.dg/pr30360.c: Likewise.
	* gcc.dg/pr37303.c: Likewise.
	* gcc.dg/pr39323-1.c: Likewise.
	* gcc.dg/pr39323-2.c: Likewise.
	* gcc.dg/pr39323-3.c: Likewise.
	* gcc.dg/pr45416.c: Likewise.
	* gcc.dg/setjmp-2.c: Likewise.
	* gcc.dg/split-1.c: Likewise.
	* gcc.dg/split-3.c: Likewise.
	* gcc.dg/split-4.c: Likewise.
	* gcc.dg/strlenopt-12g.c: Likewise.
	* gcc.dg/strlenopt-14g.c: Likewise.
	* gcc.dg/strlenopt-14gf.c: Likewise.
	* gcc.dg/strlenopt-16g.c: Likewise.
	* gcc.dg/strlenopt-17g.c: Likewise.
	* gcc.dg/strlenopt-18g.c: Likewise.
	* gcc.dg/strlenopt-1f.c: Likewise.
	* gcc.dg/strlenopt-22g.c: Likewise.
	* gcc.dg/strlenopt-2f.c: Likewise.
	* gcc.dg/strlenopt-4g.c: Likewise.
	* gcc.dg/strlenopt-4gf.c: Likewise.
	* gcc.dg/struct-ret-3.c: Likewise.
	* gcc.dg/torture/stackalign/setjmp-2.c: Likewise.
	* gcc.misc-tests/linkage.exp: Likewise.
	* gcc.target/i386/20000724-1.c: Likewise.
	* gcc.target/i386/align-main-3.c: Likewise.
	* gcc.target/i386/cleanup-1.c: Likewise.
	* gcc.target/i386/inline-mcpy.c: Likewise.
	* gcc.target/i386/pr32268.c: Likewise.
	* gcc.target/i386/pr36613.c: Likewise.
	* gcc.target/i386/pr39013-1.c: Likewise.
	* gcc.target/i386/pr39013-2.c: Likewise.
	* gcc.target/i386/pr39496.c: Likewise.
	* gcc.target/i386/pr40906-3.c: Likewise.
	* gcc.target/i386/pr46084.c: Likewise.
	* lib/target-supports.exp (check_effective_target_pie): Likewise.

libgomp/
	* testsuite/libgomp.c/icv-2.c: Extend current handling of
	Linux-based x86 systems to cover all GNU systems.
	* testsuite/libgomp.c/lock-3.c: Likewise.
	* testsuite/libgomp.c/pr48591.c: Likewise.

libstdc++-v3/
	* testsuite/17_intro/headers/c++1998/49745.cc: Extend current
	handling of Linux-based x86 systems to cover all GNU systems.
	* testsuite/18_support/bad_exception/23591_thread-1.c: Likewise.
	* testsuite/18_support/pthread_guard.cc: Likewise.
	* testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
	Likewise.
	* testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
	Likewise.
	* testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
	* testsuite/21_strings/basic_string/pthread4.cc: Likewise.
	* testsuite/22_locale/ctype/is/char/2.cc: Likewise.
	* testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
	* testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
	* testsuite/23_containers/list/pthread1.cc: Likewise.
	* testsuite/23_containers/list/pthread5.cc: Likewise.
	* testsuite/23_containers/map/pthread6.cc: Likewise.
	* testsuite/23_containers/vector/debug/multithreaded_swap.cc:
	Likewise.
	* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
	Likewise.
	* testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
	* testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
	* testsuite/30_threads/async/42819.cc: Likewise.
	* testsuite/30_threads/async/49668.cc: Likewise.
	* testsuite/30_threads/async/54297.cc: Likewise.
	* testsuite/30_threads/async/any.cc: Likewise.
	* testsuite/30_threads/async/async.cc: Likewise.
	* testsuite/30_threads/async/launch.cc: Likewise.
	* testsuite/30_threads/async/sync.cc: Likewise.
	* testsuite/30_threads/call_once/39909.cc: Likewise.
	* testsuite/30_threads/call_once/49668.cc: Likewise.
	* testsuite/30_threads/call_once/call_once1.cc: Likewise.
	* testsuite/30_threads/condition_variable/54185.cc: Likewise.
	* testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
	* testsuite/30_threads/condition_variable/members/1.cc: Likewise.
	* testsuite/30_threads/condition_variable/members/2.cc: Likewise.
	* testsuite/30_threads/condition_variable/members/53841.cc:
	Likewise.
	* testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
	Likewise.
	* testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
	* testsuite/30_threads/condition_variable_any/members/1.cc:
	Likewise.
	* testsuite/30_threads/condition_variable_any/members/2.cc:
	Likewise.
	* testsuite/30_threads/future/cons/move.cc: Likewise.
	* testsuite/30_threads/future/members/45133.cc: Likewise.
	* testsuite/30_threads/future/members/get.cc: Likewise.
	* testsuite/30_threads/future/members/get2.cc: Likewise.
	* testsuite/30_threads/future/members/share.cc: Likewise.
	* testsuite/30_threads/future/members/valid.cc: Likewise.
	* testsuite/30_threads/future/members/wait.cc: Likewise.
	* testsuite/30_threads/future/members/wait_for.cc: Likewise.
	* testsuite/30_threads/future/members/wait_until.cc: Likewise.
	* testsuite/30_threads/lock/1.cc: Likewise.
	* testsuite/30_threads/lock/2.cc: Likewise.
	* testsuite/30_threads/lock/3.cc: Likewise.
	* testsuite/30_threads/lock/4.cc: Likewise.
	* testsuite/30_threads/mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
	* testsuite/30_threads/mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
	* testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/packaged_task/49668.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
	* testsuite/30_threads/packaged_task/cons/move_assign.cc:
	Likewise.
	* testsuite/30_threads/packaged_task/members/get_future.cc:
	Likewise.
	* testsuite/30_threads/packaged_task/members/get_future2.cc:
	Likewise.
	* testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
	* testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
	* testsuite/30_threads/promise/cons/1.cc: Likewise.
	* testsuite/30_threads/promise/cons/alloc.cc: Likewise.
	* testsuite/30_threads/promise/cons/move.cc: Likewise.
	* testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
	* testsuite/30_threads/promise/members/get_future.cc: Likewise.
	* testsuite/30_threads/promise/members/get_future2.cc: Likewise.
	* testsuite/30_threads/promise/members/set_exception.cc: Likewise.
	* testsuite/30_threads/promise/members/set_exception2.cc:
	Likewise.
	* testsuite/30_threads/promise/members/set_value.cc: Likewise.
	* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
	* testsuite/30_threads/promise/members/set_value3.cc: Likewise.
	* testsuite/30_threads/promise/members/swap.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
	Likewise.
	* testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/native_handle/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
	Likewise.
	* testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
	* testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.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/native_handle/1.cc:
	Likewise.
	* testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.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/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/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/unlock/1.cc:
	Likewise.
	* testsuite/30_threads/shared_future/cons/move.cc: Likewise.
	* testsuite/30_threads/shared_future/members/45133.cc: Likewise.
	* testsuite/30_threads/shared_future/members/get.cc: Likewise.
	* testsuite/30_threads/shared_future/members/get2.cc: Likewise.
	* testsuite/30_threads/shared_future/members/valid.cc: Likewise.
	* testsuite/30_threads/shared_future/members/wait.cc: Likewise.
	* testsuite/30_threads/shared_future/members/wait_for.cc:
	Likewise.
	* testsuite/30_threads/shared_future/members/wait_until.cc:
	Likewise.
	* testsuite/30_threads/this_thread/1.cc: Likewise.
	* testsuite/30_threads/this_thread/2.cc: Likewise.
	* testsuite/30_threads/this_thread/3.cc: Likewise.
	* testsuite/30_threads/this_thread/4.cc: Likewise.
	* testsuite/30_threads/thread/cons/1.cc: Likewise.
	* testsuite/30_threads/thread/cons/2.cc: Likewise.
	* testsuite/30_threads/thread/cons/3.cc: Likewise.
	* testsuite/30_threads/thread/cons/4.cc: Likewise.
	* testsuite/30_threads/thread/cons/49668.cc: Likewise.
	* testsuite/30_threads/thread/cons/5.cc: Likewise.
	* testsuite/30_threads/thread/cons/6.cc: Likewise.
	* testsuite/30_threads/thread/cons/7.cc: Likewise.
	* testsuite/30_threads/thread/cons/8.cc: Likewise.
	* testsuite/30_threads/thread/cons/9.cc: Likewise.
	* testsuite/30_threads/thread/cons/moveable.cc: Likewise.
	* testsuite/30_threads/thread/members/1.cc: Likewise.
	* testsuite/30_threads/thread/members/2.cc: Likewise.
	* testsuite/30_threads/thread/members/3.cc: Likewise.
	* testsuite/30_threads/thread/members/4.cc: Likewise.
	* testsuite/30_threads/thread/members/5.cc: Likewise.
	* testsuite/30_threads/thread/members/hardware_concurrency.cc:
	Likewise.
	* testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
	* testsuite/30_threads/thread/native_handle/typesizes.cc:
	Likewise.
	* testsuite/30_threads/thread/swap/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
	Likewise.
	* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/native_handle/typesizes.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/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/timed_mutex/try_lock_until/1.cc: Likewise.
	* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
	* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
	* testsuite/30_threads/try_lock/1.cc: Likewise.
	* testsuite/30_threads/try_lock/2.cc: Likewise.
	* testsuite/30_threads/try_lock/3.cc: Likewise.
	* testsuite/30_threads/try_lock/4.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
	* testsuite/30_threads/unique_lock/cons/4.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/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
	* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
	* testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
	* testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
	* testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
	* testsuite/ext/profile/mh.cc: Likewise.
	* testsuite/ext/rope/pthread7-rope.cc: Likewise.
	* testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
	Likewise.
	* testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
	Likewise.
	* testsuite/util/testsuite_performance.h: Extend current handling
	of Linux-based systems to cover all glibc-based systems.

From-SVN: r199880
2013-06-10 09:21:29 +02:00
Jonathan Wakely
bd24ec2de0 mutex (call_once): Remove parentheses to fix error in c++1y and gnu++1y mode.
* include/std/mutex (call_once): Remove parentheses to fix error in
	c++1y and gnu++1y mode.
	* testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new
	thread to avoid undefined behaviour.

From-SVN: r199875
2013-06-10 00:54:07 +01:00
Ed Smith-Rowland
88c4d6b798 Simplify and clean up library literals.
2013-06-07  Ed Smith-Rowland  <3dw4rd@verizon.net>

	Simplify and clean up library literals.
	* include/std/chrono: Simplify namespace and versioning management.
	* include/bits/basic_string.h: Ditto.
	* testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
	* testsuite/20_util/duration/literals/values.cc: Ditto.
	* testsuite/21_strings/basic_string/literals/types.cc: Ditto.
	* testsuite/21_strings/basic_string/literals/values.cc: Ditto.

From-SVN: r199861
2013-06-08 22:43:18 +00:00
Ed Smith-Rowland
83ac9249c8 Implement N3654 - Quoted Strings Library Proposal
2013-06-08  Ed Smith-Rowland  <3dw4rd@verizon.net>

	Implement N3654 - Quoted Strings Library Proposal
	* include/std/iomanip: Add quoted(String, Char delim, Char escape)
	manipulators and supporting machinery in c++1y mode.
	* testsuite/27_io/manipulators/standard/char/quoted.cc: New.
	* testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New.

From-SVN: r199860
2013-06-08 22:37:50 +00:00
Jonathan Wakely
7b91690215 alloc_traits.h (allocator_traits::max_size()): LWG 2162: Add noexcept.
* include/bits/alloc_traits.h (allocator_traits::max_size()): LWG
	2162: Add noexcept.

From-SVN: r199858
2013-06-08 18:31:40 +01:00
Jonathan Wakely
f7fbb0036a stl_algo.h (is_permutation): Add overloads from N3671.
* include/bits/stl_algo.h (is_permutation): Add overloads from N3671.
	* include/bits/stl_algobase.h (equal, mismatch): Likewise.
	* testsuite/25_algorithms/equal/1.cc: Remove duplicate test case.
	* testsuite/25_algorithms/equal/2.cc: New.
	* testsuite/25_algorithms/equal/check_type2.cc: New.
	* testsuite/25_algorithms/is_permutationqual/2.cc: New.
	* testsuite/25_algorithms/is_permutationqual/check_type2.cc: New.
	* testsuite/25_algorithms/mismatch/2.cc: New.
	* testsuite/25_algorithms/mismatch/check_type2.cc: New.
	* testsuite/util/testsuite_iterators.h: Fix spelling.

From-SVN: r199854
2013-06-08 17:12:13 +01:00
Jonathan Wakely
db113eda6d type-traits (integral_constant::operator()): Implement N3545.
* include/std/type-traits (integral_constant::operator()): Implement
	N3545.
	* testsuite/20_util/integral_constant/call_operator.cc: New.
	* 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.

From-SVN: r199853
2013-06-08 17:12:07 +01:00
Uros Bizjak
cb8ac9d0b6 baseline_symbols.txt: Update.
* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.

From-SVN: r199796
2013-06-07 11:50:55 +02:00
Tom Tromey
0d471c50a3 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0.
From-SVN: r199708
2013-06-05 18:58:12 +00:00
Paolo Carlini
2e6491515e re PR c++/57419 (Access control doesn't stop referring to a deleted function)
/gcc/cp
2013-06-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/57419
	* decl2.c (mark_used): Add overload taking a tsubst_flags_t too.
	* semantics.c (finish_qualified_id_expr): Use it.
	* cp-tree.h: Update.

/gcc/testsuite
2013-06-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/57419
	* g++.dg/cpp0x/sfinae46.C: New.
	* g++.dg/cpp0x/defaulted13.C: Adjust.
	* g++.dg/cpp0x/defaulted2.C: Likewise.
	* g++.dg/cpp0x/defaulted26.C: Likewise.
	* g++.dg/cpp0x/defaulted3.C: Likewise.
	* g++.dg/cpp0x/error1.C: Likewise.
	* g++.dg/cpp0x/implicit1.C: Likewise.
	* g++.dg/cpp0x/implicit11.C: Likewise.
	* g++.dg/cpp0x/inh-ctor13.C: Likewise.
	* g++.dg/cpp0x/initlist47.C: Likewise.
	* g++.dg/cpp0x/initlist9.C: Likewise.
	* g++.dg/cpp0x/lambda/lambda-errloc.C: Likewise.
	* g++.dg/cpp0x/lambda/lambda-errloc2.C: Likewise.
	* g++.dg/cpp0x/nsdmi-local.C: Likewise.
	* g++.dg/cpp0x/union4.C: Likewise.
	* g++.dg/template/crash108.C: Likewise.
	* g++.dg/template/crash41.C: Likewise.
	* g++.old-deja/g++.jason/local.C: Likewise.
	* g++.old-deja/g++.law/visibility3.C: Likewise.

/libstdc++-v3
2013-06-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/57419
	* testsuite/20_util/default_delete/48631_neg.cc: Adjust.

From-SVN: r199626
2013-06-03 20:39:50 +00:00
Ed Smith-Rowland
fa40983341 include/std/chrono: Collapse redundant 'inline' from 'inline constexpr'.
2013-06-01  Ed Smith-Rowland  <3dw4rd@verizon.net>

	include/std/chrono: Collapse redundant 'inline' from 'inline constexpr'.
	include/std/tuple: Ditto.
	include/bits/move.h: Ditto.

From-SVN: r199587
2013-06-01 21:39:50 +00:00
Ed Smith-Rowland
1c9f675fd9 Implement N3642 - User-defined Literals for Standard Library Types
2013-05-30  Ed Smith-Rowland  <3dw4rd@verizon.net>

	Implement N3642 - User-defined Literals for Standard Library Types
	* include/bits/parse_numbers.h: New.
	* include/std/chrono: Add duration literal operators.
	* include/bits/basic_string.h: Add string literal operators.
	* include/Makefile.in: Add parse_numbers.h.
	* include/Makefile.am: Ditto.
	* testsuite/20_util/duration/literals/values.cc: New.
	* testsuite/20_util/duration/literals/types.cc: New.
	* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
	* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
	* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
	* testsuite/21_strings/basic_string/literals/values.cc: New.
	* testsuite/21_strings/basic_string/literals/types.cc: New.

From-SVN: r199584
2013-06-01 18:37:47 +00:00
Jonathan Wakely
8b70770dc8 compatibility-chrono.cc (steady_clock::now()): If !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of calling...
* src/c++11/compatibility-chrono.cc (steady_clock::now()): If
	!_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of
	calling non-existent from_time_t.

From-SVN: r199391
2013-05-28 22:14:21 +01:00
Rainer Orth
388c13d667 Regenerate Solaris/SPARCV9 baseline
* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
	Regenerate.

From-SVN: r199368
2013-05-28 09:49:22 +00:00
Benjamin Kosnik
1f08a74902 chrono: Wrap clocks in inline namespace _V2.
2013-05-24  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/chrono: Wrap clocks in inline namespace _V2.
	* src/c++11/chrono.cc: Same.
	* src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc
	file, with default configure macros selected.

	* config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
	namespace.
	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.

	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
	Regenerated.
	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
	Regenerated.
	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
	Regenerated.
	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
	* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
	* config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
	* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
	* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
	Regenerated.
	* config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
	* config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.

From-SVN: r199331
2013-05-25 23:02:54 +00:00
Rainer Orth
57d6e1b377 Use CLOCK_HIGHRES on Solaris 9
* config/os/solaris/solaris2.9/os_defines.h [!CLOCK_MONOTONIC]
	(CLOCK_MONOTONIC): Define.

From-SVN: r199317
2013-05-24 21:09:01 +00:00
Paolo Carlini
9797bec939 type_traits.h (__is_null_pointer): Add std::nullptr_t overload.
2013-05-24  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t
	overload.

	* include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused.

From-SVN: r199313
2013-05-24 18:27:59 +00:00
Jakub Jelinek
2e8a9734c0 chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, include unistd.h and sys/syscall.h.
* src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL,
	include unistd.h and sys/syscall.h.  If _GLIBCXX_COMPATIBILITY_CXX0X,
	don't define system_clock::is_steady, system_clock::now() and
	steady_clock::is_steady.
	(std::chrono::system_clock::now()): If
	_GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call
	syscall (SYS_clock_gettime, ...) instead of clock_gettime (...).
	(std::chrono::system_clock::now()): Likewise.  Add weak attribute
	if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will
	be non-empty.
	* src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc.
	(compatibility-chrono.lo, compatibility-chrono.o): New goals.
	* src/c++11/compatibility-chrono.cc: New file.
	* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for
	syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp).
	* testsuite/util/testsuite_abi.cc (check_version): Add
	GLIBCXX_3.4.20 version and make it the latest.
	* config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export
	also @@GLIBCXX_3.4.19.  Move all symbols so far added for GCC 4.9 to
	@@GLIBCXX_3.4.20 instead.
	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
	Regenerated.
	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
	Regenerated.
	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
	Regenerated.
	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
	* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
	* config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
	* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
	* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
	Regenerated.
	* config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
	* config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
	* config.h.in: Regenerated.
	* src/Makefile.in: Regenerated.
	* configure: Regenerated.

From-SVN: r199307
2013-05-24 20:08:42 +02:00
Matthias Klose
6ca935e617 Makefile.am (bits_headers): Remove ${bits_host_headers}.
2013-05-23  Matthias Klose  <doko@ubuntu.com>

        * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
        (ext_headers): Remove ${ext_host_headers}.
        (stamp-${host_alias}): Create ${host_builddir}/../ext.
        (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
        (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
        * include/Makefile.in: Regenerate.
        * include/ext/random: Include ext/opt_random.h.

From-SVN: r199257
2013-05-23 14:02:14 +00:00
Jonathan Wakely
88b1a02566 acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to enable features if target OS is known to support them.
* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to
	enable features if target OS is known to support them.
	* configure.ac (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Default to 'auto'.
	* configure: Regenerate.

From-SVN: r199183
2013-05-22 09:12:45 +01:00
Jonathan Wakely
bf5f6aa9be re PR libstdc++/57336 (Cannot INVOKE a reference_wrapper around an abstract type)
PR libstdc++/57336
	* include/std/functional (__invoke): Do not form function types with
	abstract return type.
	* testsuite/20_util/reference_wrapper/invoke-3.cc: New.

From-SVN: r199136
2013-05-21 09:15:13 +01:00
Jonathan Wakely
b5a8fed6f1 tuple (get): Implement N3670.
* include/std/tuple (get): Implement N3670.
	* include/std/utility (get): Likewise.
	* testsuite/20_util/pair/get.cc: Move to ...
	* testsuite/20_util/pair/astuple/get.cc: Here.
	* testsuite/20_util/pair/astuple/astuple.cc: New.
	* testsuite/20_util/pair/astuple/constexpr_get.cc: New.
	* testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New.
	* testsuite/20_util/pair/astuple/get_by_type.cc: New.
	* testsuite/20_util/pair/astuple/get_by_type_neg.cc: New.
	* testsuite/20_util/pair/astuple/get_neg.cc: New.
	* testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New.
	* testsuite/20_util/tuple/element_access/get2_by_type.cc: New.
	* testsuite/20_util/tuple/element_access/get_by_type.cc: New.

From-SVN: r199082
2013-05-19 14:31:36 +01:00
Paolo Carlini
eeb71f0cf5 2013-05-19 Paolo Carlini <paolo.carlini@oracle.com>
* Revert last commit.

From-SVN: r199081
2013-05-19 10:39:47 +00:00
Matthias Klose
ae3258be69 Makefile.am (bits_headers): Remove ${bits_host_headers}.
2013-05-19  Matthias Klose  <doko@ubuntu.com>

        * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
        (ext_headers): Remove ${ext_host_headers}.
        (stamp-${host_alias}): Create ${host_builddir}/../ext.
        (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
        (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
        * include/Makefile.in: Regenerate.

From-SVN: r199072
2013-05-18 23:39:38 +00:00
Jonathan Wakely
f891e5d196 system_error (error_category::error_category()): LWG 2145: Declare public and constexpr.
* include/std/system_error (error_category::error_category()): LWG
	2145: Declare public and constexpr.
	* src/c++11/system_error.cc (error_category::error_category()): Move
	definition to ...
	* src/c++11/compatibility-c++0x.cc: Here.

From-SVN: r199071
2013-05-19 00:11:48 +01:00
Jonathan Wakely
f92126ba39 * include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.
From-SVN: r199070
2013-05-19 00:11:42 +01:00
Jonathan Wakely
05a4261b10 unique_ptr.h (make_unique): Declare inline.
* include/bits/unique_ptr.h (make_unique): Declare inline.
	(unique_ptr<T[],D>::reset()): Combine two overloads into one.
	(default_delete, unique_ptr): Add doxygen comments.
	* include/bits/shared_ptr_base.h: Improve doxygen comments.
	* include/bits/shared_ptr.h: Likewise.
	* testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
	number.
	* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.

From-SVN: r199069
2013-05-18 21:18:55 +01:00
Jonathan Wakely
82ec8686e7 * doc/xml/manual/status_cxx2011.xml: Fix markup error.
From-SVN: r199066
2013-05-18 19:10:01 +01:00
Jonathan Wakely
c98b05982b utility (exchange): Define.
* include/std/utility (exchange): Define.
	* testsuite/20_util/exchange/1.cc: New.

From-SVN: r199061
2013-05-18 17:18:35 +01:00
Jonathan Wakely
a9769eb0d9 unique_ptr.h (make_unique): Define.
* include/bits/unique_ptr.h (make_unique): Define.
	* testsuite/20_util/unique_ptr/creation/single.cc: New.
	* testsuite/20_util/unique_ptr/creation/array.cc: New.
	* testsuite/20_util/unique_ptr/creation/array_neg.cc: New.

From-SVN: r199057
2013-05-18 16:07:02 +01:00
François Dumont
4722d00530 printers.py (Tr1HashtableIterator): Fix rendering of std::tr1 unordered containers iterator.
2013-05-15  François Dumont  <fdumont@gcc.gnu.org>

	* python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
	rendering of std::tr1 unordered containers iterator.
	(StdHashtableIterator): New, render std unordered containers iterator.
	* testsuite/libstdc++-prettyprinters/tr1.cc: New.

From-SVN: r198947
2013-05-15 19:39:18 +00:00
Jonathan Wakely
3b2453a973 * include/bits/basic_string.h (getline): Fix doxygen comments.
From-SVN: r198920
2013-05-15 09:22:25 +01:00
Paolo Carlini
a5244b2ed5 stl_iterator.h (__normal_iterator<>::_M_const_cast): Use std::pointer_traits.
2013-05-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
	Use std::pointer_traits.

From-SVN: r198891
2013-05-14 15:17:18 +00:00
Benjamin Kosnik
61a359f6aa Makefile.am (sources): Add bad_array_length.cc, bad_array_new.cc.
2013-05-13  Benjamin Kosnik  <bkoz@redhat.com>

	* libsupc++/Makefile.am (sources): Add bad_array_length.cc,
	bad_array_new.cc.
	* libsupc++/Makefile.in: Regenerate.
	* libsupc++/bad_array_length.cc: Tweak.
	* libsupc++/bad_array_new.cc: Tweak.

From-SVN: r198853
2013-05-13 22:06:28 +00:00
Gerald Pfeifer
da26909c04 Remove duplicate (and incorrect) entry for r197284.
From-SVN: r198805
2013-05-12 18:36:47 +00:00
Paolo Carlini
94938aec1a re PR libstdc++/54577 (deque<T>::erase() still takes iterator instead of const_iterator)
2013-05-10  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/54577
	* include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
	(_Deque_iterator<>::_M_const_cast): Add.
	(deque<>::_M_erase): Declare.
	* include/bits/deque.tcc: ... and define.
	* include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
	(_List_const_iterator<>::_M_const_cast): Add.
	* include/bits/list.tcc (erase (iterator)): Fix.
	* include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
	Add; include <ext/cast.h>.
	* include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
	(vector<>::_M_erase): Declare.
	* include/bits/stl_bvector.h: Likewise.
	* include/bits/vector.tcc (vector<>::_M_erase): Define.
	* include/ext/vstring.h (erase): Fix signatures in C++11 mode.
	* include/debug/deque: Adjust.
	* include/debug/list: Likewise.
	* include/debug/vector: Likewise.
	* include/profile/deque: Likewise.
	* include/profile/list: Likewise.
	* include/profile/vector: Likewise.
	* testsuite/util/exception/safety.h (erase_base<deque>,
	erase_base<deque>, erase_base<vector>): Remove.
	(erase_base<__versa_string>): Update.
	* testsuite/ext/vstring/modifiers/char/54577.cc: New.
	* testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
	* testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
	* testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
	* testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
	Likewise.
	* testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
	Adjust dg-error line numbers.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Likewise.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Likewise.
	* testsuite/23_containers/deque/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.

From-SVN: r198790
2013-05-10 15:18:33 +00:00
Uros Bizjak
fb7f649d71 testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
* testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.

From-SVN: r198768
2013-05-10 09:54:22 +02:00
Jason Merrill
0138d6b24f N3639 C++1y VLA support
gcc/
	* gimplify.c (gimplify_vla_decl): Don't touch an existing
	DECL_VALUE_EXPR.
gcc/cp/
	* decl.c (compute_array_index_type): Allow VLAs in C++1y mode.
	(check_array_initializer): Allow VLA init.
	(reshape_init_array_1): Adjust.
	(cp_finish_decl): Check for invalid VLA length.
	* typeck2.c (process_init_constructor_array): Adjust.
	(store_init_value): Use build_vec_init for VLAs.
	* semantics.c (add_capture): Capture VLA as ptr+len.
	(vla_capture_type): New.
	(build_capture_proxy): Rebuild the VLA.
	* typeck.c (build_simple_component_ref): Split out from...
	(build_ptrmemfunc_access_expr): ...here.
	* tree.c (array_of_runtime_bound_p): New.
	* init.c (throw_bad_array_length): New.
	(build_vec_init): Use it.
	* parser.c (cp_convert_range_for): When iterating over a VLA,
	use it directly rather than bind a reference.
	* cp-tree.h: Declare new functions.
libstdc++-v3/
	* libsupc++/new: Add std::bad_array_length.
	* libsupc++/bad_array_length.cc: New.
	* libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
	* libsupc++/Makefile.in: Build them.
	* config/abi/pre/gnu.ver: Add new symbols.
	* config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.

From-SVN: r198745
2013-05-09 12:43:36 -04:00
Andi Kleen
a062bb4ba6 Mark all member functions with memory models always inline v2
When a non constant memory model is passed to __atomic_*
gcc falls back to seq_cst. This drops any HLE acquire or release bits.

This can happen when <atomic> is used with -O0
as the member functions are not always inlined then and the memory
argument passed in ends up being non-constant.

v2: Use _GLIBCXX_ALWAYS_INLINE

libstdc++-v3/:

2013-05-08  Andi Kleen  <ak@linux.intel.com>

	PR target/55947
	* libstdc++-v3/include/bits/atomic_base.h
	(_GLIBCXX_ALWAYS_INLINE): Add new macro.
	(atomic_thread_fence, atomic_signal_fence, test_and_set,
	clear, store, load, exchange, compare_exchange_weak)
	compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
	fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.

From-SVN: r198733
2013-05-09 04:22:11 +00:00
Jason Merrill
7d5e76c8de Core 624/N2932: Throw bad_array_new_length on overflow
in array new size calculation.

libstdc++-v3/
	* libsupc++/new: Add std::bad_array_new_length.
	* libsupc++/bad_array_new.cc: New.
	* libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
	* libsupc++/Makefile.in: Build them.
	* config/abi/pre/gnu.ver: Add new symbols.
	* config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
gcc/cp/
	* init.c (throw_bad_array_new_length): New.
	(build_new_1): Use it.  Don't warn about braced-init-list.
	(build_vec_init): Use it.
	* call.c (build_operator_new_call): Use it.

From-SVN: r198731
2013-05-08 23:58:00 -04:00
Andoni Morales Alastruey
ea31132e78 re PR libstdc++/57212 (Don't use pe-coff weak support with mingw)
2013-05-08  Andoni Morales Alastruey <ylatuya@gmail.com>

	PR libstdc++/57212
	* include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
	to __MINGW32__.
	* include/Makefile.in: Regenerated.

From-SVN: r198720
2013-05-08 21:08:32 +02:00
François Dumont
703f140fb8 unordered_base.h: New.
2013-05-07  François Dumont  <fdumont@gcc.gnu.org>

	* include/profile/unordered_base.h: New.
	* include/Makefile.am: Add new profile header.
	* include/Makefile.in: Regenerate.
	* include/profile/impl/profiler.h
	(__profcxx_inefficient_hash_is_on): New macro.
	* include/profile/unordered_map (std::profile::unordered_map<>):
	Use new _Unordered_profile base class. Use default implementations
	for special functions.
	(std::profile::unordered_multimap<>): Likewise.
	* include/profile/unordered_set (std::profile::unordered_set<>):
	Likewise.
	(std::profile::unordered_multiset<>): Likewise.
	* testsuite/23_containers/unordered_multiset/55043.cc: Fix
	MoveOnly equality operator signature.

From-SVN: r198698
2013-05-07 20:26:15 +00:00
Paolo Carlini
b273e79b19 constexpr_data.cc: Move...
2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/tr1/4_metaprogramming/integral_constant/requirements/
	constexpr_data.cc: Move...
	* testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
	... here.
	* testsuite/20_util/integral_constant/requirements/
	explicit_instantiation.cc: New.
	* testsuite/20_util/integral_constant/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/integral_constant/static_definition.cc: Likewise.
	* testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
	Likewise.
	* testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
	* testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.

From-SVN: r198521
2013-05-02 12:03:30 +00:00
Paolo Carlini
aa940ab5d5 type_traits (is_null_pointer): Add.
2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/std/type_traits (is_null_pointer): Add.
	(__is_nullptr_t): Implement in terms of the latter.
	(is_fundamental, is_scalar): Adjust.
	* testsuite/20_util/is_null_pointer/requirements/
	explicit_instantiation.cc: New.
	* testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_null_pointer/value.cc: Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
	line number.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.

From-SVN: r198516
2013-05-02 11:00:26 +00:00
Paolo Carlini
ff84dbcb4e cstdio: Add comment about LWG 2249.
2013-05-02  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_global/cstdio: Add comment about LWG 2249.
	* include/c_std/cstdio: Likewise.

From-SVN: r198512
2013-05-02 09:48:07 +00:00
Jonathan Wakely
d872e4aa70 hashtable_policy.h (_Hashtable_ebo_helper): Fix comment.
* include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
	comment.
	* include/std/mutex (__recursive_mutex_base): Likewise.

From-SVN: r198368
2013-04-28 12:51:59 +01:00
Jonathan Wakely
fe807059aa re PR libstdc++/51365 (cannot use final empty class in std::tuple)
PR libstdc++/51365
	* include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
	implement EBO safely.
	(_Sp_counted_base::_M_get_deleter): Add noexcept.
	(_Sp_counter_ptr): Use noexcept instead of comments.
	(_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
	(_Sp_counted_ptr_inplace): Likewise.
	* testsuite/20_util/shared_ptr/cons/51365.cc: New.
	* testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
	custom allocator and test construction with custom allocator.
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
	line number.

From-SVN: r198367
2013-04-28 12:38:21 +01:00
Paolo Carlini
0433be867c move_range.cc: Adjust dialect to -std=gnu++11.
2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
	dialect to -std=gnu++11.

From-SVN: r198347
2013-04-26 21:20:00 +00:00
François Dumont
d2f2f2e38c 2013-04-26 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h
	(_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
	* testsuite/23_containers/unordered_set/insert/move_range.cc: New.

From-SVN: r198346
2013-04-26 20:13:41 +00:00
Paolo Carlini
acd1cc4b29 cstdio (gets): Provide only in C++98 and C++11.
2013-04-26  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_global/cstdio (gets): Provide only in C++98 and C++11.
	* include/c_std/cstdio (gets): Likewise.
	* testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.

From-SVN: r198335
2013-04-26 11:32:49 +00:00
Paolo Carlini
03d7aff6ee re PR libstdc++/57065 (incorrect default allocator template for debug and profile unordered_map)
2013-04-25  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/57065
	* include/debug/unordered_map (unordered_map, unordered_multimap):
	Fix default allocator type.
	* include/profile/unordered_map (unordered_map, unordered_multimap):
	Likewise.
	* include/bits/unordered_map.h: Fix comments.

From-SVN: r198279
2013-04-25 09:42:46 +00:00
Jonathan Wakely
2310e8c1cf Fix date of ChangeLog entry.
From-SVN: r198267
2013-04-24 23:44:01 +01:00
Jonathan Wakely
ec98d01014 re PR libstdc++/56905 ([C++11][DR 1130] std::copy_exception should be removed or no longer be used)
PR libstdc++/56905
	* libsupc++/exception_ptr.h (copy_exception): Deprecate and
	move implementation to make_exception_ptr.
	* include/std/future (_State_base::_M_break_promise): Replace
	copy_exception with make_exception_ptr.
	* testsuite/18_support/exception_ptr/move.cc: Likewise.
	* testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
	* testsuite/30_threads/future/members/get2.cc: Likewise.
	* testsuite/30_threads/promise/members/set_exception.cc: Likewise.
	* testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
	* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
	* testsuite/30_threads/shared_future/members/get2.cc: Likewise.

From-SVN: r198265
2013-04-24 23:00:16 +01:00
Jason Merrill
7441bd3d22 * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.
From-SVN: r198170
2013-04-22 21:31:27 -04:00
Jason Merrill
3579964bee pt.c (fn_type_unification): Push tinst level around type_unification_real if we aren't explaining.
gcc/cp/
	* pt.c (fn_type_unification): Push tinst level around
	type_unification_real if we aren't explaining.
	* cp-tree.h (TFF_NO_TEMPLATE_BINDINGS): New.
	* error.c (dump_function_decl): Respect it.
	(subst_to_string): Pass it.
libstdc++-v3/
	* testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
	substitution" lines.

From-SVN: r198161
2013-04-22 16:40:54 -04:00
Jason Merrill
80f7a782fd re PR c++/48665 (type of const member function)
PR c++/48665
	* rtti.c (get_typeid): Diagnose qualified function type.
	* pt.c (tsubst) [POINTER_TYPE]: Likewise.

From-SVN: r198160
2013-04-22 16:35:58 -04:00
François Dumont
0462b6aa20 hashtable_policy.h: Add C++11 allocator support.
2013-04-22  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h: Add C++11 allocator support.
	* include/bits/hashtable.h: Likewise.
	* include/bits/unordered_set.h: Likewise.
	* include/bits/unordered_map.h: Likewise.
	* include/debug/unordered_set: Likewise.
	* include/debug/unordered_map: Likewise.
	* include/std/unordered_set: Remove bits/algobase.h
	include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
	* include/std/unordered_map: Likewise.
	* include/ext/throw_allocator.h: Add checks on calls to allocator
	construct/destroy.
	(std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
	(std::hash<__gnu_cxx::throw_value_random>): Likewise.
	* testsuite/util/regression/rand/priority_queue
	/container_rand_regression_test.tcc: Adapt.
	* testsuite/util/regression/rand/assoc
	/container_rand_regression_test.tcc: Likewise.
	* testsuite/util/testsuite_counter_type.h: Add count of destructors.
	* testsuite/23_containers/unordered_set
	/not_default_constructible_hash_neg.cc: Adjust dg-error line number.
	* testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
	* testsuite/23_containers/unordered_set/allocator/copy.cc: New.
	* testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
	* testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
	* testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
	* testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
	* testsuite/23_containers/unordered_set/allocator/swap.cc: New.
	* testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
	* testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
	New.
	* testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
	* testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
	New.
	* testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
	* testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
	* testsuite/23_containers/unordered_map/allocator/copy.cc: New.
	* testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
	* testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
	* testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
	* testsuite/23_containers/unordered_map/allocator/noexcept.cc:
	New.
	* testsuite/23_containers/unordered_map/allocator/swap.cc: New.
	* testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
	* testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
	New.
	* testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
	* testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
	New.
	* testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
	* testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.

From-SVN: r198158
2013-04-22 20:22:07 +00:00
Paolo Carlini
6a4b1a00fa type_traits (is_signed): Simplify.
2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>

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

From-SVN: r198144
2013-04-22 15:27:54 +00:00
Paolo Carlini
9191d7a84a complex (complex<float>::real, [...]): Declare as const member functions.
2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>

	N3669
	* include/std/complex (complex<float>::real, complex<float>::imag,
	complex<double>::real, complex<double>::imag,
	complex<long double>::real, complex<long double>::imag): Declare
	as const member functions.
	* include/std/type_traits (integral_constant<>::operator value_type):
	Likewise.

From-SVN: r198141
2013-04-22 14:37:34 +00:00
Paolo Carlini
177d2b74b5 re PR libstdc++/57010 ([c++0x] priority_queue<>::pop() calls self-move-assignment operator)
2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/57010
	* include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
	* testsuite/25_algorithms/pop_heap/57010.cc: New.

From-SVN: r198125
2013-04-22 10:07:31 +00:00
Evgeniy Stepanov
1cbe724ceb system_error.cc (generic_category_instance): Add initializer.
2013-04-21  Evgeniy Stepanov  <eugenis@google.com>

	* src/c++11/system_error.cc (generic_category_instance): Add
	initializer.
	(system_category_instance): Likewise.
	* src/c++11/future.cc (__fec): Likewise.

From-SVN: r198115
2013-04-21 09:40:24 +01:00
Jonathan Wakely
fcb2185b89 * doc/xml/manual/extensions.xml: Fix anachronism.
From-SVN: r198110
2013-04-20 20:40:28 +01:00
Tom Tromey
d74e340d7c configure, [...]: Rebuild.
* configure, config.h.in: Rebuild.
	* configure.ac: Use GLIBCXX_CHECK_SDT_H.  Don't check for
	sys/sdt.h.
	* acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.

From-SVN: r197649
2013-04-09 20:55:17 +00:00
Uros Bizjak
ae3d036149 baseline_symbols.txt: Update.
* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.

From-SVN: r197647
2013-04-09 22:38:21 +02:00
Paolo Carlini
d6222d4ef0 cxx11.cc: Include <memory>.
2013-04-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.

From-SVN: r197594
2013-04-08 16:47:02 +00:00
Jonathan Wakely
f2e2de5f85 Makefile.am: Add ext/aligned_buffer.h
* include/Makefile.am: Add ext/aligned_buffer.h
	* include/Makefile.in: Regenerate.
	* include/ext/aligned_buffer.h: New.
	* include/std/future (_Result): Use __aligned_buffer.
	* include/bits/forward_list.h (_Fwd_list_node): Likewise.
	* include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise.
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line
	number.

From-SVN: r197554
2013-04-07 17:44:40 +01:00
Jonathan Wakely
7db567cd08 forward_list.h: Only include required headers.
* include/bits/forward_list.h: Only include required headers.
	(forward_list::reference): Define directly, not using __alloc_traits.
	(forward_list::const_reference): Likewise.

From-SVN: r197552
2013-04-07 16:42:27 +01:00
François Dumont
82b12c4b24 functional (_Derives_from_unary_function): Remove.
2013-04-04  François Dumont  <fdumont@gcc.gnu.org>

	* include/std/functional (_Derives_from_unary_function): Remove.
	(_Derives_from_binary_function): Remove.
	* include/std/type_traits (__sfinae_types): Remove.
	(__is_assignable_helper): Adapt.
	(__is_convertible_helper): Adapt.
	(_GLIBCXX_HAS_NESTED_TYPE): Adapt.
	Remove several explicit instantiations of integral_constant.
	* testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
	* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
	Adapt dg-error line number.
	* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
	Likewise.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
	* testsuite/20_util/bind/ref_neg.cc: Likewise.

From-SVN: r197551
2013-04-07 10:42:51 +00:00
Jonathan Wakely
7e20f4b022 re PR libstdc++/56841 (ld: Unsatisfied symbol "__atomic_exchange_8" in file /test/gnu/gcc/objdir/prev-hppa64-hp-hpux11.11/libstdc++-v3/src/.libs/libstdc++.a[eh_terminate.o])
PR libstdc++/56841
	* libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and
	get_terminate() accessors.
	* libsupc++/eh_throw.cc (__cxa_throw): Likewise.
	* libsupc++/eh_terminate.cc: Use mutex when atomic builtins not
	available.
	* libsupc++/new_handler.cc: Likewise.

From-SVN: r197512
2013-04-05 11:03:04 +01:00
Jonathan Wakely
2d50082803 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
From-SVN: r197472
2013-04-04 09:56:09 +01:00
Paolo Carlini
169a7e85f0 re PR libstdc++/56834 (Errors in <array> with --enable-symvers=gnu-versioned-namespace and -D_GLIBCXX_DEBUG)
2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/56834
	* include/debug/array (tuple_size, tuple_element): Do not declare.
	* include/profile/array: Likewise.
	* testsuite/23_containers/array/tuple_interface/
	tuple_element_debug_neg.cc: Adjust dg-error line number.

From-SVN: r197415
2013-04-03 15:07:12 +00:00
Jonathan Wakely
dca77a8a1b exception (get_terminate(), [...]): Declare.
* libsupc++/exception (get_terminate(), get_unexpected()): Declare.
	* libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
	Define.
	(set_terminate(terminate_handler)): Set atomically.
	(set_unexpected(terminate_handler)): Likewise.
	* libsupc++/new (get_new_handler()): Declare.
	* libsupc++/new_handler.cc (get_new_handler()): Define.
	(set_new_handler(new_handler)): Set atomically.
	(__new_handler): Use internal linkage.
	* libsupc++/new_op.cc (operator new): Use get_new_handler().
	* libsupc++/new_opnt.cc (operator new): Likewise.
	* acinclude.m4: Bump libtool_VERSION to 6:19:0.
	* configure: Regenerate.
	* libsupc++/Makefile.am: Compile above files with -std=gnu++11.
	* libsupc++/Makefile.in: Regenerate.
	* config/abi/pre/gnu.ver: Add new exports.
	* doc/xml/manual/status_cxx2011.xml: Update.
	* testsuite/18_support/headers/exception/synopsis.cc: Check accessors
	for handlers.
	* testsuite/18_support/headers/new/synopsis.cc: Likewise.
	* testsuite/18_support/new_handler.cc: New.
	* testsuite/18_support/terminate_handler.cc: New.
	* testsuite/18_support/unexpected_handler.cc: New.

From-SVN: r197380
2013-04-03 01:08:54 +01:00
Jonathan Wakely
fa93ca85d8 appendix_contributing.xml: Remove broken link and defer to general documentation on contributing to GCC.
* doc/xml/manual/appendix_contributing.xml: Remove broken link and
	defer to general documentation on contributing to GCC.
	* doc/html/*: Regenerate.

From-SVN: r197334
2013-04-02 01:09:44 +01:00
Gerald Pfeifer
8bebe0af78 allocator.xml: Adjust link to Dr.Dobb's article.q
* doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.q

	* doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
	Coding Standards.

	* doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.

	* doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.

	* doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.

	* doc/xml/manual/messages.xml: Adjust link to Java API specs.

	* doc/xml/manual/policy_data_structures: Remove direct link to
	IBM Haifa Research Labs.

	* doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
	for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
	Remove direct link to IBM Haifa Research Labs.

	* doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
	papers.

	* doc/xml/manual/shared_ptr.xml: Use canonical address for
	www.boost.org.

From-SVN: r197284
2013-03-31 12:35:20 +00:00
Kai Tietz
7e866c8b6f crossconfig.m4: Add support for cygwin x64 target.
* crossconfig.m4: Add support for cygwin x64 target.
	* configure: Regenerated.

From-SVN: r197174
2013-03-27 22:56:57 +01:00
Kai Tietz
c0f6f2b4f2 50594.cc: For mingw-targets use only static libstdc++-version.
* testsuite/18_support/50594.cc: For mingw-targets use only static
	libstdc++-version.
	* testsuite/19_diagnostics/error_category/operators/equal.cc
	* testsuite/19_diagnostics/error_code/cons/1.cc
	* testsuite/19_diagnostics/error_code/operators/bool.cc
	* testsuite/19_diagnostics/error_code/operators/equal.cc
	* testsuite/19_diagnostics/error_code/operators/not_equal.cc
	* testsuite/19_diagnostics/error_condition/cons/1.cc
	* testsuite/19_diagnostics/error_condition/operators/bool.cc
	* testsuite/19_diagnostics/error_condition/operators/equal.cc
	* testsuite/19_diagnostics/error_condition/operators/not_equal.cc
	* testsuite/23_containers/set/requirements/exception/basic.cc
	* testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
	* testsuite/lib/dg-options.exp (dg-additional-options): New option.

From-SVN: r197032
2013-03-25 11:47:39 +01:00
Jonathan Wakely
95a83503a0 re PR libstdc++/56170 (Extension debug_allocator seems non-compliant w.r.t. rebind)
PR libstdc++/56170
	* include/ext/debug_allocator.h (debug_allocator): Add missing members
	to meet allocator requirements.
	* testsuite/ext/debug_allocator/56170.cc: New.

From-SVN: r197023
2013-03-24 22:10:29 +00:00
Paolo Carlini
7ad689673f re PR libstdc++/56678 ([c++11] non-uglified name in <chrono>)
2013-03-22  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/56678
	* include/std/chrono (__is_ratio): Uglify T.

From-SVN: r196954
2013-03-22 10:44:42 +00:00
Paolo Carlini
ad6fdc1976 PR libstdc++/55977 (partial, std::vector and std::deque bits)
2013-03-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/55977 (partial, std::vector and std::deque bits)
	* include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
	_InputIterator, std::input_iterator_tag)): Use emplace_back.
	* include/bits/deque.tcc (_M_range_initialize(_InputIterator,
	_InputIterator, std::input_iterator_tag)): Likewise.
	* testsuite/23_containers/vector/cons/55977.cc: New.
	* testsuite/23_containers/deque/cons/55977.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.

From-SVN: r196774
2013-03-18 10:15:56 +00:00
Paolo Carlini
b4904956fa re PR libstdc++/55979 ([C++11] std::list range construction imposes unnecessary conversion constraints)
2013-03-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/55979
	* include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
	_InputIterator, __false_type)): Use emplace_back.
	* testsuite/23_containers/list/cons/55979.cc: New.
	* testsuite/23_containers/list/modifiers/1.h: Adjust.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.

From-SVN: r196755
2013-03-17 18:27:52 +00:00
Jason Merrill
5275b2c7d7 re PR c++/55017 ([DR 1051] [C++11] Rvalue-reference member should cause copy constructor to be deleted, but still declared)
PR c++/55017
	* method.c (walk_field_subobs): Disallow copy of rvalue ref.

From-SVN: r196728
2013-03-16 22:35:01 -04:00
Jonathan Wakely
c49cec9348 re PR libstdc++/56468 (Clang exposes bug with unexpected forward-declaration of type_info)
PR libstdc++/56468
	* libsupc++/exception_ptr.h (type_info): Declare.

From-SVN: r196709
2013-03-16 20:01:16 +00:00
Jonathan Wakely
3442f18d26 re PR libstdc++/56002 ([C++11] allow generic locks to be used without requiring plattform support for threads)
PR libstdc++/56002
	* include/std/mutex (lock_guard, unique_lock, lock): Define without
	depending on _GLIBCXX_HAS_GTHREADS.
	* testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.

From-SVN: r196706
2013-03-16 19:45:53 +00:00
Jonathan Wakely
aaad548e18 re PR libstdc++/56492 (std::packaged_task requires CopyConstructible stored task)
PR libstdc++/56492
	* include/std/future (__future_base::_Result): Add result_type
	typedef.
	(__future_base::_S_allocate_result): Overload for std::allocator.
	(__future_base::_Task_setter): Use _Result::result_type instead of
	deducing the type from the task.
	(__future_base::_Task_state): Store allocator to allow shared state
	to be reset.  Replace std::function with member of target object type
	accessed via ...
	(__future_base::_Task_state_base): New abstract base class.
	(__future_base::_Task_state_base::_M_run): New virtual function to
	invoke type-erased target object.
	(__future_base::_Task_state_base::_M_reset): New virtual function to
	create new shared_state using same target object and allocator.
	(__future_base::__create_task_state): Allocate a new _Task_state.
	(packaged_task::packaged_task): Use __create_task_state.
	(packaged_task::reset): Use _Task_state_base::_M_reset.
	* testsuite/30_threads/packaged_task/cons/56492.cc: New.

From-SVN: r196695
2013-03-16 02:48:06 +00:00
Tom Tromey
83c214a835 unwind-cxx.h: Include sys/sdt.h if detected.
* libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
	(PROBE2): New macro.
	* libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
	* libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
	* configure.ac: Check for sys/sdt.h.
	* configure, config.h.in: Rebuild.

From-SVN: r196674
2013-03-15 09:55:07 +01:00
Jonathan Wakely
1f069142c7 re PR libstdc++/56613 (map::operator[](key_type&&) fails with custom allocator)
PR libstdc++/56613
	* include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
	allocator_traits instead of calling construct directly.
	* testsuite/23_containers/map/56613.cc: New.

From-SVN: r196666
2013-03-14 23:28:11 +00:00
Benjamin Kosnik
10ace8a0cf *: Regenerate.
2013-03-13  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/html/*: Regenerate.

From-SVN: r196647
2013-03-14 03:13:14 +00:00
Paolo Carlini
8a38ebb653 re PR libstdc++/56609 ([C++11] Several type traits give incorrect results for std::nullptr_t)
2013-03-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/56609
	* include/std/type_traits (is_fundamental): Add std::nullptr_t.
	* testsuite/20_util/is_fundamental/value.cc: Extend.
	* testsuite/20_util/is_compound/value.cc: Likewise.

From-SVN: r196630
2013-03-13 11:15:45 +00:00
Paolo Carlini
03a42414ab 55463.cc: Avoid -Wunused warnings.
2013-03-09  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
	-Wunused warnings.

From-SVN: r196572
2013-03-09 11:45:48 +00:00
Benjamin Kosnik
cd1e666505 memoryfwd.h: New.
* include/bits/memoryfwd.h: New. Centralize forward declarations.
	* include/bits/algorithmfwd.h: Consistent comments.
	* include/bits/localefwd.h: Same.
	* include/ext/vstring_fwd.h: Same.
	* include/parallel/algorithmfwd.h: Same.
	* include/parallel/numericfwd.h: Same.
	* include/std/iosfwd: Same.

	* include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
	forward decl.
	* include/ext/alloc_traits.h: Remove allocator forward decl.
	* include/bits/stl_construct.h: Same.
	* include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
	forward decl. Consistent comments.

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

	* include/Makefile.am (bits_headers): Add memoryfwd.h.
	* include/Makefile.in: Regenerate.
	* configure: Same.

e enter the commit message for your changes. Lines starting

From-SVN: r196559
2013-03-08 21:39:24 +00:00
François Dumont
68d047cb48 vector.tcc (vector<>operator=(const vector<>&): Reset pointers after deallocation when memory can be reused.
2013-03-08  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/vector.tcc (vector<>operator=(const vector<>&):
	Reset pointers after deallocation when memory can be reused.
	* testsuite/23_containers/vector/allocator/minimal.cc: Insert
	elements to really challenge C++11 allocator integration.
	* testsuite/23_containers/vector/allocator/copy.cc: Likewise.
	* testsuite/23_containers/vector/allocator/copy_assign.cc:
	Likewise.
	* testsuite/23_containers/vector/allocator/move_assign.cc:
	Likewise.
	* testsuite/23_containers/vector/allocator/swap.cc: Likewise and
	swap vector back before checks on memory/personality mapping are
	performed.
	* testsuite/23_containers/forward_list/allocator/minimal.cc:
	Insert element to really challenge C++11 allocator integration.
	* testsuite/23_containers/forward_list/allocator/copy.cc:
	Likewise.
	* testsuite/23_containers/forward_list/allocator/copy_assign.cc:
	Likewise.
	* testsuite/23_containers/forward_list/allocator/move_assign.cc:
	Likewise.
	* testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
	and swap forward_list back before checks on memory/personality
	mapping are performed.

From-SVN: r196557
2013-03-08 20:08:20 +00:00
Jakub Jelinek
d415f879a0 baseline_symbols.txt: Update.
* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
	Likewise.
	* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.

From-SVN: r196523
2013-03-07 16:47:47 +01:00
Rainer Orth
9ac0b8414c Filter out basever symbols on Solaris
* scripts/extract_symvers.pl: Omit symbols bound to base
	versions.
	* scripts/extract_symvers.in: Likewise.
	* config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
	* config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
	* config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
	* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
	* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.

From-SVN: r196489
2013-03-06 13:34:35 +00:00
Ulrich Drepper
0388c91350 Fix and optimize von_mises_distribution class.
From-SVN: r196436
2013-03-04 16:24:58 +00:00
Ulrich Drepper
d233c23756 Add math constants and triangular and von Mises distributions.
From-SVN: r196407
2013-03-03 00:12:28 +00:00
Rainer Orth
63d4f19e06 Update Solaris baselines
* config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
	* config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
	* config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
	* config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
	* config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.

From-SVN: r196370
2013-03-01 09:32:47 +00:00
Jonathan Wakely
a26f0501b4 re PR libstdc++/56012 ([C++11] Narrowing conversion in atomic_flag)
PR libstdc++/56012
	* include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
	* testsuite/29_atomics/atomic/operators/56012.cc: New.

	PR libstdc++/56011
	* include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
	missing overload.
	* testsuite/29_atomics/atomic/operators/56011.cc: New.

From-SVN: r196296
2013-02-26 23:46:21 +00:00
Jason Merrill
bed152e374 configure.ac: Check for __cxa_thread_atexit_impl.
* configure.ac: Check for __cxa_thread_atexit_impl.
	* libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
	to it if available.
	* config.h.in, configure: Regenerate.

From-SVN: r196276
2013-02-25 23:39:04 -05:00
Jonathan Wakely
f1c69797a0 streambuf (basic_streambuf): Use injected class name instead of non-standard __streambuf_type typedef.
* include/std/streambuf (basic_streambuf): Use injected class name
	instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
	group.

From-SVN: r196185
2013-02-20 22:41:58 +00:00
Jonathan Wakely
2f2b63daf1 faq.html: Fix spelling.
* doc/html/faq.html: Fix spelling.
	* doc/xml/faq.xml: Likewise.
	* include/bits/basic_ios.h: Likewise.
	* include/bits/regex.h: Likewise.
	* include/std/istream: Likewise.
	* include/std/streambuf: Likewise.

From-SVN: r196184
2013-02-20 22:41:51 +00:00
Jonathan Wakely
4731c96644 55043.cc: Add missing namespace qualification.
* testsuite/23_containers/unordered_set/55043.cc: Add missing
	namespace qualification.
	* testsuite/23_containers/unordered_multiset/55043.cc: Likewise.

From-SVN: r196183
2013-02-20 21:23:44 +00:00
Benjamin Kosnik
c0ffa2badb user.cfg.in: Set __cplusplus to 201103L.
2013-02-19  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
	_GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
	AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
	* include/bits/stl_pair.h: Add to utilities group.
	* include/std/tuple: Same.
	* include/std/typeindex: Same.

	* include/bits/stringfwd.h: Fix markup.
	* include/std/limits: Same.
	* include/std/type_traits: Same.
	* include/tr1/memory: Same.
	* include/tr1/regex: Same.
	* scripts/run_doxygen: Comment.
	* testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.

From-SVN: r196162
2013-02-20 01:52:36 +00:00
Jason Merrill
5b858a6cc3 quick_exit.cc: #if out the whole test if unsupported.
* testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
	test if unsupported.

From-SVN: r196066
2013-02-14 20:26:54 -05:00
Marc Glisse
1c259e8b49 re PR libstdc++/56111 ({float,double,long double} complex not accepted anymore)
2013-02-13  Marc Glisse  <marc.glisse@inria.fr>

	PR libstdc++/56111
	* include/std/complex (complex): Undefine.
	* include/c_compatibility/complex.h (complex): Only undefine if
	<complex> has been included.
	* testsuite/26_numerics/complex/56111.cc: New testcase.

From-SVN: r196034
2013-02-13 21:58:53 +00:00
François Dumont
d9a3647a22 hashtable_policy.h (_Hash_code_base): Restore default constructor protected.
2013-02-13  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h (_Hash_code_base): Restore
	default constructor protected.
	* include/bits/hashtable.h: static assert that _Hash_code_base has
	a default constructor available through inheritance.

From-SVN: r196030
2013-02-13 21:09:34 +00:00
Paolo Carlini
fdec36abf9 cstdlib (at_quick_exit, quick_exit): Provide in C++11 mode.
2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
	C++11 mode.

From-SVN: r195974
2013-02-12 12:01:14 +00:00
Julian Brown
1590a83511 38081-1.cc (test01): Don't expect dots after abbreviated weekday names for ru_RU for glibc versions...
libstdc++-v3/
	* testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
	Don't expect dots after abbreviated weekday names for ru_RU for
	glibc versions >= 2.17.
	* testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
	Likewise.

From-SVN: r195971
2013-02-12 10:32:01 +00:00
Paolo Carlini
60f3a59f29 random.tcc (__transform): Remove.
2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/random.tcc (__transform): Remove.
	(__normalize): Add.
	(discrete_distribution<>::param_type::_M_initialize): Adjust.
	(piecewise_constant_distribution<>::param_type::_M_initialize):
	Likewise.
	(piecewise_linear_distribution<>::param_type::_M_initialize):
	Likewise.

From-SVN: r195970
2013-02-12 10:26:54 +00:00
Benjamin Kosnik
6e1d47c46a Makefile.am (hashtable_c++0x.lo, [...]): Use -fimplicit-templates.
2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>

	* src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
	Use -fimplicit-templates.
	* src/c++11/Makefile.in: Regenerate.
	* src/c++11/hashtable_c++0x.cc: Remove instantiation for
	std::lower_bound template.

From-SVN: r195966
2013-02-12 00:39:38 +00:00
Paolo Carlini
42906f7940 cstdlib (at_quick_exit, quick_exit): Do not declare.
2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
	* include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
	in C++11 mode and if available in the underlying C library.
	* testsuite/18_support/quick_exit/quick_exit.cc: Compile with
	-std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
	_GLIBCXX_HAVE_QUICK_EXIT.

From-SVN: r195961
2013-02-11 23:42:43 +00:00
Benjamin Kosnik
53b03cce25 *: Regenerate.
2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/html/*: Regenerate.

From-SVN: r195959
2013-02-11 23:24:26 +00:00
Jason Merrill
cc999d0300 linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
* linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
	(GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
	* include/c_std/cstdlib: Add atexit and at_quick_exit.
	* include/c_global/cstdlib: Add atexit and at_quick_exit.
	* testsuite/18_support/quick_exit/quick_exit.cc: New.

From-SVN: r195948
2013-02-11 12:50:13 -05:00
Paolo Carlini
3b424b30be re PR libstdc++/56282 (std::basic_ios<char> broken with -std=c++11 (undefined reference))
2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/56282
	Revert:
	2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>

	PR libstdc++/56193
	* include/bits/basic_ios.h: Replace operator void*() const
	with explicit operator bool() const in C++11 and greater.
	* testsuite/27_io/basic_ios/pr56193.cc: New file.

From-SVN: r195939
2013-02-11 10:30:43 +00:00
François Dumont
adb1c4d1e0 containers.xml: Add section on unordered containers.
2013-02-10  François Dumont  <fdumont@gcc.gnu.org>
	    Jonathan Wakely  <jwakely.gcc@gmail.com>

	* doc/xml/manual/containers.xml: Add section on unordered containers.
	* doc/xml/manual/using.xml: Fix incomplete sentence.

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

From-SVN: r195937
2013-02-11 00:19:41 +00:00
Jonathan Wakely
dfed5434f3 re PR libstdc++/56267 (unordered containers require Assignable hash function)
PR libstdc++/56267
	* include/bits/hashtable.h (__cache_default): Check if hash function
	is copy assignable.
	* testsuite/23_containers/unordered_set/56267.cc: New.
	* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
	dg-error line number.
	* testsuite/23_containers/unordered_set/
	not_default_constructible_hash_neg.cc: Likewise.

From-SVN: r195936
2013-02-11 00:19:29 +00:00
Jonathan Wakely
a9b68b8289 re PR libstdc++/56278 (unordered containers fail static assertion)
PR libstdc++/56278
	* include/bits/hashtable_policy.h (_Hash_code_base): Make default
	constructor public.
	* testsuite/23_containers/unordered_set/56278.cc: New.

From-SVN: r195935
2013-02-11 00:19:14 +00:00
François Dumont
0112ed6089 bessel_function.tcc (__cyl_bessel_ij_series): Code simplification.
2013-02-09  François Dumont  <fdumont@gcc.gnu.org>

	* include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
	simplification.

From-SVN: r195925
2013-02-09 20:55:12 +00:00
Edward Smith-Rowland
be59c9322a re PR libstdc++/56216 (TR1 bessel functions bomb at x == 0!)
PR libstdc++/56216

From-SVN: r195886
2013-02-08 14:10:48 +00:00
Paolo Carlini
54353978a4 pr56193.cc: Tweak.
2013-02-07  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/27_io/basic_ios/pr56193.cc: Tweak.

From-SVN: r195852
2013-02-07 15:20:58 +00:00
Edward Smith-Rowland
fcf0430bda PR56193 - Wrong test operator for basic_ios in C++11.
From-SVN: r195849
2013-02-07 14:27:45 +00:00
Dodji Seketeli
c8ab2cfaff Add missing explicit instantiation for std::lower_bound template
Since commit r195676[1], it looks like
libstdc++-v3/src/c++11/hashtable_c++0x.cc is missing an explicit
instantiation for std::lower_bound.  This leads to libstdc++.so having
the symbol for that (missing) instantiation be undefined, thus
preventing executables from being linked with libstdc++.

The patchlet below seems to fixed the issue for me.

Boostrapped and tested on x86_64-unknown-linux-gnu.

[1]:

    commit bc36b44c7c
    Author: fdumont <fdumont@138bc75d-0d04-0410-961f-82ee72b054a4>
    Date:   Fri Feb 1 20:44:41 2013 +0000

	2013-02-01  François Dumont  <fdumont@gcc.gnu.org>

	    * include/bits/hashtable_policy.h
	    (_Prime_rehash_policy::_M_next_bkt)
	    (_Prime_rehash_policy::_M_need_rehash): Move definition...
	    * src/c++11/hashtable_c++0x.cc: ... here.
	    * src/shared/hashtable-aux.cc: Remove c++config.h include.
	    * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
	    symbols.

	git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195676 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog

	* libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
	missing instantiation for std::lower_bound template.

From-SVN: r195783
2013-02-06 09:18:26 +01:00
François Dumont
4df047dd34 functional_hash.h (std::__is_fast_hash<>): New.
2013-02-04  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/functional_hash.h (std::__is_fast_hash<>): New.
	* include/bits/basic_string.h: Specialize previous to mark
	std::hash for string types as slow.
	* include/bits/hashtable.h (__cache_default): Replace is_integral
	with __is_fast_hash.
	* src/c++11/hash_c++0x.cc: Add type_traits include.
	* testsuite/23_containers/unordered_set/instantiation_neg.cc:
	Adapt dg-error line number.
	* testsuite/23_containers/unordered_set/
	not_default_constructible_hash_neg.cc: Likewise.

From-SVN: r195738
2013-02-04 21:14:07 +00:00
Manuel López-Ibáñez
9ea146e6da PR libstdc++/56202 (again)
2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/56202 (again)
	* include/bits/random.tcc (binomial_distribution<>::
	_M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
	in previous commit.

	* include/bits/random.h: Fix comment typo.

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

From-SVN: r195732
2013-02-04 19:28:40 +00:00
Manuel López-Ibáñez
85018f40ae re PR libstdc++/56202 (SIGFPE (division by zero) in std::binomial_distribution)
2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/56202
	* include/bits/random.tcc (binomial_distribution<>::
	_M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
	division by zero.

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

From-SVN: r195722
2013-02-04 17:10:59 +00:00
Richard Sandiford
405feeb871 Update copyright in libstdc++-v3.
From-SVN: r195701
2013-02-03 17:54:05 +00:00
Richard Sandiford
5031121c43 ctype_inline.h: Fix copyright typo.
libstdc++-v3/
	* config/os/mingw32/ctype_inline.h: Fix copyright typo.

From-SVN: r195691
2013-02-03 10:42:29 +00:00
François Dumont
6e14794657 2013-02-01 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h
	(_Prime_rehash_policy::_M_next_bkt)
	(_Prime_rehash_policy::_M_need_rehash): Move definition...
	* src/c++11/hashtable_c++0x.cc: ... here.
	* src/shared/hashtable-aux.cc: Remove c++config.h include.
	* config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
	symbols.

From-SVN: r195676
2013-02-01 20:44:41 +00:00
Jason Merrill
2ee8a2d5ce re PR libstdc++/54314 (undefined references to 'construction vtable for std::ostream-in-std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >')
PR libstdc++/54314
gcc/
	* varasm.c (default_assemble_visibility): Don't warn about
	visibility on artificial decls.
gcc/cp/
	* class.c (build_ctor_vtbl_group): Give construction vtables
	hidden visibility.
libstdc++-v3/
	* config/abi/pre/gnu.ver: Don't export construction vtables.
	* config/abi/pre/gnu-versioned-namespace.ver: Likewise.

From-SVN: r195550
2013-01-29 12:24:51 -05:00
Jonathan Wakely
0addb273c5 re PR libstdc++/56112 (cannot create unordered_map from range of types convertible to value_type)
PR libstdc++/56112
	* include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
	to construct value_type explicitly before trying to extract the key.
	* testsuite/23_containers/unordered_map/cons/56112.cc: New.

From-SVN: r195520
2013-01-28 23:07:35 +00:00
François Dumont
5b3be7cf99 hashtable_policy.h (_Local_iterator_base): Use _Hashtable_ebo_helper to embed functors into the local_iterator when necessary.
2013-01-28  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h (_Local_iterator_base): Use
	_Hashtable_ebo_helper to embed functors into the local_iterator
	when necessary. Pass information about functors involved in hash
	code by copy.
	* include/bits/hashtable.h (__cache_default): Do not cache for
	builtin integral types unless the hash functor is not noexcept
	qualified or is not default constructible. Adapt static assertions
	and local iterator instantiations.
	* include/debug/unordered_set
	(std::__debug::unordered_set<>::erase): Detect local iterators to
	invalidate using contained node rather than generating a dummy
	local_iterator instance.
	(std::__debug::unordered_multiset<>::erase): Likewise.
	* include/debug/unordered_map
	(std::__debug::unordered_map<>::erase): Likewise.
	(std::__debug::unordered_multimap<>::erase): Likewise.
	* testsuite/performance/23_containers/insert_erase/41975.cc: Test
	std::tr1 and std versions of unordered_set regardless of any
	macro. Add test on default cache behavior.
	* testsuite/performance/23_containers/insert/54075.cc: Likewise.
	* testsuite/23_containers/unordered_set/instantiation_neg.cc:
	Adapt line number.
	* testsuite/23_containers/unordered_set/
	not_default_constructible_hash_neg.cc: New.
	* testsuite/23_containers/unordered_set/buckets/swap.cc: New.

From-SVN: r195517
2013-01-28 20:52:13 +00:00
Paolo Carlini
91f4a9e332 re PR libstdc++/56085 (Unsafe negation in C++03 pow(complex,int))
2013-01-24  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/56085
	* include/std/complex (pow(const complex<>&, int)): Avoid __n
	signed overflow.

From-SVN: r195421
2013-01-24 12:20:57 +00:00
Jakub Jelinek
0a18c815f9 explicit-hle.cc: Tightten scan-assembler-times regexps...
* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
	Tightten scan-assembler-times regexps, add dg-additional-options for
	ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
	dg-options.

From-SVN: r195383
2013-01-22 18:15:47 +01:00
Andi Kleen
318c94c0d5 Fix PR number in ChangeLog
From-SVN: r195330
2013-01-21 01:24:10 +00:00
Andi Kleen
d76b6ea417 libstdc++: Add mem_order_hle_acquire/release to atomic.h v2
The underlying compiler supports additional __ATOMIC_HLE_ACQUIRE/RELEASE
memmodel flags for TSX, but this was not exposed to the C++ wrapper.
Handle it there.

These are additional flags, so some of assert checks need to mask
off the flags before checking the memory model type.

libstdc++-v3/:
2013-01-12  Andi Kleen  <ak@linux.intel.com>
	    Jonathan Wakely  <jwakely.gcc@gmail.com>

        PR libstdc++/55223
	* include/bits/atomic_base.h (__memory_order_modifier): Add
	__memory_order_mask, __memory_order_modifier_mask,
	__memory_order_hle_acquire, __memory_order_hle_release.
	(operator|,operator&): Add.
	(__cmpexch_failure_order):  Rename to __cmpexch_failure_order2.
	(__cmpexch_failure_order): Add.
	(clear, store, load, compare_exchange_weak, compare_exchange_strong):
	Handle flags.
	* testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
	Add.

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

From-SVN: r195321
2013-01-20 19:03:22 +00:00
Jonathan Wakely
c93fa3ca7e re PR libstdc++/55861 ([C++11] `std::shared_future::get' is not const-qualified)
PR libstdc++/55861
	* include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
	Fix return type.
	(__basic_future::_M_get_result()): Const qualify.
	(shared_future::get()): Likewise.
	* testsuite/30_threads/shared_future/members/get.cc: Use const
	objects.

From-SVN: r195314
2013-01-19 23:42:55 +00:00
Jonathan Wakely
b7202baf14 PR libstdc++/55043 (again)
PR libstdc++/55043 (again)
	* include/bits/alloc_traits.h (allocator_traits::construct): Disable
	unless construction would be well-formed.
	(__allow_copy_cons, __check_copy_constructible): Define.
	* include/bits/unordered_map.h (__check_copy_constructible): Use as
	base class so copy constructor will be deleted if appropriate.
	(is_copy_constructible): Remove specialization.
	* include/bits/unordered_set.h: Likewise.
	* include/debug/unordered_map.h: Undo previous commit. Default copy
	and move constructors.
	* include/debug/unordered_set.h: Likewise.
	* include/profile/unordered_map.h: Undo previous commit.
	* include/profile/unordered_set.h: Likewise.
	* testsuite/23_containers/unordered_map/55043.cc: Fix test.
	* testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
	* testsuite/23_containers/unordered_set/55043.cc: Likewise.
	* testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
	cannot support incomplete types.
	* testsuite/23_containers/unordered_multimap/requirements/53339.cc:
	Likewise.

From-SVN: r195253
2013-01-16 23:56:00 +00:00
Jonathan Wakely
8175e9866c re PR libstdc++/55043 (issue with nesting unordered_map containing unique_ptr into vector)
PR libstdc++/55043
	* include/std/unordered_map: Include alloc_traits.h
	* include/std/unordered_set: Likewise.
	* include/bits/alloc_traits.h: Define __is_copy_insertable.
	* include/bits/unordered_map.h: Use it.
	* include/bits/unordered_set.h: Likewise.
	* include/debug/unordered_map.h: Likewise.
	* include/debug/unordered_set.h: Likewise.
	* include/profile/unordered_map.h: Likewise.
	* include/profile/unordered_set.h: Likewise.
	* include/bits/hashtable.h: Fix comment typos.
	* testsuite/23_containers/unordered_map/55043.cc: New.
	* testsuite/23_containers/unordered_multimap/55043.cc: New.
	* testsuite/23_containers/unordered_multiset/55043.cc: New.
	* testsuite/23_containers/unordered_set/55043.cc: New.

From-SVN: r195231
2013-01-16 09:20:34 +00:00
Janis Johnson
93b2c9a52e gdb-test.exp (gdb_batch_check): Catch error running gdb command.
* testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
	gdb command.

From-SVN: r195115
2013-01-11 20:11:36 +00:00
Jonathan Wakely
965f0c572f * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
From-SVN: r195036
2013-01-08 21:29:20 +00:00
Jonathan Wakely
890e166507 re PR c++/55908 (Problem binding a const member function to a const object)
PR libstdc++/55908
	* include/std/functional (_Mem_fn::operator()): Fix constraints to
	avoid ambiguity.
	* testsuite/20_util/function_objects/mem_fn/55908.cc: New.
	* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.

From-SVN: r195035
2013-01-08 21:01:14 +00:00
Rainer Orth
1191c46b4b Restrict -Wa,-nH use to Solaris (PR libstdc++/55594)
PR libstdc++/55594
	* acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
	Solaris targets.
	* configure: Regenerate.

From-SVN: r195009
2013-01-08 09:47:55 +00:00
Jonathan Wakely
78aff33680 re PR libstdc++/55847 (mistake bad_weak_ptr::what() message)
PR libstdc++/55847
	* src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
	* testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
	string.

	PR libstdc++/55728
	* include/std/functional (bad_function_call::what()): Declare.
	* src/c++11/functional.cc (bad_function_call::what()): Define.
	* config/abi/pre/gnu.ver (bad_function_call::what()): Export.
	* testsuite/20_util/bad_function_call/what.cc: New.

From-SVN: r194958
2013-01-07 00:50:16 +00:00
Jonathan Wakely
1c2620dd6a unordered_map.h: Fix typo in comments.
* include/bits/unordered_map.h: Fix typo in comments.
	* doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
	counts for unordered associative containers.

From-SVN: r194954
2013-01-06 21:58:18 +00:00
Jonathan Wakely
ac43ff42f2 * doc/xml/manual/abi.xml: Update library and symbol versions.
From-SVN: r194950
2013-01-06 21:19:39 +00:00
Richard Sandiford
adf8bb4f07 insert_fn_imps.hpp: Fix typo in copyright years.
libstdc++-v3/
	* include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
	in copyright years.
	* testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.

From-SVN: r194941
2013-01-06 11:53:01 +00:00
Jakub Jelinek
86a2db336a ChangeLog rotation.
From-SVN: r194840
2013-01-03 10:47:48 +01:00
Kai Tietz
3cc6dd4dce os_defines.h (_GLIBCXX_LLP64): Define if llp64 abi is used.
* config/os/mingw32/os_defines.h (_GLIBCXX_LLP64): Define if llp64
	abi is used.
	* config/os/mingw32-w64/os_defines.h: Likewise.
	* libsupc++/cxxabi.h (__base_class_type_info): Adjust
	type of __offset_flags for llp64.
	* libsupc++/eh_alloc.cc (EMERGENCY_OBJ_SIZE): Define proper
	for llp64 abi.
	(EMERGENCY_OBJ_COUNT): Likewise.
	(bitmask_type): Likewise.
	* libsupc++/hash_bytes.cc (_Hash_bytes): Handle llp64.

From-SVN: r194658
2012-12-21 11:12:48 +01:00
Jonathan Wakely
23df853421 functional (_Require): Move to ...
* include/std/functional (_Require): Move to ...
	* include/std/type_traits (_Require): ... here.
	* include/bits/shared_ptr_base.h (__shared_count::_S_create_from_up):
	Handle unique_ptr for arrays or with custom pointer types.
	(__shared_ptr::__shared_ptr(unique_ptr<_Tp1, _Del>&&): Likewise.
	* include/bits/unique_ptr.h (unique_ptr<_Tp[], _Dp>): Use
	_Dp::pointer if defined. Implement proposed resolution of LWG 2118.
	* testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc: New.
	* testsuite/20_util/unique_ptr/assign/cv_qual.cc: New.
	* testsuite/20_util/unique_ptr/cons/array_convertible_neg.cc: New.
	* testsuite/20_util/unique_ptr/cons/convertible_neg.cc: New.
	* testsuite/20_util/unique_ptr/cons/cv_qual.cc: New.
	* testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: New.
	* testsuite/20_util/unique_ptr/requirements/pointer_type_array.cc: New.
	* testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Adjust comments.
	* testsuite/20_util/unique_ptr/cons/pointer_array_convertible_neg.cc:
	Likewise.
	* testsuite/20_util/unique_ptr/requirements/pointer_type.cc: Likewise.
	* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line number.
	* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
	* testsuite/20_util/default_delete/48631_neg.cc: Likewise.
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
	* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
	* testsuite/20_util/unique_ptr/modifiers/reset_neg.cc: Adjust
	dg-error text.
	* testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Use
	different instantiations so static_assert fails for each.

From-SVN: r194651
2012-12-20 21:02:33 +00:00
Jonathan Wakely
8ed812cc4b re PR libstdc++/55741 (bootstrap fails in libstdc++-v3/src/c++11/thread.cc)
PR libstdc++/55741
	* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Check for Sleep.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* src/c++11/thread.cc (__sleep_for): Use Sleep if available.

From-SVN: r194635
2012-12-20 14:36:56 +00:00
Jonathan Wakely
898be2f38d abi.xml: Update URLs for C++ ABI.
* doc/xml/manual/abi.xml: Update URLs for C++ ABI.
	* doc/xml/manual/policy_data_structures_biblio.xml: Add xmlns
	attribute.
	* doc/xml/manual/debug_mode.xml: Give filenames to chunks.
	* doc/xml/manual/diagnostics.xml: Likewise.
	* doc/xml/manual/extensions.xml: Likewise.
	* doc/xml/manual/bitmap_allocator.xml: Likewise.
	* doc/xml/manual/mt_allocator.xml: Likewise.
	* doc/xml/manual/policy_data_structures.xml: Likewise.
	* doc/xml/manual/parallel_mode.xml: Likewise.
	* doc/xml/manual/profile_mode.xml: Likewise.
	* doc/xml/manual/spine.xml: Likewise. Update copyright years.
	* doc/html/*: Regenerate.

From-SVN: r194576
2012-12-18 11:08:33 +00:00
Jonathan Wakely
92b8bccecb * include/std/future (__async_sfinae_helper): Remove.
From-SVN: r194567
2012-12-17 21:30:51 +00:00
Jonathan Wakely
5f2862cf63 thread.cc (execute_native_thread_routine): Do not swallow __forced_unwind exceptions.
* src/c++11/thread.cc (execute_native_thread_routine): Do not swallow
	__forced_unwind exceptions.
	* testsuite/30_threads/thread/native_handle/cancel.cc: New.

From-SVN: r194539
2012-12-16 20:52:47 +00:00
Steve Ellcey
2993114da5 3.cc: Shrink memory usage under simulator.
2012-12-14  Steve Ellcey  <sellcey@mips.com>

	* testsuite/21_strings/basic_string/append/wchar_t/3.cc: Shrink
	memory usage under simulator.
	* testsuite/21_strings/basic_string/cons/wchar_t/6.cc: Ditto.
	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc:
	Ditto.
	* testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc:
	Ditto.

From-SVN: r194510
2012-12-14 22:03:40 +00:00
Steve Ellcey
01f4c82194 18654.cc: Shrink memory usage under simulator.
2012-12-13  Steve Ellcey  <sellcey@mips.com>

	* testsuite/21_strings/basic_string/capacity/char/18654.cc: Shrink
	memory usage under simulator.
	* testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc: Ditto.
	* testsuite/22_locale/collate/transform/char/28277.cc: Ditto.
	* testsuite/22_locale/collate/transform/wchar_t/28277.cc: Ditto.

From-SVN: r194488
2012-12-13 19:55:13 +00:00
Benjamin Kosnik
f52f03c86c documentation_hacking.xml: Fix validation issue.
2012-12-12  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/xml/manual/documentation_hacking.xml: Fix validation issue.

From-SVN: r194455
2012-12-12 22:15:30 +00:00
Jonathan Wakely
3c523cf8a8 re PR libstdc++/55631 (Several ext/ headers can not be #included on their own)
PR libstdc++/55631
	* include/ext/alloc_traits.h: Include missing header.
	* include/ext/pointer.h: Likewise.
	* include/ext/string_conversions.h: Require C++11.
	* libsupc++/initializer_list: Reindent.

From-SVN: r194429
2012-12-11 22:28:01 +00:00
Benjamin Kosnik
74080cba9b Makefile.am (xml_sources_manual): Add policy_data_structures_biblio.xml.
2012-12-10  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/Makefile.am (xml_sources_manual): Add
	policy_data_structures_biblio.xml.
	(${docbook_outdir}/latex): Add.
	(doc-xml-validate-docbook): Split into..
	(doc-xml-validate-dtd-db):... this for DTD.
	(doc-xml-validate-rng-db):... this for Relax NG.
	(doc-pdf-docbook-dirs): Add.
	(doc-pdf-docbook-pre): Add.
	* doc/xml/manual/build_hacking.xml: Add literal markup.
	* doc/xml/manual/documentation_hacking.xml: Clean whitespace in
	<filename> markup. Add notes about debugging the generation process.
	* doc/xml/manual/policy_data_structures.xml: Split biblio into...
	* doc/xml/manual/policy_data_structures_biblio.xml: ... this. New.
	* doc/xml/manual/test_policy_data_structures.xml: Fixup <filename>
	markup.

From-SVN: r194379
2012-12-11 01:52:14 +00:00
Matthias Klose
d392c399e5 Makefile.am (libstdc++-symbols.ver): Use CONFIG_HEADER.
2012-12-10  Matthias Klose  <doko@ubuntu.com>

        * src/Makefile.am (libstdc++-symbols.ver): Use CONFIG_HEADER.
        * src/Makefile.in: Regenerate.

From-SVN: r194346
2012-12-10 09:08:12 +00:00
Andreas Schwab
9ddad47136 libstdc++.exp (dg-test): Unset testname_with_flags after running the test.
* testsuite/lib/libstdc++.exp (dg-test): Unset testname_with_flags
after running the test.

From-SVN: r194330
2012-12-09 14:31:27 +00:00
Andreas Schwab
b788b99833 Makefile.am (${host_builddir}/c++config.h): Replace [<space><tab>] by [<tab><space>].
* include/Makefile.am (${host_builddir}/c++config.h): Replace
[<space><tab>] by [<tab><space>].
* include/Makefile.in: Regenerate.

From-SVN: r194169
2012-12-04 22:40:24 +00:00
Steven Bosscher
1b5be39ffc Makefile.am: Fix regexp broken by previous commit.
* include/Makefile.am: Fix regexp broken by previous commit.
	* include/Makefile.in: Likewise.

From-SVN: r194152
2012-12-04 15:52:52 +00:00
Benjamin Kosnik
cef1bc586c standard_policies.hpp: Remove.
2012-12-03  Benjamin Kosnik  <bkoz@redhat.com>

	* include/ext/pb_ds/detail/cc_hash_table_map_/standard_policies.hpp:
	Remove.
	* include/ext/pb_ds/detail/gp_hash_table_map_/standard_policies.hpp:
	Remove.
 	* include/Makefile.am (pb_headers): Remove include files.
	* include/Makefile.in: Regenerated.

From-SVN: r194107
2012-12-03 23:23:52 +00:00
John David Anglin
27ba7cea69 re PR libstdc++/55503 (FAIL: 30_threads/condition_variable/members/53841.cc (test for excess errors))
PR libstdc++/55503
	* testsuite/30_threads/condition_variable/members/53841.cc: Add
	hppa*-hp-hpux11* to -pthread dg-options.

From-SVN: r194021
2012-12-01 18:25:11 +00:00
Kai Tietz
02f9e21a26 re PR target/55445 (Always defined __SEH__ when build from trunk)
PR target/55445
        * libsupc++/eh_personaltity.cc (__SEH__): Additional check
        for not being SjLj.

From-SVN: r193929
2012-11-29 10:39:49 +01:00
Andrew Pinski
5d99894e65 re PR other/54279 (first stage build with g++ fails with "." as the first component of $PATH)
2012-11-28  Andrew Pinski  <apinski@cavium.com>

        PR bootstrap/54279
        * configure.ac (CXX_FOR_TARGET): Change over to use xg++.
        * configure: Regenerate.
        * Makefile.tpl (POSTSTAGE1_CXX_EXPORT): Change over to use xg++.
        * Makefile.in: Regenerate.

2012-11-28  Andrew Pinski  <apinski@cavium.com>

        PR bootstrap/54279
        * Makefile.in (${QMTEST_DIR}/context): Use xg++ instead of g++.

2012-11-28  Andrew Pinski  <apinski@cavium.com>

        PR bootstrap/54279
        * Make-lang.in (g++$(exeext)): Rename to
        (xg++$(exeext)): This.
        (g++-cross$(exeext)): Use xg++$(exeext) instead of g++$(exeext).
        (c++.start.encap): Likewise.
        (c++.install-common): Likewise.

2012-11-28  Andrew Pinski  <apinski@cavium.com>

        PR bootstrap/54279
        * lib/g++.exp (g++_init): Search for xg++ instead of g++ in the build
        directories.
        * lib/obj-c++.exp (obj-c++_init): Likewise.

2012-11-28  Andrew Pinski  <apinski@cavium.com>

        PR bootstrap/54279
        * scripts/testsuite_flags.in (--build-cxx): Use xg++ instead of g++.
        * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.

From-SVN: r193910
2012-11-28 14:11:29 -08:00
Jonathan Wakely
b1c2b51b66 functional (_Mem_fn): Constrain function call operators to avoid ambiguities.
* include/std/functional (_Mem_fn): Constrain function call operators
	to avoid ambiguities. Use perfect forwarding.
	* testsuite/20_util/function_objects/mem_fn/55463.cc: Additional
	tests.
	* testsuite/20_util/function_objects/mem_fn/forward.cc: New.
	* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.

From-SVN: r193879
2012-11-28 01:42:25 +00:00
Ollie Wild
29f696491c Fix incorrect @headername Doxygen macro invocation.
Format is @headername{hdr1,hdr2} not @headername{hdr1 or hdr2}.

2012-11-27  Ollie Wild  <aaw@google.com>

	* include/bits/stl_tree.h (@headername): Fix incorrect Doxygen macro
	invocation.

From-SVN: r193869
2012-11-27 20:52:02 +00:00
Jonathan Wakely
5895a897b5 functional (__is_socketlike): Change from class template to alias template.
* include/std/functional (__is_socketlike): Change from class
	template to alias template.

From-SVN: r193832
2012-11-26 23:53:36 +00:00
Jonathan Wakely
5127244e4b re PR libstdc++/55463 (Result of std::mem_fn doesn't accept rvalues)
PR libstdc++/55463
	* include/std/functional (_Mem_fn): Handle rvalue objects. Add
	noexcept-specifications.
	* testsuite/20_util/function_objects/mem_fn/55463.cc: New.
	* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.

From-SVN: r193831
2012-11-26 23:53:29 +00:00
Jonathan Wakely
aa66b299c8 re PR libstdc++/52680 (std::this_thread::sleep_for #ifdef'd out by _GLIBCXX_USE_NANOSLEEP)
PR libstdc++/52680
	* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Check for usleep and
	sleep if nanosleep is not available. Bump libtool revision.
	* config.h.in: Regenerate.
	* configure: Likewise.
	* config/abi/pre/gnu.ver (GLIBCXX_3.4.18): Add __sleep_for.
	* include/std/thread (this_thread::__sleep_for): Add.
	(this_thread::yield, this_thread::sleep_until, this_thread::sleep_for):
	Declare unconditionally.
	* src/c++11/thread.cc (this_thread::__sleep_for): Define.
	* testsuite/lib/libstdc++.exp (check_v3_target_nanosleep): Rename to
	check_v3_target_sleep.
	* testsuite/lib/dg-options.exp (dg-require-nanosleep): Rename to
	dg-require-sleep.
	* testsuite/30_threads/condition_variable_any/53830.cc: Update.
	* testsuite/30_threads/this_thread/2.cc: Likewise.
	* testsuite/30_threads/this_thread/3.cc: Likewise.
	* testsuite/30_threads/this_thread/4.cc: Likewise.
	* testsuite/30_threads/async/54297.cc: Likewise.

From-SVN: r193769
2012-11-23 22:11:23 +00:00
Paolo Carlini
25caa91e99 re PR libstdc++/55413 ([LTO] hashtable.h:1648 '__bbegin_bkt' may be used uninitialized in this function [-Werror=maybe-uninitialized])
2012-11-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/55413
	* include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux): Initialize
	__bbegin_bkt and __prev_bkt to avoid uninitialized warnings.
	* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
	dg-error line number.

From-SVN: r193663
2012-11-20 14:54:11 +00:00
Matthias Klose
3263c9a3a7 2012-11-20 Matthias Klose <doko@ubuntu.com>
* doc/doxygen/user.cfg.in (ALIASES). Escape sharp braces.
        * include/bits/allocator.h: Escape sharp braces in comment.
        * include/profile/impl/profiler_algos.h: Likewise.

From-SVN: r193662
2012-11-20 13:48:28 +00:00
Jonathan Wakely
6b1328eb3c array_allocator.h: Replace uses of __GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.
* include/ext/array_allocator.h: Replace uses of
	__GXX_EXPERIMENTAL_CXX0X__ with __cplusplus.

From-SVN: r193644
2012-11-20 00:24:18 +00:00
Jonathan Wakely
0e8330d91d typedefs.cc: Check rebind and improve propagate_on_container_move_assignment check.
* testsuite/20_util/allocator/requirements/typedefs.cc: Check rebind
	and improve propagate_on_container_move_assignment check.

From-SVN: r193639
2012-11-19 22:35:11 +00:00
Jonathan Wakely
1b5dc776ca stl_algo.h (reverse_copy): Update comment per DR 2074.
* include/bits/stl_algo.h (reverse_copy): Update comment per DR 2074.
	* include/bits/unordered_map.h: Apply DR 2005 resolution.
	* doc/xml/manual/status_cxx2011.xml: Update per DR 2048.
	* include/bits/allocator.h (allocator): Apply DR 2103 resolution.
	* include/ext/array_allocator.h: Likewise.
	* include/ext/bitmap_allocator.h: Likewise.
	* include/ext/malloc_allocator.h: Likewise.
	* include/ext/mt_allocator.h: Likewise.
	* include/ext/new_allocator.h: Likewise.
	* include/ext/pool_allocator.h: Likewise.
	* include/ext/throw_allocator.h: Likewise.
	* include/ext/alloc_traits.h (__allocator_always_compares_equal): Add
	additional specializations.
	* include/std/functional: Add comment about DR resolution.
	* include/std/future: Likewise.
	* include/std/scoped_allocator: Likewise.
	* include/std/thread: Likewise.
	* testsuite/20_util/allocator/requirements/typedefs.cc: New.
	* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.

From-SVN: r193638
2012-11-19 22:28:00 +00:00
Jonathan Wakely
207585a63d hashtable.h: Improve comments.
* include/bits/hashtable.h: Improve comments.
	* include/bits/hashtable_policy.h: Likewise.

From-SVN: r193636
2012-11-19 21:33:52 +00:00
Paolo Carlini
741aacafff re PR libstdc++/55363 (tuple_size is not a class template)
2012-11-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/55363
	* include/std/array (tuple_size, tuple_element): Move out
	NAMESPACE_CONTAINER.
	* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
	Likewise.

From-SVN: r193584
2012-11-17 12:09:58 +00:00
François Dumont
d4a7f7a15c hashtable_policy.h (_Prime_rehash_policy): Remove automatic shrink.
2012-11-16  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h (_Prime_rehash_policy): Remove
	automatic shrink.
	(_Prime_rehash_policy::_M_bkt_for_elements): Do not call
	_M_next_bkt anymore.
	(_Prime_rehash_policy::_M_next_bkt): Move usage of
	_S_growth_factor ...
	(_Prime_rehash_policy::_M_need_rehash): ... here.
	* include/bits/hashtable.h (_Hashtable<>): Adapt.
	* testsuite/performance/23_containers/insert_erase/41975.cc: Add
	_USE_TR1 to force build using std::tr1 container.
	* testsuite/performance/23_containers/insert/unordered_set.cc:
	Likewise.
	* testsuite/performance/23_containers/insert/54075.cc: New.

From-SVN: r193576
2012-11-16 21:28:44 +00:00
Tom Tromey
50605a7f19 whatis.cc: New file.
* testsuite/libstdc++-prettyprinters/whatis.cc: New file.
	* testsuite/lib/gdb-test.exp (whatis-test): New proc.
	(gdb-test): Handle 'whatis' tests.
	(gdb_batch_check): New proc.
	(gdb_version_check): Rewrite to use gdb_batch_check.
	* python/libstdcxx/v6/printers.py: Import gdb.types.
	(FilteringTypePrinter): New class.
	(add_one_type_printer, register_type_printers): New functions.
	(register_libstdcxx_printers): Call register_type_printers.

From-SVN: r193573
2012-11-16 18:17:25 +00:00
Jonathan Wakely
c25639b1a3 re PR libstdc++/53841 ([C++11] condition_variable::wait_until() fails with high resolution clocks)
PR libstdc++/53841
	* include/std/condition_variable (condition_variable::wait_until):
	Handle clocks with higher resolution than __clock_t.
	(condition_variable::__wait_until_impl): Remove unnecessary _Clock
	parameter.
	* testsuite/30_threads/condition_variable/members/53841.cc: New.

From-SVN: r193523
2012-11-15 01:38:17 +00:00
Jonathan Wakely
99ace34a31 re PR libstdc++/55320 (Invalid delete with throwing copy-c'tor passed to std::function)
PR libstdc++/55320
	* include/std/functional (function::function(F)): Set _M_manager after
	operations that could throw.
	(_Function_base::_Ref_manager::_M_init_functor): Use addressof.
	* include/tr1/functional
	(_Function_base::_Ref_manager::_M_init_functor): Use addressof.
	(_Function_base::_Base_manager::_M_get_pointer): Likewise.
	* testsuite/20_util/function/cons/55320.cc: New.
	* testsuite/20_util/function/cons/addressof.cc: New.
	* testsuite/20_util/function/cons/callable.cc: Remove header.
	* testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
	* testsuite/tr1/3_function_objects/function/10.cc: New.

From-SVN: r193514
2012-11-14 23:33:01 +00:00
Uros Bizjak
0c9afb50c4 abi_tag.cc: Adjust expected demangling for 128bit long-double targets.
* testsuite/26_numerics/complex/abi_tag.cc: Adjust expected
	demangling for 128bit long-double targets.

From-SVN: r193509
2012-11-14 23:23:51 +01:00
Jonathan Wakely
0ad9f93083 future (atomic_future): Remove declaration of non-standard name.
* include/std/future (atomic_future): Remove declaration of
	non-standard name.

From-SVN: r193457
2012-11-12 23:00:41 +00:00
Jason Merrill
7a3a9e6821 * include/std/complex (real, imag): Add ABI tag in C++11 mode.
From-SVN: r193445
2012-11-12 12:51:26 -05:00
Andreas Schwab
92eba4000d chapter.txml: Remove whitespace inside <keyword>.
* doc/xml/chapter.txml: Remove whitespace inside <keyword>.
* doc/xml/class.txml: Likewise.
* doc/xml/manual/abi.xml: Likewise.
* doc/xml/manual/algorithms.xml: Likewise.
* doc/xml/manual/allocator.xml: Likewise.
* doc/xml/manual/appendix_contributing.xml: Likewise.
* doc/xml/manual/appendix_free.xml: Likewise.
* doc/xml/manual/appendix_porting.xml: Likewise.
* doc/xml/manual/atomics.xml: Likewise.
* doc/xml/manual/auto_ptr.xml: Likewise.
* doc/xml/manual/backwards_compatibility.xml: Likewise.
* doc/xml/manual/bitmap_allocator.xml: Likewise.
* doc/xml/manual/build_hacking.xml: Likewise.
* doc/xml/manual/codecvt.xml: Likewise.
* doc/xml/manual/concurrency.xml: Likewise.
* doc/xml/manual/concurrency_extensions.xml: Likewise.
* doc/xml/manual/configure.xml: Likewise.
* doc/xml/manual/containers.xml: Likewise.
* doc/xml/manual/ctype.xml: Likewise.
* doc/xml/manual/debug.xml: Likewise.
* doc/xml/manual/debug_mode.xml: Likewise.
* doc/xml/manual/diagnostics.xml: Likewise.
* doc/xml/manual/extensions.xml: Likewise.
* doc/xml/manual/internals.xml: Likewise.
* doc/xml/manual/intro.xml: Likewise.
* doc/xml/manual/io.xml: Likewise.
* doc/xml/manual/iterators.xml: Likewise.
* doc/xml/manual/locale.xml: Likewise.
* doc/xml/manual/localization.xml: Likewise.
* doc/xml/manual/messages.xml: Likewise.
* doc/xml/manual/mt_allocator.xml: Likewise.
* doc/xml/manual/numerics.xml: Likewise.
* doc/xml/manual/parallel_mode.xml: Likewise.
* doc/xml/manual/policy_data_structures.xml: Likewise.
* doc/xml/manual/prerequisites.xml: Likewise.
* doc/xml/manual/profile_mode.xml: Likewise.
* doc/xml/manual/shared_ptr.xml: Likewise.
* doc/xml/manual/status_cxx1998.xml: Likewise.
* doc/xml/manual/status_cxx2011.xml: Likewise.
* doc/xml/manual/status_cxxtr1.xml: Likewise.
* doc/xml/manual/status_cxxtr24733.xml: Likewise.
* doc/xml/manual/strings.xml: Likewise.
* doc/xml/manual/support.xml: Likewise.
* doc/xml/manual/test.xml: Likewise.
* doc/xml/manual/using_exceptions.xml: Likewise.
* doc/xml/manual/utilities.xml: Likewise.
* doc/xml/spine.xml: Likewise.

From-SVN: r193414
2012-11-11 21:17:43 +00:00