Commit Graph

2864 Commits

Author SHA1 Message Date
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
Jason Merrill f221dc810d re PR c++/57899 (bind/function with data member: infinite recursion)
PR c++/57899
	* cp-tree.h (struct saved_scope): Add x_local_specializations.
	(local_specializations): New macro.
	* pt.c (local_specializations): Remove variable.

From-SVN: r207332
2014-01-30 22:47:22 -05: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 4d0bb77039 stl_map.h: Remove anachronistic comment.
* include/bits/stl_map.h: Remove anachronistic comment.
	* include/bits/stl_multimap.h: Add whitespace.
	* testsuite/23_containers/map/modifiers/emplace/1.cc: Use
	-std=gnu++11 instead of -std=c++11.
	* testsuite/23_containers/map/operators/2.cc: Likewise.
	* testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
	* testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
	* testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.

From-SVN: r207115
2014-01-26 11:22:58 +00:00
Ed Smith-Rowland bb393514d5 re PR libstdc++/59531 (string_view overrun in copy operation)
2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>

	PR libstdc++/59531
	* testsuite/experimental/string_view/operations/copy/char/1.cc: New.
	* testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.

2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
	    Peter A. Bigot <pab@pabigot.com>

	PR libstdc++/59531
	* include/experimental/string_view
	(copy(_CharT*, size_type, size_type) const): Correct throw string.
	Correct copy start location.

2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
	    Peter A. Bigot <pab@pabigot.com>

	PR libstdc++/59530
	* include/experimental/string_view (operator[](size_type) const):
	Fix one-off index error in debug check.
	* testsuite/experimental/string_view/element_access/char/1.cc: Don't
	test basic_string_view at size().
	* testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.

2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
	    Peter A. Bigot <pab@pabigot.com>

	PR libstdc++/59529
	* include/experimental/string_view
	(basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
	* testsuite/experimental/string_view/operations/substr/char/1.cc:
	Comment out catch of out_of_range; No terminating null
	in basic_string_view.  Check begin == end.
	* testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
	Ditto.


Co-Authored-By: Peter A. Bigot <pab@pabigot.com>

From-SVN: r207060
2014-01-24 20:15:00 +00:00
Jonathan Wakely f74912779b re PR libstdc++/59548 (Abort after copying std::unordered_map in debug mode)
PR libstdc++/59548
	* include/debug/safe_base.h (_Safe_sequence_base): Define copy
	constructor to prevent it being implicitly defined as deleted, but
	do not copy anything.
	* include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
	Define copy and move constructors similar to _Safe_sequence_base's.
	* testsuite/23_containers/unordered_map/59548.cc: New.

From-SVN: r207059
2014-01-24 20:08:20 +00:00
Jonathan Wakely 6a5839c841 re PR libstdc++/59872 (Cannot move std::map with move-only mapped_type)
PR libstdc++/59872
	* include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
	* include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
	Likewise.
	* include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
	Likewise.
	* include/bits/stl_set.h (set::operator=(set&&)): Likewise.
	* include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
	functions to perform moving or copying of elements from rvalue tree.
	(_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
	(_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
	* testsuite/23_containers/map/59872.cc: New.
	* testsuite/23_containers/map/56613.cc: Remove duplicate include.

From-SVN: r206994
2014-01-23 17:17:04 +00:00
Jonathan Wakely d9dcda6f48 PR libstdc++/58764 (again)
PR libstdc++/58764 (again)
	* include/bits/stl_list.h (list): Make default constructor's exception
	specification conditional.
	* include/bits/stl_vector.h (vector): Likewise.
	* testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
	to default constructor.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.
	* 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: r206946
2014-01-22 23:50:58 +00:00
Jonathan Wakely c3cdd71f45 re PR libstdc++/58764 ([lwg/2193] error: converting to ‘const std::vector<std::basic_string<char> >’ from initializer list would use explicit constructor)
PR libstdc++/58764
	* include/bits/stl_deque.h (deque::deque(const allocator_type&):
	Split into separate default constructor and constructor taking
	allocator.
	* include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
	* include/bits/stl_vector.h (vector::vector(const allocator_type&):
	Likewise.
	* include/debug/deque (deque::deque(const allocator_type&)): Likewise.
	* include/debug/list (list::list(const _Allocator&)): Likewise.
	* include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
	Likewise.
	* include/debug/multimap.h
	(multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
	* include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
	Likewise.
	* include/debug/multiset.h
	(multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
	* include/debug/vector (vector::vector(const allocator_type&)):
	Likewise.
	* include/profile/deque (deque::deque(const _Allocator&)): Likewise.
	* include/profile/list (list::list(const _Allocator&)): Likewise.
	* include/profile/map.h
	(map::map(const _Compare&, const _Allocator&)): Likewise.
	* include/profile/multimap.h
	(multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
	* include/profile/set.h
	(set::set(const _Compare&, const _Allocator&)): Likewise.
	* include/profile/multiset.h
	(multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
	* include/profile/vector (vector::vector(const _Allocator&)):
	Likewise.
	* testsuite/23_containers/deque/58764.cc: New.
	* testsuite/23_containers/list/58764.cc: New.
	* testsuite/23_containers/map/58764.cc: New.
	* testsuite/23_containers/multimap/58764.cc: New.
	* testsuite/23_containers/set/58764.cc: New.
	* testsuite/23_containers/multiset/58764.cc: New.
	* testsuite/23_containers/vector/58764.cc: New.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
	Adjust dg-error line number.
	* 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: r206939
2014-01-22 19:46:44 +00:00
Tim Shen 8f7082f5ea regex.tcc: Remove incorrect `nosubs` handling.
2014-01-21  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex.tcc: Remove incorrect `nosubs` handling.
	* include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
	* testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.

From-SVN: r206906
2014-01-21 19:54:03 +00:00
Jonathan Wakely 6ff956e3c2 re PR libstdc++/56267 (unordered containers require Assignable hash function)
PR libstdc++/56267
	* include/bits/hashtable.h (__cache_default): Do not depend on
	whether the hash function is DefaultConstructible or CopyAssignable.
	(_Hashtable): Adjust static assertions.
	* doc/xml/manual/containers.xml (containers.unordered.cache): Update.
	* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
	dg-error line number.
	* testsuite/23_containers/unordered_set/
	not_default_constructible_hash_neg.cc: Remove.

From-SVN: r206904
2014-01-21 19:38:35 +00:00
François Dumont 9d0bb2ea71 create_testsuite_files: Add testsuite/experimental in the list of folders to search for tests.
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.
	* include/experimental/string_view
	(basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
	incompatible with constexpr qualifier.
	(basic_string_view<>::front()): Likewise.
	(basic_string_view<>::back()): Likewise.
	* testsuite/experimental/string_view/element_access/wchar_t/2.cc:
	Merge dg-options directives into one.
	* testsuite/experimental/string_view/element_access/char/2.cc:
	Likewise. Remove invalid experimental namespace scope on
	string_view_type.

From-SVN: r206859
2014-01-20 21:15:13 +00:00
Jonathan Wakely 92e1622850 re PR libstdc++/56267 (unordered containers require Assignable hash function)
PR libstdc++/56267
	* include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
	friendship to _Local_iterator_base<..., false>.
	(_Local_iterator_base): Give protected access to all existing members.
	(_Local_iterator_base::_M_curr()): New public accessor.
	(_Local_iterator_base::_M_get_bucket()): New public accessor.
	(_Local_iterator_base<..., false>::_M_init()): New function to manage
	the lifetime of the _Hash_code_base explicitly.
	(_Local_iterator_base<..., false>::_M_destroy()): Likewise.
	(_Local_iterator_base<..., false>): Define copy constructor and copy
	assignment operator that use new functions to manage _Hash_code_base.
	(operator==(const _Local_iterator_base&, const _Local_iterator_base&),
	operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
	Use public API for _Local_iterator_base.
	* include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
	* include/debug/unordered_map (__debug::unordered_map::erase(),
	__debug::unordered_multimap::erase()): Likewise.
	* include/debug/unordered_set (__debug::unordered_set::erase(),
	__debug::unordered_multiset::erase()): Likewise.
	* testsuite/23_containers/unordered_set/56267-2.cc: New test.

From-SVN: r206834
2014-01-20 15:49:39 +00:00
Tim Shen 053eb1f31e regex_compiler.h (_Comipler<>::_M_quantifier()): Fix parse error of multiple consecutive quantifiers like "a**".
2014-01-19  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
	Fix parse error of multiple consecutive quantifiers like "a**".
	* include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
	Likewise.
	* testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.

From-SVN: r206783
2014-01-19 21:59:20 +00:00
François Dumont 1bb59e05ad hashtable_policy.h: Fix some long lines.
2014-01-15  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h: Fix some long lines.
	* include/bits/hashtable.h (__hash_code_base_access): Define and
	use it to check its _M_bucket_index noexcept qualification. Use
	also in place of...
	(__access_protected_ctor): ...this.
	* testsuite/23_containers/unordered_set/instantiation_neg.cc:
	Adapt line number.
	* testsuite/23_containers/unordered_set/
	not_default_constructible_hash_neg.cc: Likewise.

From-SVN: r206632
2014-01-15 16:53:02 +00:00
François Dumont ace295afeb stl_vector.h (std::vector<>::_M_move_assign): Pass *this allocator instance when building temporary vector instance so that...
2014-01-08  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
	*this allocator instance when building temporary vector instance
	so that *this allocator does not get moved.
	* include/debug/safe_base.h
	(_Safe_sequence_base(_Safe_sequence_base&&)): New.
	* include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
	move constructor from _Safe_sequence_base.
	(__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
	safe iterators if the instance is moved.
	(__gnu_debug::vector<>::operator=(vector&&)): Likewise.
	* testsuite/23_containers/vector/allocator/move.cc (test01): Add
	check on a vector iterator.
	* testsuite/23_containers/vector/allocator/move_assign.cc
	(test02): Likewise.
	(test03): New, test with a non-propagating allocator.
	* testsuite/23_containers/vector/debug/move_assign_neg.cc: New.

From-SVN: r206444
2014-01-08 20:57:57 +00:00
Tim Shen f43cc2a68d regex_compiler.h (_AnyMatcher<>::_AnyMatcher(), [...]): Fix _AnyMatcher behavior of POSIX style and move _M_flags to template parameter...
2014-01-07  Tim Shen  <timshen91@gmail.com>

	* include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
	_AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
	_CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
	_BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
	_BracketMatcher<>::_M_add_char(),
	_BracketMatcher<>::_M_add_collating_element(),
	_BracketMatcher<>::_M_add_equivalence_class(),
	_BracketMatcher<>::_M_add_character_class(),
	_BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
	_BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
	Fix _AnyMatcher behavior of POSIX style and move _M_flags
	to template parameter; Add cache for _BracketMatcher. Adjust
	declarations from here...
	* include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
	imbuing a regex will trigger a recompilation to rebuild the cache.
	* include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
	_Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
	different template bool parameters.
	* include/bits/regex_executor.h: Remove unnecessary declarations.
	* include/std/regex: Adjust including orders.
	* testsuite/28_regex/traits/char/user_defined.cc: New.
	* testsuite/28_regex/traits/wchar_t/user_defined.cc: New.

From-SVN: r206400
2014-01-07 19:17:50 +00:00
Richard Sandiford aa118a03c4 Update copyright years in libstdc++-v3/
From-SVN: r206301
2014-01-02 22:30:10 +00:00
Richard Sandiford f9030485a3 arc-common.c, [...]: Use the standard form for the copyright notice.
gcc/
	* common/config/arc/arc-common.c, config/arc/arc-modes.def,
	config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
	config/arc/arc.md, config/arc/arc.opt, config/arm/arm_neon_builtins.def,
	config/arm/crypto.def, config/i386/avx512cdintrin.h,
	config/i386/avx512erintrin.h, config/i386/avx512fintrin.h,
	config/i386/avx512pfintrin.h, config/i386/btver2.md,
	config/i386/shaintrin.h, config/i386/slm.md, config/linux-protos.h,
	config/linux.c, config/winnt-c.c, diagnostic-color.c,
	diagnostic-color.h, gimple-ssa-isolate-paths.c, vtable-verify.c,
	vtable-verify.h: Use the standard form for the copyright notice.

gcc/c-family/
	* array-notation-common.c, c-cilkplus.c: Use the standard form for
	the copyright notice.

gcc/c/
	* c-array-notation.c: Use the standard form for the copyright notice.

gcc/cp/
	* cp-array-notation.c, cp-cilkplus.c, vtable-class-hierarchy.c: Use
	the standard form for the copyright notice.

gcc/testsuite/
	* gcc.target/arc/arc.exp: Use the standard form for the copyright
	notice.

libgcc/
	* config/arc/asm.h, config/arc/crtg.S, config/arc/crtgend.S,
	config/arc/crti.S, config/arc/crtn.S, config/arc/divtab-arc700.c,
	config/arc/dp-hack.h, config/arc/fp-hack.h,
	config/arc/ieee-754/adddf3.S, config/arc/ieee-754/addsf3.S,
	config/arc/ieee-754/arc600-dsp/divdf3.S,
	config/arc/ieee-754/arc600-dsp/divsf3.S,
	config/arc/ieee-754/arc600-dsp/muldf3.S,
	config/arc/ieee-754/arc600-dsp/mulsf3.S,
	config/arc/ieee-754/arc600-mul64/divdf3.S,
	config/arc/ieee-754/arc600-mul64/divsf3.S,
	config/arc/ieee-754/arc600-mul64/muldf3.S,
	config/arc/ieee-754/arc600-mul64/mulsf3.S,
	config/arc/ieee-754/arc600/divsf3.S,
	config/arc/ieee-754/arc600/mulsf3.S,
	config/arc/ieee-754/divdf3.S, config/arc/ieee-754/divsf3-stdmul.S,
	config/arc/ieee-754/divsf3.S, config/arc/ieee-754/divtab-arc-df.c,
	config/arc/ieee-754/divtab-arc-sf.c, config/arc/ieee-754/eqdf2.S,
	config/arc/ieee-754/eqsf2.S, config/arc/ieee-754/extendsfdf2.S,
	config/arc/ieee-754/fixdfsi.S, config/arc/ieee-754/fixsfsi.S,
	config/arc/ieee-754/fixunsdfsi.S, config/arc/ieee-754/floatsidf.S,
	config/arc/ieee-754/floatsisf.S, config/arc/ieee-754/floatunsidf.S,
	config/arc/ieee-754/gedf2.S, config/arc/ieee-754/gesf2.S,
	config/arc/ieee-754/gtdf2.S, config/arc/ieee-754/gtsf2.S,
	config/arc/ieee-754/muldf3.S, config/arc/ieee-754/mulsf3.S,
	config/arc/ieee-754/orddf2.S, config/arc/ieee-754/ordsf2.S,
	config/arc/ieee-754/truncdfsf2.S, config/arc/ieee-754/uneqdf2.S,
	config/arc/ieee-754/uneqsf2.S, config/arc/initfini.c,
	config/arc/lib1funcs.S, config/arc/t-arc, config/arc/t-arc-newlib,
	config/cris/umulsidi3.S, config/msp430/cmpsi2.S,
	config/msp430/epilogue.S, config/msp430/lib2bitcountHI.c,
	config/msp430/lib2divHI.c, config/msp430/lib2divQI.c,
	config/msp430/lib2divSI.c, config/msp430/lib2mul.c,
	config/msp430/msp430-divmod.h, config/msp430/msp430-mul.h,
	config/msp430/slli.S, config/msp430/srai.S, config/msp430/srli.S,
	config/rl78/divmodhi.S, config/rl78/divmodqi.S, config/rl78/divmodsi.S,
	config/rl78/signbit.S, vtv_end.c, vtv_end_preinit.c, vtv_start.c,
	vtv_start_preinit.c: Use the standard form for the copyright notice.

libgomp/
	* hashtab.h: Use the standard form for the copyright notice.

libstdc++-v3/
	* testsuite/18_support/new_handler.cc,
	testsuite/18_support/terminate_handler.cc,
	testsuite/18_support/unexpected_handler.cc: Use the standard form for
	the copyright notice.

From-SVN: r206288
2014-01-02 22:09:02 +00:00
Hans-Peter Nilsson ca9431f7fe chi2_quality.h: Break out from chi2_quality.cc.
* testsuite/20_util/hash/chi2_quality.h: Break out from
	chi2_quality.cc.
	* testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Ditto.
	* testsuite/20_util/hash/chi2_q_document_words.cc: Ditto.
	* testsuite/20_util/hash/chi2_q_bit_string_set.cc: Ditto.  Increase
	SAMPLES to 35000 for simulator targets.
	* testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Ditto.
	* testsuite/20_util/hash/chi2_q_uniform_random.cc: Ditto.
	* testsuite/20_util/hash/chi2_quality.cc: Remove.

From-SVN: r206167
2013-12-22 14:57:53 +00:00
Paolo Carlini a0d026d943 value.cc: Add test.
2013-12-10  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/20_util/is_base_of/value.cc: Add test.

	* include/std/fstream: Tiny formatting tweak.

From-SVN: r205851
2013-12-10 09:48:50 +00:00
Paolo Carlini 03fd2f6092 re PR libstdc++/59427 (Opening with ios::in | ios::app does not allow appending)
2013-12-09  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/59427
	* include/bits/fstream.tcc (basic_filebuf<>::overflow,
	basic_filebuf<>::xsputn): Per lwg/596, ios_base::app implies
	ios_base:out.
	* include/std/fstream (basic_filebuf<>::_M_set_buffer): Likewise.
	* testsuite/27_io/basic_filebuf/sputc/char/59427.cc: New.
	* testsuite/27_io/basic_filebuf/sputn/char/59427.cc: Likewise.

From-SVN: r205837
2013-12-09 23:02:18 +00:00
Renlin Li c38114079b chi2_quality.cc: Change -DSAMPLES=30000.
libstdc++-v3/

	* testsuite/20_util/hash/chi2_quality.cc: Change -DSAMPLES=30000.

From-SVN: r205810
2013-12-09 17:23:50 +00:00
Jonathan Wakely da18dcc133 * testsuite/30_threads/async/async.cc: Fix race condition in test.
From-SVN: r205795
2013-12-08 22:18:19 +00:00
Paolo Carlini ae29d0253f explicit_instantiation.cc: New.
2013-12-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/20_util/add_const/requirements/explicit_instantiation.cc:
	New.
	* testsuite/20_util/add_const/value.cc: Likewise.
	* testsuite/20_util/add_cv/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/add_cv/value.cc: Likewise.
	* testsuite/20_util/add_pointer/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/add_pointer/value.cc: Likewise.
	* testsuite/20_util/add_volatile/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/add_volatile/value.cc: Likewise.
	* testsuite/20_util/alignment_of/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/alignment_of/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/alignment_of/value.cc: Likewise.
	* testsuite/20_util/extent/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/extent/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/extent/value.cc: Likewise.
	* testsuite/20_util/has_virtual_destructor/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/has_virtual_destructor/requirements/
	typedefs.cc: Likewise.
	* testsuite/20_util/has_virtual_destructor/value.cc: Likewise.
	* testsuite/20_util/is_abstract/requirements/explicit_instantiation.cc:
 	Likewise.
	* testsuite/20_util/is_abstract/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_abstract/value.cc: Likewise.
	* testsuite/20_util/is_arithmetic/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_arithmetic/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_arithmetic/value.cc: Likewise.
	* testsuite/20_util/is_array/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/is_array/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_array/value.cc: Likewise.
	* testsuite/20_util/is_base_of/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/is_base_of/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_base_of/value.cc: Likewise.
	* testsuite/20_util/is_class/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/is_class/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_class/value.cc: Likewise.
	* testsuite/20_util/is_const/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/is_const/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_const/value.cc: Likewise.
	* testsuite/20_util/is_empty/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/is_empty/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_empty/value.cc: Likewise.
	* testsuite/20_util/is_enum/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/is_enum/requirements/typedefs.cc
	* testsuite/20_util/is_enum/value.cc: Likewise.
	* testsuite/20_util/is_pointer/requirements/explicit_instantiation.cc
	* testsuite/20_util/is_pointer/value.cc: Likewise.
	* testsuite/20_util/is_polymorphic/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_polymorphic/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_polymorphic/value.cc: Likewise.
	* testsuite/20_util/is_same/requirements/explicit_instantiation.cc
	* testsuite/20_util/is_same/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_same/value.cc: Likewise.
	* testsuite/20_util/is_union/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_union/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_union/value.cc: Likewise.
	* testsuite/20_util/is_void/requirements/explicit_instantiation.cc
	* testsuite/20_util/is_void/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_void/value.cc: Likewise.
	* testsuite/20_util/is_volatile/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_volatile/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_volatile/value.cc: Likewise.
	* testsuite/20_util/rank/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/rank/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/rank/value.cc: Likewise.
	* testsuite/20_util/remove_all_extents/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/remove_all_extents/value.cc: Likewise.
	* testsuite/20_util/remove_const/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/remove_const/value.cc: Likewise.
	* testsuite/20_util/remove_cv/requirements/explicit_instantiation.cc:
	Likewise.
	* testsuite/20_util/remove_cv/value.cc: Likewise.
	* testsuite/20_util/remove_extent/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/remove_extent/value.cc: Likewise.
	* testsuite/20_util/remove_pointer/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/remove_pointer/value.cc: Likewise.
	* testsuite/20_util/remove_volatile/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/remove_volatile/value.cc: Likewise.

From-SVN: r205789
2013-12-08 09:44:48 +00:00
Paolo Carlini 44916fe15f testsuite_tr1.h (test_category, [...]): constexpr in c++11 mode.
2013-12-06  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/util/testsuite_tr1.h (test_category, test_property,
	test_relationship): constexpr in c++11 mode.
	* testsuite/20_util/add_lvalue_reference/value.cc: Use static_assert
	and change to dg-do compile testcase.
	* testsuite/20_util/add_rvalue_reference/value.cc: Likewise.
	* testsuite/20_util/aligned_storage/value.cc: Likewise.
	* testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
	* testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
	* testsuite/20_util/has_trivial_default_constructor/value.cc: Likewise.
	* testsuite/20_util/is_compound/value.cc: Likewise.
	* testsuite/20_util/is_constructible/value.cc: Likewise.
	* testsuite/20_util/is_convertible/value.cc: Likewise.
	* testsuite/20_util/is_copy_assignable/value.cc: Likewise.
	* testsuite/20_util/is_copy_constructible/value.cc: Likewise.
	* testsuite/20_util/is_floating_point/value.cc: Likewise.
	* testsuite/20_util/is_function/value.cc: Likewise.
	* testsuite/20_util/is_fundamental/value.cc: Likewise.
	* testsuite/20_util/is_integral/value.cc: Likewise.
	* testsuite/20_util/is_literal_type/value.cc: Likewise.
	* testsuite/20_util/is_lvalue_reference/value.cc: Likewise.
	* testsuite/20_util/is_member_function_pointer/value.cc: Likewise.
	* testsuite/20_util/is_member_object_pointer/value.cc: Likewise.
	* testsuite/20_util/is_member_pointer/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_assignable/value.cc: Likewise.
	* testsuite/20_util/is_nothrow_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_default_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/is_null_pointer/value.cc: Likewise.
	* testsuite/20_util/is_object/value.cc: Likewise.
	* testsuite/20_util/is_pod/value.cc: Likewise.
	* testsuite/20_util/is_reference/value.cc: Likewise.
	* testsuite/20_util/is_rvalue_reference/value.cc: Likewise.
	* testsuite/20_util/is_scalar/value.cc: Likewise.
	* testsuite/20_util/is_signed/value.cc: Likewise.
	* testsuite/20_util/is_standard_layout/value.cc: Likewise.
	* testsuite/20_util/is_trivial/value.cc: Likewise.
	* testsuite/20_util/is_trivially_destructible/value.cc: Likewise.
	* testsuite/20_util/is_unsigned/value.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Likewise.
	* testsuite/20_util/make_unsigned/requirements/typedefs-2.cc: Likewise.
	* testsuite/20_util/remove_reference/value.cc: Likewise.

From-SVN: r205766
2013-12-06 23:08:41 +00:00
Rainer Orth 0fe530b6f0 Fix ext/random/hypergeometric_distribution/operators/values.cc on Solaris 9
* testsuite/ext/random/hypergeometric_distribution/operators/values.cc:
	Use dg-require-cmath instead.

From-SVN: r205450
2013-11-27 16:15:35 +00:00
Rainer Orth 3745a526d6 Fix ext/random/hypergeometric_distribution/operators/values.cc on Solaris 9
* testsuite/ext/random/hypergeometric_distribution/operators/values.cc
	(test01): Wrap in _GLIBCXX_USE_C99_MATH_TR1.

From-SVN: r205446
2013-11-27 15:15:23 +00:00
Jakub Jelinek 4e1a156d8f Makefile.am (check_DEJAGNU_normal_targets): Add 10.
* testsuite/Makefile.am (check_DEJAGNU_normal_targets): Add 10.
	(check-DEJAGNU): Add normal10, run 28_regex/[ab]*
	tests as another separate job.
	* testsuite/Makefile.in: Regenerated.

From-SVN: r205286
2013-11-22 21:38:59 +01:00
Jonathan Wakely 237c8b9d2f re PR libstdc++/59247 (Bootstrap fails due to errors in libstdc++ sources with `--enable-symvers=gnu-versioned-namespace')
PR libstdc++/59247
	* include/bits/c++config (_GLIBCXX_INLINE_VERSION): Declare namespace
	std::experimental::__7 as inline.
	* include/bits/regex.h (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Do not
	enclose namespace __detail.
	* include/bits/regex.tcc (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Likewise.
	* include/std/iomanip (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Likewise.
	* include/ext/pb_ds/tag_and_trait.hpp (detail): Fix comment.
	* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.

From-SVN: r205277
2013-11-22 16:59:25 +00:00
Paolo Carlini 72fd36d76a values.cc: Fix further thinkos.
2013-11-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/ext/random/hypergeometric_distribution/operators/
	values.cc: Fix further thinkos.

From-SVN: r205249
2013-11-22 10:19:46 +00:00
Paolo Carlini 8a1c51c49a values.cc: Fix thinkos.
2013-11-22  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/ext/random/hypergeometric_distribution/operators/
	values.cc: Fix thinkos.

From-SVN: r205248
2013-11-22 10:08:39 +00:00
Edward Smith-Rowland 32f9be169c string_view: Rep empty string with unit-length static constexpr string.
2013-11-21  Edward Smith-Rowland  <3dw4rd@verizon.net>

	* include/experimental/string_view: Rep empty string with unit-length
	static constexpr string. Uncomment _GLIBCXX_VISIBILITY. Enforce
	invariant of no nullptr string pointer.
	* include/experimental/string_view.tcc: Ditto.
	* testsuite/experimental/string_view/cons/char/1.cc: data() for empty
	string_view is no longer nullptr.
	* testsuite/experimental/string_view/cons/wchar_t/1.cc: Ditto.
	* testsuite/experimental/string_view/operations/data/char/1.cc: Ditto.
	* testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
	Ditto.

From-SVN: r205213
2013-11-21 12:30:37 +00:00
Edward Smith-Rowland d2ae7b11b5 Implement __gnu_cxx::hypergeometric_distribution.
2013-11-21  Edward Smith-Rowland  <3dw4rd@verizon.net>

	Implement __gnu_cxx::hypergeometric_distribution.
	* include/ext/random: Add hypergeometric_distribution.
	* include/ext/random.tcc: Add hypergeometric_distribution.
	* testsuite/util/testsuite_random.h (hypergeometric_pdf): New pdf
	for the hypergeometric discreet distribution;
	(lbincoef): New supporting function for binomial coefficients.
	* testsuite/ext/random/hypergeometric_distribution/operators/
	serialize.cc: New.
	* testsuite/ext/random/hypergeometric_distribution/operators/
	equal.cc: New.
	* testsuite/ext/random/hypergeometric_distribution/operators/
	inequal.cc: New.
	* testsuite/ext/random/hypergeometric_distribution/operators/
	values.cc: New.
	* testsuite/ext/random/hypergeometric_distribution/cons/parms.cc: New.
	* testsuite/ext/random/hypergeometric_distribution/cons/default.cc: New.
	* testsuite/ext/random/hypergeometric_distribution/requirements/
	explicit_instantiation/1.cc: New.
	* testsuite/ext/random/hypergeometric_distribution/requirements/
	typedefs.cc: New.

From-SVN: r205212
2013-11-21 12:27:02 +00:00
Jonathan Wakely f2f08be7ea re PR libstdc++/49204 ([C++0x] remaining issues in <future>)
PR libstdc++/49204
	* include/std/future (__future_base::_State_base): Rename to
	__future_base::_State_baseV2.
	(__future_base::_State_baseV2::~_State_baseV2): Define as defaulted.
	(__future_base::_State_baseV2::_M_run_deferred): Rename to
	_M_complete_async.
	(__future_base::_State_baseV2::_M_has_deferred): Add new virtual.
	(__future_base::_State_baseV2::wait_for): Call _M_has_deferred() to
	test for a deferred function, or call _M_complete_async() to join an
	async thread that has made the shared state ready.
	(__future_base::_State_baseV2::wait_until): Likewise.
	(__future_base::_Async_state_common): Rename to _Async_state_commonV2.
	(__future_base::_Async_state_commonV2::_M_run_deferred): Rename to
	_M_complete_async.
	* src/c++11/compatibility-thread-c++0x.cc (__future_base::_State_base):
	Export old definition.
	(__future_base::_Async_state_common): Likewise.
	* src/c++11/future.cc (__future_base::_State_base::~_State_base):
	Remove.
	* doc/xml/manual/status_cxx2011.xml: Update status.
	* testsuite/30_threads/async/async.cc: Test future_status::timeout
	and future_status::ready.
	* testsuite/30_threads/async/sync.cc: Test future_status::deferred.

From-SVN: r205144
2013-11-20 20:59:19 +00:00
David Edelsohn eb7bdcb027 * testsuite/17_intro/static.cc: Ignore AIX TOC reload warnings.
From-SVN: r205087
2013-11-19 23:38:14 -05:00
Jonathan Wakely 3c8bceb13e gnu.ver (_ZNSt11regex_errorC*): Export regex_error constructors.
* config/abi/pre/gnu.ver (_ZNSt11regex_errorC*): Export regex_error
	constructors.
	* testsuite/20_util/addressof/1.cc: Remove { dg-do compile }.
	* testsuite/20_util/allocator_traits/members/destroy.cc: Likewise.
	* testsuite/20_util/allocator_traits/members/select.cc: Likewise. Fix
	failure.
	* testsuite/28_regex/basic_regex/ctors/extended/cstring.cc: Likewise.
	* testsuite/28_regex/init-list.cc: Likewise.
	* testsuite/28_regex/regex_error/regex_error.cc: Likewise.
	* testsuite/28_regex/sub_match/length.cc: Likewise. Add main.
	* testsuite/28_regex/sub_match/cast_char.cc: Likewise. Fix test.
	* testsuite/28_regex/sub_match/cast_wchar_t.cc: Likewise.
	* testsuite/tr1/7_regular_expressions/regex/cons/char/
	c_string_extended.cc: Delete.

From-SVN: r205063
2013-11-19 23:22:26 +00:00
Jonathan Wakely 50875e80e1 noexcept.cc: Change to compile-only test.
* testsuite/23_containers/forward_list/allocator/noexcept.cc: Change
	to compile-only test. Adjust swap overload to handle rebound
	allocators.
	* testsuite/23_containers/map/allocator/noexcept.cc: Likewise.
	* testsuite/23_containers/multimap/allocator/noexcept.cc: Likewise.
	* testsuite/23_containers/multiset/allocator/noexcept.cc: Likewise.
	* testsuite/23_containers/set/allocator/noexcept.cc: Likewise.
	* testsuite/23_containers/unordered_map/allocator/noexcept.cc:
	Likewise.
	* testsuite/23_containers/unordered_multimap/allocator/noexcept.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/allocator/noexcept.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/allocator/noexcept.cc:
	Likewise.
	* testsuite/23_containers/vector/allocator/noexcept.cc: Likewise.
	* testsuite/23_containers/vector/allocator/swap.cc: Add elements
	before swapping.

From-SVN: r205056
2013-11-19 22:03:30 +00:00
Paolo Carlini 660dca797a string_view (_S_max_size): Remove.
2013-11-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/experimental/string_view (_S_max_size): Remove.
	(basic_string_view<>::max_size): Adjust.
	* testsuite/experimental/string_view/capacity/1.cc: Clean-up.
	* testsuite/experimental/string_view/inserters/pod/10081-out.cc:
	Likewise.

From-SVN: r205033
2013-11-19 15:45:15 +00:00
Jonathan Wakely ad098ad133 shared_ptr_base.h (_Sp_counted_base<_S_single>): Use non-atomic operations.
* include/bits/shared_ptr_base.h (_Sp_counted_base<_S_single>): Use
	non-atomic operations.
	* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
	* testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.

From-SVN: r204949
2013-11-18 13:52:39 +00:00
François Dumont 6c21c6d0f5 55043.cc (equal): Add missing & on rhs parameter.
2013-11-16  François Dumont  <fdumont@gcc.gnu.org>

	* testsuite/23_containers/unordered_set/55043.cc (equal): Add
	missing & on rhs parameter.

From-SVN: r204906
2013-11-16 20:17:50 +00:00
Edward Smith-Rowland 77cba5af77 Implement N3762 string_view: a non-owning reference to a string.
2013-11-16  Edward Smith-Rowland  <3dw4rd@verizon.net>

	Implement N3762 string_view: a non-owning reference to a string.
	* include/Makefile.am: Add string_view and string_view.tcc.
	* include/Makefile.in: Regenerate.
	* include/experimental/string_view: Implement basic_string_view.
	* include/experimental/string_view.tcc: Implement basic_string_view.
	* testsuite/experimental/string_view/capacity/1.cc: New.
	* testsuite/experimental/string_view/cons/char/1.cc: New.
	* testsuite/experimental/string_view/cons/char/2.cc: New.
	* testsuite/experimental/string_view/cons/char/3.cc: New.
	* testsuite/experimental/string_view/cons/wchar_t/1.cc: New.
	* testsuite/experimental/string_view/cons/wchar_t/2.cc: New.
	* testsuite/experimental/string_view/cons/wchar_t/3.cc: New.
	* testsuite/experimental/string_view/element_access/char/1.cc: New.
	* testsuite/experimental/string_view/element_access/char/2.cc: New.
	* testsuite/experimental/string_view/element_access/char/empty.cc: New.
	* testsuite/experimental/string_view/element_access/char/front_back.cc:
	New.
	* testsuite/experimental/string_view/element_access/wchar_t/1.cc: New.
	* testsuite/experimental/string_view/element_access/wchar_t/2.cc: New.
	* testsuite/experimental/string_view/element_access/wchar_t/empty.cc:
	New.
	* testsuite/experimental/string_view/element_access/wchar_t/
	front_back.cc: New.
	* testsuite/experimental/string_view/include.cc: New.
	* testsuite/experimental/string_view/inserters/char/1.cc: New.
	* testsuite/experimental/string_view/inserters/char/2.cc: New.
	* testsuite/experimental/string_view/inserters/char/3.cc: New.
	* testsuite/experimental/string_view/inserters/pod/10081-out.cc: New.
	* testsuite/experimental/string_view/inserters/wchar_t/1.cc: New.
	* testsuite/experimental/string_view/inserters/wchar_t/2.cc: New.
	* testsuite/experimental/string_view/inserters/wchar_t/3.cc: New.
	* testsuite/experimental/string_view/literals/types.cc: New.
	* testsuite/experimental/string_view/literals/values.cc: New.
	* testsuite/experimental/string_view/modifiers/remove_prefix/char/1.cc:
	New.
	* testsuite/experimental/string_view/modifiers/remove_prefix/wchar_t/
	1.cc: New.
	* testsuite/experimental/string_view/modifiers/remove_suffix/char/1.cc:
	New.
	* testsuite/experimental/string_view/modifiers/remove_suffix/wchar_t/
	1.cc: New.
	* testsuite/experimental/string_view/operations/compare/char/1.cc: New.
	* testsuite/experimental/string_view/operations/compare/char/13650.cc:
	New.
	* testsuite/experimental/string_view/operations/compare/wchar_t/1.cc:
	New.
	* testsuite/experimental/string_view/operations/compare/wchar_t/
	13650.cc: New.
	* testsuite/experimental/string_view/operations/data/char/1.cc: New.
	* testsuite/experimental/string_view/operations/data/wchar_t/1.cc: New.
	* testsuite/experimental/string_view/operations/find/char/1.cc: New.
	* testsuite/experimental/string_view/operations/find/char/2.cc: New.
	* testsuite/experimental/string_view/operations/find/char/3.cc: New.
	* testsuite/experimental/string_view/operations/find/char/4.cc: New.
	* testsuite/experimental/string_view/operations/find/wchar_t/1.cc: New.
	* testsuite/experimental/string_view/operations/find/wchar_t/2.cc: New.
	* testsuite/experimental/string_view/operations/find/wchar_t/3.cc: New.
	* testsuite/experimental/string_view/operations/find/wchar_t/4.cc: New.
	* testsuite/experimental/string_view/operations/rfind/char/1.cc: New.
	* testsuite/experimental/string_view/operations/rfind/char/2.cc: New.
	* testsuite/experimental/string_view/operations/rfind/char/3.cc: New.
	* testsuite/experimental/string_view/operations/rfind/wchar_t/1.cc: New.
	* testsuite/experimental/string_view/operations/rfind/wchar_t/2.cc: New.
	* testsuite/experimental/string_view/operations/rfind/wchar_t/3.cc: New.
	* testsuite/experimental/string_view/operations/substr/char/1.cc: New.
	* testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
	New.
	* testsuite/experimental/string_view/operators/char/2.cc: New.
	* testsuite/experimental/string_view/operators/wchar_t/2.cc: New.
	* testsuite/experimental/string_view/range_access/char/1.cc: New.
	* testsuite/experimental/string_view/range_access/wchar_t/1.cc: New.
	* testsuite/experimental/string_view/requirements/
	explicit_instantiation/1.cc: New.
	* testsuite/experimental/string_view/requirements/
	explicit_instantiation/char/1.cc: New.
	* testsuite/experimental/string_view/requirements/
	explicit_instantiation/char16_t/1.cc: New.
	* testsuite/experimental/string_view/requirements/
	explicit_instantiation/char32_t/1.cc: New.
	* testsuite/experimental/string_view/requirements/
	explicit_instantiation/wchar_t/1.cc: New.
	* testsuite/experimental/string_view/requirements/typedefs.cc: New.
	* testsuite/experimental/string_view/types/1.cc: New.

From-SVN: r204902
2013-11-16 17:44:48 +00:00
Jonathan Wakely 3aaaa651a9 stl_bvector.h (vector<bool>::emplace_back()): LWG 2187: Define.
* include/bits/stl_bvector.h (vector<bool>::emplace_back()): LWG 2187:
	Define.
	(vector<bool>::emplace()): Likewise.
	* testsuite/23_containers/vector/bool/emplace.cc: New.

From-SVN: r204851
2013-11-15 16:34:06 +00:00
Ondřej Bílka 64e1ab1168 build_hacking.xml: Fix documentation typos.
2013-11-15  Ondřej Bílka <neleai@seznam.cz>
	    Jonathan Wakely  <jwakely.gcc@gmail.com>

	* doc/xml/manual/build_hacking.xml: Fix documentation typos.
	* doc/xml/manual/configure.xml: Likewise.
	* include/bits/atomic_base.h: Fix typos in comments.
	* include/bits/random.h: Likewise.
	* include/ext/cast.h: Likewise.
	* libsupc++/cxxabi.h: Likewise.
	* testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Likewise.
	* testsuite/tr1/5_numerical_facilities/special_functions/testcase.h:
	Likewise.
	* testsuite/util/exception/safety.h: Likewise.
	* testsuite/util/testsuite_containers.h: Likewise.
	* testsuite/util/testsuite_hooks.cc: Likewise.

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

From-SVN: r204850
2013-11-15 16:33:59 +00:00
Jonathan Wakely ff90a89e48 stl_map.h (map): Implement C++11 allocator-aware container requirements.
* include/bits/stl_map.h (map): Implement C++11 allocator-aware
	container requirements.
	* include/bits/stl_multimap.h (multimap): Likewise.
	* include/bits/stl_multiset.h (multiset): Likewise.
	* include/bits/stl_set.h (set): Likewise.
	* include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_buffer and
	add accessors for value.
	(_Rb_tree_iterator, _Rb_tree_const_iterator): Use _Rb_tree_node
	accessors.
	(_Rb_tree): Use allocator_traits and implement support for sets and
	maps the be allocator-aware.
	* include/bits/forward_list.h (_Fwd_list_base::_M_create_node): Do
	not zero-initialize storage buffer.
	* include/bits/hashtable_policy.h (_Hashtable_alloc::_M_allocate_node):
	Likewise.
	* include/bits/stl_vector.h (vector(vector&&, const allocator_type&)):
	Add conditional noexcept specification.
	* doc/xml/manual/status_cxx2011.xml: Update status of containers.
	* testsuite/util/testsuite_allocator.h: Re-indent.
	* testsuite/23_containers/forward_list/allocator/copy.cc: Test
	allocator-extended copy constructor.
	* testsuite/23_containers/unordered_map/allocator/copy.cc: Likewise.
	* testsuite/23_containers/unordered_multimap/allocator/copy.cc:
	Likewise.
	* testsuite/23_containers/unordered_multiset/allocator/copy.cc:
	Likewise.
	* testsuite/23_containers/unordered_set/allocator/copy.cc: Likewise.
	* testsuite/23_containers/vector/allocator/copy.cc: Likewise.
	* testsuite/23_containers/forward_list/allocator/move.cc: New.
	* testsuite/23_containers/unordered_map/allocator/move.cc: New.
	* testsuite/23_containers/unordered_multimap/allocator/move.cc: New.
	* testsuite/23_containers/unordered_multiset/allocator/move.cc: New.
	* testsuite/23_containers/unordered_set/allocator/move.cc: New.
	* testsuite/23_containers/vector/allocator/move.cc: New.
	* testsuite/23_containers/map/allocator/copy.cc: New.
	* testsuite/23_containers/map/allocator/copy_assign.cc: New.
	* testsuite/23_containers/map/allocator/minimal.cc: New.
	* testsuite/23_containers/map/allocator/move.cc: New.
	* testsuite/23_containers/map/allocator/move_assign.cc: New.
	* testsuite/23_containers/map/allocator/noexcept.cc: New.
	* testsuite/23_containers/map/allocator/swap.cc: New.
	* testsuite/23_containers/multimap/allocator/copy.cc: New.
	* testsuite/23_containers/multimap/allocator/copy_assign.cc: New.
	* testsuite/23_containers/multimap/allocator/minimal.cc: New.
	* testsuite/23_containers/multimap/allocator/move.cc: New.
	* testsuite/23_containers/multimap/allocator/move_assign.cc: New.
	* testsuite/23_containers/multimap/allocator/noexcept.cc: New.
	* testsuite/23_containers/multimap/allocator/swap.cc: New.
	* testsuite/23_containers/multiset/allocator/copy.cc: New.
	* testsuite/23_containers/multiset/allocator/copy_assign.cc: New.
	* testsuite/23_containers/multiset/allocator/minimal.cc: New.
	* testsuite/23_containers/multiset/allocator/move.cc: New.
	* testsuite/23_containers/multiset/allocator/move_assign.cc: New.
	* testsuite/23_containers/multiset/allocator/noexcept.cc: New.
	* testsuite/23_containers/multiset/allocator/swap.cc: New.
	* testsuite/23_containers/set/allocator/copy.cc: New.
	* testsuite/23_containers/set/allocator/copy_assign.cc: New.
	* testsuite/23_containers/set/allocator/minimal.cc: New.
	* testsuite/23_containers/set/allocator/move.cc: New.
	* testsuite/23_containers/set/allocator/move_assign.cc: New.
	* testsuite/23_containers/set/allocator/noexcept.cc: New.
	* testsuite/23_containers/set/allocator/swap.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: r204848
2013-11-15 15:34:14 +00:00
Jonathan Wakely 8ed13e2757 alloc_traits.h (__allow_copy_cons): Remove.
* include/bits/alloc_traits.h (__allow_copy_cons): Remove.
	(__check_copy_constructible): Likewise.
	* include/bits/unordered_map.h (unordered_map, unordered_multimap):
	Do not derive from __check_copy_constructible.
	* include/bits/unordered_set.h (unordered_set, unordered_multiset):
	Likewise.
	* testsuite/23_containers/unordered_map/55043.cc: It is no longer
	necessary for is_copy_constructible to be correct to use nested
	unordered containers.
	* testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
	* testsuite/23_containers/unordered_set/55043.cc: Likewise.
	* testsuite/23_containers/unordered_multiset/55043.cc: Likewise.

From-SVN: r204790
2013-11-14 12:43:00 +00:00
Jonathan Wakely 5275f3e546 re PR libstdc++/58982 (std::vector<std::atomic<int>> vai(10); does not compile anymore)
PR libstdc++/58982
	* include/bits/stl_algobase.h (__copy_move::__copy_m): Use assertion
	to prevent using memmove() on non-assignable types.
	(__copy_move_backward::__copy_move_b): Likewise.
	* include/bits/stl_uninitialized.h (uninitialized_copy
	uninitialized_copy_n, uninitialized_fill, uninitialized_fill_n,
	__uninitialized_default, __uninitialized_default_n): Check for
	assignable as well as trivial.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy/
	58982.cc: New.
	* testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
	58982.cc: New.
	* testsuite/20_util/specialized_algorithms/uninitialized_fill/
	58982.cc: New.
	* testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
	58982.cc: New.
	* testsuite/25_algorithms/copy/58982.cc: New.
	* testsuite/25_algorithms/copy_n/58982.cc: New.

From-SVN: r204615
2013-11-09 12:38:00 +00:00
Jonathan Wakely 4457e88ce1 N3655 C++1y TransformationTraits Redux
N3655 C++1y TransformationTraits Redux
	* include/std/type_traits (remove_const_t, remove_volatile_t,
	remove_cv_t, add_const_t, add_volatile_t, add_cv_t, remove_reference_t,
	add_lvalue_reference_t, add_rvalue_reference_t, make_signed_t,
	make_unsigned_t, remove_extent_t, remove_all_extents_t,
	remove_pointer_t, add_pointer_t, aligned_storage_t, decay_t,
	enable_if_t, conditional_t, common_type_t, underlying_type_t,
	result_of_t): Define.
	* doc/xml/manual/status_cxx2014.xml: Update.
	* testsuite/20_util/add_lvalue_reference/requirements/typedefs-3.cc:
	New.
	* testsuite/20_util/add_rvalue_reference/requirements/typedefs-3.cc:
	New.
	* testsuite/20_util/common_type/requirements/typedefs-3.cc: New.
	* testsuite/20_util/conditional/requirements/typedefs-2.cc: New.
	* testsuite/20_util/decay/requirements/typedefs-2.cc: New.
	* testsuite/20_util/enable_if/requirements/typedefs-2.cc: New.
	* testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
	* testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
	* testsuite/20_util/remove_reference/requirements/typedefs.cc: New.
	* testsuite/20_util/result_of/requirements/typedefs.cc: New.
	* testsuite/20_util/underlying_type/requirements/typedefs-3.cc: New.
	* testsuite/20_util/common_type/requirements/typedefs-2.cc: Change to
	compile-only test.
	* testsuite/20_util/decay/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/make_signed/requirements/typedefs-1.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: r204426
2013-11-05 22:57:36 +00:00