Commit Graph

6560 Commits

Author SHA1 Message Date
Jonathan Wakely
025eac9b9e N3887 Consistent Metafunction Aliases
* include/std/tuple (tuple_element_t): Define.
	* testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
	test.
	* testsuite/20_util/tuple/tuple_element_t.cc: New.

From-SVN: r209395
2014-04-15 00:17:52 +01:00
Jonathan Wakely
39e6a690ec re PR libstdc++/60497 (unique_ptr<T> tries to complete its type T even though it's not required to be a complete type)
PR libstdc++/60497
	* include/std/tuple (get): Qualify calls to prevent ADL.
	* testsuite/20_util/tuple/60497.cc: New.

From-SVN: r209381
2014-04-14 16:32:58 +01:00
Jonathan Wakely
e364673d87 allocator.h (operator==, operator!=): Add exception specifications.
* include/bits/allocator.h (operator==, operator!=): Add exception
	specifications.

From-SVN: r209379
2014-04-14 16:13:02 +01:00
Jonathan Wakely
5b99e0a022 Limit operations on vector::pointer to NullablePointer requirements.
* include/bits/stl_vector.h (_Vector_base::_Vector_impl,
	_Vector_base::_M_allocate): NullablePointer requirements do not
	include initialization from literal zero, use value-initialization.
	* include/bits/vector.tcc (vector::_M_insert_aux,
	vector::_M_explace_back_aux): Likewise for assignment.

From-SVN: r209377
2014-04-14 15:51:35 +01:00
Marc Glisse
4de3afd972 re PR libstdc++/59434 ([lwg/2106] move_iterator is broken for input iterators with an rvalue as reference type)
2014-04-11  Marc Glisse  <marc.glisse@inria.fr>

	PR libstdc++/59434
	* include/bits/stl_iterator.h (move_iterator::reference,
	move_iterator::operator*): Implement LWG 2106.
	* testsuite/24_iterators/move_iterator/dr2106.cc: New file.

From-SVN: r209323
2014-04-11 19:23:49 +00:00
Marc Glisse
742f66e736 complex (__complex_exp, pow): Specify the template parameter in calls to std::polar, for expression templates.
2014-04-11  Marc Glisse  <marc.glisse@inria.fr>

	* include/std/complex (__complex_exp, pow): Specify the template
	parameter in calls to std::polar, for expression templates.

From-SVN: r209321
2014-04-11 18:57:59 +00:00
Andreas Schwab
4ada6d5850 Remove TLS symbols from libstdc++ baselines
* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
symbols.
* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
* config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.

From-SVN: r209270
2014-04-10 08:29:10 +00:00
Andreas Schwab
9e837b7f5d Update ia64 libstdc++ baseline symbols
* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.

From-SVN: r209266
2014-04-10 07:52:23 +00:00
Jonathan Wakely
631e3e1b75 Fix testsuite bugs.
* testsuite/20_util/exchange/1.cc: Add missing return statements.
	* testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
	* testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
	specifications.

From-SVN: r209196
2014-04-07 19:40:18 +01:00
Dominique d'Humieres
3346667668 re PR target/54407 (FAIL: 30_threads/condition_variable/54185.cc execution test program timed out on powerpc-apple-darwin9 and x86_64-apple-darwin10)
2014-04-02  Dominique d'Humieres  <dominiq@lps.ens.fr>
	    Jack Howarth <howarth@bromo.med.uc.edu>

	PR target/54407
	* testsuite/30_threads/condition_variable/54185.cc: Skip for
	darwin < 11.


Co-Authored-By: Jack Howarth <howarth@bromo.med.uc.edu>

From-SVN: r209017
2014-04-02 10:44:40 +02:00
Jonathan Wakely
be35d328e6 backwards_compatibility.xml (backwards.third.headers): Update link.
* doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
	Update link.
	* doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
	Fix broken links.
	* doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
	* doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
	* doc/xml/manual/concurrency_extensions.xml
	(manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
	* doc/html/*: Regenerate.

From-SVN: r209002
2014-04-01 22:31:02 +01:00
Lars Gullik Bjønnes
71bdda5625 re PR libstdc++/60270 ([C++1y] std::quoted is too eager to clear the string)
2014-03-31  Lars Gullik Bjønnes  <larsbj@gullik.org>
	    Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/60270
	* include/std/iomanip (_Quoted_string operator>>): Do not clear
	string if input is not quoted.
	* testsuite/27_io/manipulators/standard/char/60270.cc: New.

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

From-SVN: r208966
2014-03-31 19:46:23 +01:00
Jonathan Wakely
0812493fc5 * libsupc++/eh_ptr.cc: Improve static_assert messages.
From-SVN: r208965
2014-03-31 19:16:14 +01:00
Rainer Orth
750dc27853 Fix 18_support/exception_ptr/60612-*.cc on non-C99 targets
* testsuite/18_support/exception_ptr/60612-terminate.cc
	(terminate, f): Wrap in _GLIBCXX_USE_C99.
	* testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.

From-SVN: r208958
2014-03-31 13:14:12 +00:00
Jonathan Wakely
ffcbf03ffb * doc/html/*: Regenerate.
From-SVN: r208875
2014-03-27 18:22:46 +00:00
Jonathan Wakely
b08d3b681a containers.xml (associative.bitset.size_variable): Fix bad s/part/chapter/ substitutions.
* doc/xml/manual/containers.xml (associative.bitset.size_variable):
	Fix bad s/part/chapter/ substitutions.
	* doc/xml/manual/io.xml (std.io): Likewise.
	* doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
	* doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.

From-SVN: r208874
2014-03-27 18:22:38 +00:00
Jonathan Wakely
6f8b5e0cda faq.xml (faq): Refer to clauses instead of chapters.
* doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
	* doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
	Likewise.
	* doc/xml/manual/backwards_compatibility.xml (backwards.third):
	Likewise.
	* doc/xml/manual/test.xml (test.organization.layout): Likewise.

From-SVN: r208873
2014-03-27 18:22:33 +00:00
Jonathan Wakely
25d24c421a * doc/xml/manual/io.xml (std.io.objects): Additional markup.
From-SVN: r208872
2014-03-27 18:22:27 +00:00
Jonathan Wakely
3941b26033 re PR libstdc++/60612 (Throwing exception, catching and rethrowing (std::exception_ptr) in destructor leads to segfault)
PR libstdc++/60612
	* libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
	compatible with __cxa_exception.
	* libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
	Fix typos in comments.
	* testsuite/18_support/exception_ptr/60612-terminate.cc: New.
	* testsuite/18_support/exception_ptr/60612-unexpected.cc: New.

From-SVN: r208871
2014-03-27 18:07:25 +00:00
Jonathan Wakely
5ec16257ca re PR libstdc++/60658 (std::atomic<T*> is unexpectedly not lock-free)
PR libstdc++/60658
	* include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
	Use sizeof pointer type not the element type.
	* testsuite/29_atomics/atomic/60658.cc: New.

From-SVN: r208819
2014-03-25 19:39:52 +00:00
Jakub Jelinek
6f6c00f3a3 baseline_symbols.txt: Update.
* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
	* config/abi/post/powerpc64-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/i486-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.
	* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
	* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
	entries.

From-SVN: r208797
2014-03-24 20:48:12 +01:00
John David Anglin
76627edd63 45713.cc: Skip compile on hppa*64*-*-*.
* testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.

From-SVN: r208776
2014-03-24 00:09:24 +00:00
François Dumont
f7279c1a01 hashtable.h (_Hashtable(allocator_type)): Fix call to delegated constructor.
2014-03-23  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
	to delegated constructor.
	(_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
	(_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
	Likewise.
	(_Hashtable(
	initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.

From-SVN: r208775
2014-03-23 20:19:11 +00:00
John David Anglin
d570d678a4 re PR libstdc++/60623 (FAIL: libstdc++-abi/abi_check)
PR libstdc++/60623
	* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.

From-SVN: r208774
2014-03-23 15:12:38 +00:00
Jonathan Wakely
72d1f255ae re PR libstdc++/60587 (debug-mode -std=c++11 vector::insert(pos, begin, end) dereferences begin too eagerly)
PR libstdc++/60587
	* include/debug/functions.h (_Is_contiguous_sequence): Define.
	(__foreign_iterator): Accept additional iterator. Do not dispatch on
	iterator category.
	(__foreign_iterator_aux2): Likewise. Add overload for iterators
	from different types of debug container. Use _Is_contiguous_sequence
	instead of is_lvalue_reference.
	(__foreign_iterator_aux3): Accept additional iterator. Avoid
	dereferencing past-the-end iterator.
	(__foreign_iterator_aux4): Use const value_type* instead of
	potentially user-defined const_pointer type.
	* include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
	and pass end iterator to __gnu_debug::__foreign_iterator.
	(__glibcxx_check_insert_range_after): Likewise.
	(__glibcxx_check_max_load_factor): Fix comment.
	* include/debug/vector (_Is_contiguous_sequence): Define partial
	specializations.
	* testsuite/23_containers/vector/debug/57779_neg.cc: Remove
	-std=gnu++11 option and unused header.
	* testsuite/23_containers/vector/debug/60587.cc: New.
	* testsuite/23_containers/vector/debug/60587_neg.cc: New.

From-SVN: r208755
2014-03-21 18:54:06 +00:00
Ulrich Weigand
e70c4c4189 crossconfig.m4: Support spu-*-elf* targets.
* crossconfig.m4: Support spu-*-elf* targets.
	* configure: Regenerate.

From-SVN: r208730
2014-03-20 18:57:07 +00:00
Jonathan Wakely
f7e68d0804 re PR libstdc++/60564 ([C++11] The std::packaged_task constructor taking a reference to a functor does not copy its argument.)
PR libstdc++/60564
	* include/std/future (__future_base::_Task_state<>): Change
	constructors to template functions using perfect forwarding.
	(__create_task_state): Use decayed type as stored task.
	(packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
	* testsuite/30_threads/packaged_task/60564.cc: New.

From-SVN: r208656
2014-03-18 16:31:38 +00:00
François Dumont
86faf710c7 [multiple changes]
2014-03-16  François Dumont  <fdumont@gcc.gnu.org>

	Complete:

	2014-01-20  François Dumont  <fdumont@gcc.gnu.org>
	* scripts/create_testsuite_files: Add testsuite/experimental in
	the list of folders to search for tests.

From-SVN: r208606
2014-03-16 20:32:47 +00:00
Andreas Schwab
dcf39d824f Baseline symbols for m68k
* config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.

From-SVN: r208594
2014-03-15 18:59:36 +00:00
Tim Shen
ee54a3b318 regex.h: Add/modify comments.
2014-03-15  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex.h: Add/modify comments.
	* include/bits/regex_compiler.h: Likewise.
	* include/bits/regex_executor.h: Likewise.
	* include/bits/regex_executor.tcc: Likewise.
	* include/bits/regex_scanner.h: Likewise.

From-SVN: r208593
2014-03-15 18:16:22 +00:00
Jonathan Wakely
b1520f3d2c re PR ipa/58721 (The subroutine perdida is no longer inlined in fatigue.f90)
PR ipa/58721
	* config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
	_ZNSt12system_errorC* symbols which are not exported on any target.

From-SVN: r208572
2014-03-14 18:10:59 +00:00
Roland McGrath
90021b558c PR libstdc++/59392: Fix ARM EABI uncaught throw from unexpected exception handler
libstdc++-v3/
	PR libstdc++/59392
	* libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
	the address of a null pointer, not with a null pointer to pointer.
	Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
	* testsuite/18_support/bad_exception/59392.cc: New file.

Co-Authored-By: Mark Seaborn <mseaborn@google.com>

From-SVN: r208519
2014-03-12 22:42:13 +00:00
Jonathan Wakely
06dce00742 re PR libstdc++/60499 (non-reserved name in <debug/vector>)
PR libstdc++/60499
	* include/debug/forward_list (forward_list::operator=(forward_list&&)):
	Uglify name.
	* include/debug/map (map::operator=(map&&)): Likewise.
	* include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
	* include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
	* include/debug/set (set::operator=(set&&)): Likewise.
	* include/debug/unordered_map
	(unordered_map::operator=(unordered_map&&)): Likewise.
	(unordered_multimap::operator=(unordered_multimap&&)): Likewise.
	* include/debug/unordered_set
	(unordered_set::operator=(unordered_set&&)): Likewise.
	(unordered_multiset::operator=(unordered_multiset&&)): Likewise.
	* include/debug/vector (vector::operator=(vector&&)): Likewise.
	* testsuite/23_containers/forward_list/debug/60499.cc: New
	* testsuite/23_containers/map/debug/60499.cc: New
	* testsuite/23_containers/multimap/debug/60499.cc: New
	* testsuite/23_containers/multiset/debug/60499.cc: New
	* testsuite/23_containers/set/debug/60499.cc: New
	* testsuite/23_containers/unordered_map/debug/60499.cc: New
	* testsuite/23_containers/unordered_multimap/debug/60499.cc: New
	* testsuite/23_containers/unordered_multiset/debug/60499.cc: New
	* testsuite/23_containers/unordered_set/debug/60499.cc: New
	* testsuite/23_containers/vector/debug/60499.cc: New

From-SVN: r208490
2014-03-11 17:16:41 +00:00
Ed Smith-Rowland
700bf0d312 [libstdc++,docs] After the latest batch of papers came out I updated the status docs.
From-SVN: r208358
2014-03-06 01:31:39 +00:00
Paolo Carlini
064fd5a8d0 re PR c++/60376 ([c++1y] ICE on invalid with using declaration in template function)
/gcc/cp
2014-03-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60376
	* parser.c (cp_parser_using_declaration): Early return when
	cp_parser_nested_name_specifier errors out.

/gcc/testsuite
2014-03-04  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/60376
	* g++.dg/cpp1y/pr60376.C: New.

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

	PR c++/60376
	* testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
	Adjust dg-error directives.

From-SVN: r208309
2014-03-04 10:52:18 +00:00
Tim Shen
91bb5cd9a6 regex.tcc (match_results<>::format, [...]): Update __out after calling std::copy.
2014-02-26  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex.tcc (match_results<>::format,
	regex_replace<>): Update __out after calling std::copy.
	* testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
	Add testcase.
	* testsuite/28_regex/match_results/format.cc: Likewise.

From-SVN: r208179
2014-02-26 19:45:15 +00:00
Marc Glisse
6aba694120 re PR libstdc++/60308 (std::deque leaks memory)
2014-02-22  Marc Glisse  <marc.glisse@inria.fr>

	PR libstdc++/60308
	* include/bits/stl_deque.h (_Deque_base::_Deque_base(const
	allocator_type&)): Remove redundant call to _M_initialize_map.
	(deque::deque(const allocator_type&)): Initialize _Base with a
	constructor that calls _M_initialize_map.

	Partial revert:

	2013-09-20  Marc Glisse  <marc.glisse@inria.fr>
	PR libstdc++/58338
	(_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
	_M_initialize_map.

From-SVN: r208041
2014-02-22 10:24:11 +00:00
Ed Smith-Rowland
94ff338464 Rename testsuite directory shared_mutex to shared_timed_mutex for consistency.
2014-02-21  Ed Smith-Rowland  <3dw4rd@verizon.net>

	Rename testsuite directory shared_mutex to shared_timed_mutex
	for consistency.
	* testsuite/30_threads/shared_mutex: Moved to...
	* testsuite/30_threads/shared_timed_mutex: ...here

From-SVN: r207997
2014-02-21 14:40:26 +00:00
Ed Smith-Rowland
4bbfc5fa4d Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
2014-02-20  Ed Smith-Rowland  <3dw4rd@verizon.net>

	Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
	* include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
	* testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
	* testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
	* testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
	* testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
	* testsuite/30_threads/shared_lock/requirements/
	explicit_instantiation.cc: Ditto.
	* testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
	* testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
	* testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
	* testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
	* testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
	* testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
	* testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
	* testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
	* testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
	* testsuite/30_threads/shared_mutex/requirements/
	standard_layout.cc: Ditto.
	* testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
	* testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
	* testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
	* testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
	* testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.

From-SVN: r207964
2014-02-20 16:06:40 +00:00
Rainer Orth
53a6d1ceeb Don't xfail 22_locale/num_put/put/char/14220.cc etc. on Solaris 9/x86
* testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
	execution on i?86-*-solaris2.9, remove comment.
	* testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.

From-SVN: r207660
2014-02-10 16:18:20 +00:00
Richard Sandiford
5a47e4c519 baseline_symbols.txt: New file.
libstdc++-v3/
	* config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
	* config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
	* config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.

From-SVN: r207643
2014-02-09 14:19:13 +00:00
Jonathan Wakely
1492a408f9 re PR libstdc++/57226 (The installation of pretty printers is not documented)
PR libstdc++/57226
	* doc/xml/manual/debug.xml (debug.gdb): Update documentation for
	installation and use of python printers.
	* doc/xml/manual/status_cxx2011.xml: Update.
	* doc/html/*: Regenerate.

From-SVN: r207288
2014-01-29 23:46:31 +00:00
Jonathan Wakely
d530142ddb re PR libstdc++/21609 (array_allocator vs rebind & templated constructor)
PR libstdc++/21609
	* include/ext/array_allocator.h: Add deprecated attribute.

From-SVN: r207280
2014-01-29 20:43:44 +00:00
Jonathan Wakely
85c13695d2 Fix ChangeLog date of my previous commit.
From-SVN: r207249
2014-01-29 15:26:23 +00:00
Jonathan Wakely
8a972abdd9 re PR libstdc++/59829 (Calling vector::data() occurs undefined behavior when the vector is empty)
PR libstdc++/59829
	* include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
	(vector::_M_data_ptr): New overloaded functions to ensure empty
	vectors do not dereference the pointer.
	* testsuite/23_containers/vector/59829.cc: New.
	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.
	* 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: r207241
2014-01-29 14:57:42 +00:00
Jonathan Wakely
200674232e alloc_traits.h (allocator_traits::_S_allocate): Do not use varargs when argument could be non-POD.
* include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
	not use varargs when argument could be non-POD.
	(__alloctr_rebind_helper): Eliminate static const bool member by
	using true_type and false_type.
	(allocator_traits::__allocate_helper): Likewise.
	(allocator_traits::__construct_helper): Likewise.
	(allocator_traits::__destroy_helper): Likewise.
	(allocator_traits::__maxsize_helper): Likewise.
	(allocator_traits::__select_helper): Likewise.
	* include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
	* include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
	Remove redundant condition.
	* include/bits/stl_vector.h (vector::operator=(const vector&)):
	Likewise.
	(_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
	indirection through __alloc_traits.
	* include/ext/alloc_traits.h (__allocator_always_compares_equal):
	Eliminate static const bool members by using true_type and false_type.
	(__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
	* testsuite/util/testsuite_allocator.h (PointerBase): Define.
	* testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
	New.
	* testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.

From-SVN: r207240
2014-01-29 14:57:35 +00:00
Jonathan Wakely
156b60e0b9 re PR libstdc++/59656 (weak_ptr::lock function crashes when compiling with -fno-exceptions flag)
2014-01-28  Jonathan Wakely  <jwakely@redhat.com>
	    Kyle Lippincott  <spectral@google.com>

	PR libstdc++/59656
	* include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
	constructor and grant friendship to weak_ptr.
	(weak_ptr::lock()): Use new constructor.
	* include/bits/shared_ptr_base.h
	(_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
	and define specializations.
	(__shared_count): Add new non-throwing constructor.
	(__shared_ptr): Add new non-throwing constructor and grant friendship
	to __weak_ptr.
	(__weak_ptr::lock()): Use new constructor.
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
	* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.

Co-Authored-By: Kyle Lippincott <spectral@google.com>

From-SVN: r207180
2014-01-28 10:23:27 +00:00
Jonathan Wakely
fb1ca954c0 re PR libstdc++/59215 (tsan: warning in shared_ptr_base.h)
PR libstdc++/59215
	* include/bits/shared_ptr_base.h
	(_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
	load.

From-SVN: r207147
2014-01-27 17:56:40 +00:00
Jason Merrill
ccc2e73ce7 Core DR 475 PR c++/41174 PR c++/59224
Core DR 475
	PR c++/41174
	PR c++/59224
	* libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
	* libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
	(__cxa_allocate_exception): Don't set it here.

From-SVN: r207129
2014-01-27 08:57:39 -05:00
Jonathan Wakely
2720e16b87 acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
* acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
	* configure: Regenerate.

From-SVN: r207116
2014-01-26 11:23:07 +00:00