mirror of git://gcc.gnu.org/git/gcc.git
226 Commits
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
188588e443 |
Implement uniform container erasure for C++20.
2018-11-28 Edward Smith-Rowland <3dw4rd@verizon.net> Implement uniform container erasure for C++20. * include/Makefile.am: Move erase_if.h. * include/Makefile.in: Move erase_if.h. * include/experimental/bits/erase_if.h: Move ... * include/bits/erase_if.h: ... here. * include/experimental/map: Move erase_if.h. * include/experimental/set: Move erase_if.h. * include/experimental/unordered_map: Move erase_if.h. * include/experimental/unordered_set: Move erase_if.h. * include/std/deque (erase_if, erase): New functions. * include/std/forward_list: Ditto. * include/std/list: Ditto. * include/std/map: Ditto. * include/std/set: Ditto. * include/std/string: Ditto. * include/std/unordered_map: Ditto. * include/std/unordered_set: Ditto. * include/std/vector: Ditto. * testsuite/21_strings/basic_string/erasure.cc: New test. * testsuite/23_containers/deque/erasure.cc: New test. * testsuite/23_containers/forward_list/erasure.cc: New test. * testsuite/23_containers/list/erasure.cc: New test. * testsuite/23_containers/map/erasure.cc: New test. * testsuite/23_containers/set/erasure.cc: New test. * testsuite/23_containers/unordered_map/erasure.cc: New test. * testsuite/23_containers/unordered_set/erasure.cc: New test. * testsuite/23_containers/vector/erasure.cc: New test. From-SVN: r266567 |
|
|
|
0321d9fac6 |
PR libstdc++/87809 avoid invalid expressions in exception specifications
If the allocator isn't default constructible then checking if the default constructor throws in an exception specification makes the declaration invalid. Use the type trait instead. PR libstdc++/87809 * include/bits/forward_list.h (_Fwd_list_impl::_Fwd_list_impl()): Use trait in exception-specification instead of possibly invalid expression. * include/bits/stl_bvector.h (_Bvector_impl::_Bvector_impl()): Likewise. * include/bits/stl_list.h (_List_impl::_List_impl()): Likewise. * include/bits/stl_vector.h (_Vector_impl::_Vector_impl()): Likewise. * testsuite/23_containers/forward_list/cons/87809.cc: New test. * testsuite/23_containers/list/cons/87809.cc: New test. * testsuite/23_containers/vector/bool/cons/87809.cc: New test. * testsuite/23_containers/vector/cons/87809.cc: New test. From-SVN: r265626 |
|
|
|
881eaae688 |
48101_neg.cc: Remove dg-prune-output 'std' from regex pattern for versioned namespace...
2018-10-28 François Dumont <fdumont@gcc.gnu.org> * testsuite/23_containers/deque/48101_neg.cc: Remove dg-prune-output 'std' from regex pattern for versioned namespace compatibility. * testsuite/23_containers/vector/48101_neg.cc: Likewise. * testsuite/27_io/filesystem/path/io/dr2989.cc: Likewise. From-SVN: r265575 |
|
|
|
0f317ef762 |
Relocation (= move+destroy)
2018-10-25 Marc Glisse <marc.glisse@inria.fr> PR libstdc++/87106 * include/bits/alloc_traits.h (_S_construct, _S_destroy, construct, destroy): Add noexcept specification. * include/bits/allocator.h (construct, destroy): Likewise. * include/ext/alloc_traits.h (construct, destroy): Likewise. * include/ext/malloc_allocator.h (construct, destroy): Likewise. * include/ext/new_allocator.h (construct, destroy): Likewise. * include/bits/stl_uninitialized.h (__relocate_object_a, __relocate_a, __relocate_a_1): New functions. (__is_trivially_relocatable): New class. * include/bits/stl_vector.h (__use_relocate): New static member. * include/bits/vector.tcc (reserve, _M_realloc_insert, _M_default_append): Use __relocate_a. (reserve, _M_assign_aux, _M_realloc_insert, _M_fill_insert, _M_default_append, _M_range_insert): Move _GLIBCXX_ASAN_ANNOTATE_REINIT after _Destroy. * testsuite/23_containers/vector/modifiers/push_back/49836.cc: Replace CopyConsOnlyType with DelAnyAssign. From-SVN: r265485 |
|
|
|
f324588755 |
Skip tests for GNU extensions when testing with strict mode
Tests for the implicit allocator rebinding extension will fail if the extension is disabled, so skip them. * testsuite/23_containers/array/requirements/explicit_instantiation/ 3.cc: Skip test when compiled with a -std=c++NN strict mode. * testsuite/23_containers/deque/requirements/explicit_instantiation/ 3.cc: Likewise. * testsuite/23_containers/forward_list/requirements/ explicit_instantiation/3.cc: Likewise. * testsuite/23_containers/list/requirements/explicit_instantiation/ 3.cc: Likewise. * testsuite/23_containers/map/requirements/explicit_instantiation/ 3.cc: Likewise. * testsuite/23_containers/multimap/requirements/explicit_instantiation/ 3.cc: Likewise. * testsuite/23_containers/multiset/requirements/explicit_instantiation/ 3.cc: Likewise. * testsuite/23_containers/set/requirements/explicit_instantiation/ 3.cc: Likewise. * testsuite/23_containers/unordered_map/requirements/ explicit_instantiation/3.cc: Likewise. * testsuite/23_containers/unordered_multimap/requirements/ explicit_instantiation/3.cc: Likewise. * testsuite/23_containers/unordered_multiset/requirements/ explicit_instantiation/3.cc: Likewise. * testsuite/23_containers/unordered_set/requirements/ explicit_instantiation/3.cc: Likewise. * testsuite/23_containers/vector/ext_pointer/explicit_instantiation/ 3.cc: Likewise. * testsuite/23_containers/vector/requirements/explicit_instantiation/ 3.cc: Likewise. From-SVN: r265334 |
|
|
|
92bab15297 |
Fix testsuite failures due to extra errors in strict dialects
When __STRICT_ANSI__ is defined the incorrect allocators used in these tests also trigger and additional static assertion. Prune those extra errors so that the tests don't fail when built with strict dialects. * testsuite/23_containers/deque/48101_neg.cc: Prune additional errors printed when __STRICT_ANSI__ is defined. * testsuite/23_containers/forward_list/48101_neg.cc: Likewise. * testsuite/23_containers/list/48101_neg.cc: Likewise. * testsuite/23_containers/multiset/48101_neg.cc: Likewise. * testsuite/23_containers/set/48101_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/48101_neg.cc: Likewise. * testsuite/23_containers/unordered_set/48101_neg.cc: Likewise. * testsuite/23_containers/vector/48101_neg.cc: Likewise. From-SVN: r265333 |
|
|
|
b57d432bdd |
Fix tests that fail when compiled without optimisation
* testsuite/20_util/duration/literals/range_neg.cc: Adjust pruned diagnostic to account for quotes around 'constexpr'. * testsuite/23_containers/deque/capacity/max_size.cc: Define static variable. * testsuite/23_containers/vector/capacity/max_size.cc: Likewise. From-SVN: r265190 |
|
|
|
422a9f7789 |
PR libstdc++/87544 limit max_size() to PTRDIFF_MAX / sizeof(T)
The C++17 standard requires the default implementation for allocator_traits::max_size to return SIZE_MAX / sizeof(value_type). That causes GCC to warn because the value could be larger than can sensibly be passed to malloc. This patch changes the new_allocator and malloc_allocator max_size() members to use PTRDIFF_MAX instead of SIZE_MAX (and because they define it, the allocator_traits default isn't used). This also changes vector::max_size to impose a sensible limit using PTRDIFF_MAX for cases where the value from the allocator or allocator_traits is not sensible. PR libstdc++/87544 * include/bits/stl_vector.h (vector::_S_max_size): Limit size to PTRDIFF_MAX / sizeof(value_type). * include/ext/malloc_allocator.h (malloc_allocator::max_size): Likewise. * include/ext/new_allocator.h (new_allocator::max_size): Likewise. * testsuite/23_containers/vector/allocator/minimal.cc: Adjust expected value for max_size(). * testsuite/23_containers/vector/capacity/87544.cc: New test. From-SVN: r265021 |
|
|
|
9ca2ac699a |
Forward declare debug containers so std::pmr aliases work
Prior to this change, including a <debug/xxx> header when _GLIBCXX_DEBUG is also defined would fail to compile in C++17 or later. The <debug/xxx> header would include the standard <xxx> header which defined std::pmr::xxx as an alias for std::xxx. But in Debug Mode std::xxx refers to std::__debug::xxx which has not been defined yet (because it is in <debug/xxx> after the inclusion of <xxx>). This adds declarations of the debug containers before including the non-Debug Mode <xxx> header, so that the std::pmr::xxx aliases work. * include/debug/deque (std::__debug::deque): Declare. * include/debug/forward_list (std::__debug::forward_list): Declare. * include/debug/list (std::__debug::list): Declare. * include/debug/map (std::__debug::map): Declare. * include/debug/set (std::__debug::set): Declare. * include/debug/unordered_map (std::__debug::unordered_map): Declare. * include/debug/unordered_set (std::__debug::unordered_set): Declare. * include/debug/vector (std::__debug::vector): Declare. * testsuite/23_containers/deque/types/pmr_typedefs_debug.cc: New test. * testsuite/23_containers/forward_list/pmr_typedefs_debug.cc: New test. * testsuite/23_containers/list/pmr_typedefs_debug.cc: New test. * testsuite/23_containers/map/pmr_typedefs_debug.cc: New test. * testsuite/23_containers/multimap/pmr_typedefs_debug.cc: New test. * testsuite/23_containers/multiset/pmr_typedefs_debug.cc: New test. * testsuite/23_containers/set/pmr_typedefs_debug.cc: New test. * testsuite/23_containers/unordered_map/pmr_typedefs_debug.cc: New test. * testsuite/23_containers/unordered_multimap/pmr_typedefs_debug.cc: New test. * testsuite/23_containers/unordered_multiset/pmr_typedefs_debug.cc: New test. * testsuite/23_containers/unordered_set/pmr_typedefs_debug.cc: New test. * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: Adjust dg-error lineno. * testsuite/23_containers/vector/types/pmr_typedefs_debug.cc: New test. From-SVN: r263839 |
|
|
|
f73a5316b6 |
Fix tests that fail in C++98 mode
* testsuite/23_containers/deque/capacity/max_size.cc: Fix test for C++98 mode. * testsuite/23_containers/deque/modifiers/assign/1.cc: Likewise. * testsuite/23_containers/list/modifiers/assign/1.cc: Likewise. * testsuite/23_containers/vector/bool/modifiers/assign/1.cc: Likewise. * testsuite/23_containers/vector/capacity/max_size.cc: Likewise. * testsuite/23_containers/vector/modifiers/assign/1.cc: Likewise. From-SVN: r263792 |
|
|
|
af55b3af33 |
PR libstdc++/78448 limit vector::max_size and deque::max_size
The container requirements imply that max_size() can't exceed the maximum value of the container's difference_type. Enforce this for std::vector and std::deque, and add checks to ensure the container doesn't grow larger than that. PR libstdc++/78448 * include/bits/deque.tcc (deque::_M_range_initialize): Use _S_check_init_len to check size. (deque::_M_push_back_aux, deque::_M_push_front_aux): Throw length error if size would exceed max_size(). * include/bits/stl_deque.h (_Deque_base::size_type): Remove typedef. (_Deque_base(_Deque_base&&, const allocator_type&, size_t)): Use size_t instead of size_type. (deq(size_type, const allocator_type&) (deq(size_type, const value_type&, const allocator_type&) (deque::_M_initialize_dispatch): Use _S_check_init_len to check size. (deque::max_size): Call _S_max_size. (deque::_S_check_init_len, deque::_S_max_size): New functions. * include/bits/stl_vector.h (vector(size_type, const allocator_type&)) (vector(size_type, const value_type&, const allocator_type&)) (vector::_M_initialize_dispatch, vector::_M_range_initialize): Use _S_check_init_len to check size. (vector::max_size): Call _S_max_size. (vector::_M_check_len): Prevent max from being expanded as a function-like macro. (vector::_S_check_init_len, vector::_S_max_size): New functions. * include/bits/vector.tcc (vector::_M_assign_aux): Use _S_check_init_len to check size. * testsuite/23_containers/deque/capacity/max_size.cc: New test. * testsuite/23_containers/vector/capacity/max_size.cc: New test. From-SVN: r263789 |
|
|
|
e9afbed0d6 |
re PR libstdc++/68222 (_Safe_iterator provides operators the wrapped iterator can't actually support)
2018-08-22 François Dumont <fdumont@gcc.gnu.org> PR libstdc++/68222 * include/debug/safe_iterator.h (_Safe_iterator<_It, _Sq, _Cat>): Add category template parameter. (_Safe_iterator<>::_Const_iterator): Remove. (_Safe_iterator<>::_IsConstant): New. (_Safe_iterator<>::_OtherIterator): New. (_Safe_iterator<_It, _Sq, _Cat>::_Safe_iterator<_MutIte>( const _Safe_iterator<_MutIte, _Sq, _Cat>&)): Add _IsConstant::__value in __gnu_cxx::__enable_if condition. (_Safe_iterator<_It, _Sq, _Cat>::_M_get_distance_to): New. (_Safe_iterator<_It, _Sq, _Cat>::_M_get_distance_from_begin): New. (_Safe_iterator<_It, _Sq, _Cat>::_M_get_distance_to_end): New. (_Safe_iterator<_It, _Sq, std::bidirectional_iterator_tag>): New. (_Safe_iterator<_It, _Sq, _Cat>::operator--()): Move... (_Safe_iterator<_It, _Sq, std::bidirectional_iterator_tag> ::operator--()): ...here. (_Safe_iterator<_It, _Sq, _Cat>::operator--(int)): Move... (_Safe_iterator<_It, _Sq, std::bidirectional_iterator_tag> ::operator--(int)): ...here. (_Safe_iterator<_It, _Sq, _Cat>::_M_decrementable()): Move... (_Safe_iterator<_It, _Sq, std::bidirectional_iterator_tag> ::_M_decrementable()): ...here. (_Safe_iterator<_It, _Sq, std::random_access_iterator_tag>): New. (_Safe_iterator<_It, _Sq, _Cat>::operator[](const difference_type&)): Move... (_Safe_iterator<_It, _Sq, std::random_access_iterator_tag> ::operator[](const difference_type&)): ...here. (_Safe_iterator<_It, _Sq, _Cat>::operator+=(const difference_type&)): Move... (_Safe_iterator<_It, _Sq, std::random_access_iterator_tag> ::operator+=(const difference_type&)): ...here. (_Safe_iterator<_It, _Sq, _Cat>::operator+(const difference_type&)): Move... (_Safe_iterator<_It, _Sq, std::random_access_iterator_tag> ::operator+(const difference_type&)): ...here. (_Safe_iterator<_It, _Sq, _Cat>::operator-=(const difference_type&)): Move... (_Safe_iterator<_It, _Sq, std::random_access_iterator_tag> ::operator-=(const difference_type&)): ...here. (_Safe_iterator<_It, _Sq, _Cat>::operator-(const difference_type&)): Move... (_Safe_iterator<_It, _Sq, std::random_access_iterator_tag> ::operator-(const difference_type&)): ...here. (operator<(const _Safe_iterator<>&, const _Safe_iterator<>&)): Constraint to random access iterators. (operator<=(const _Safe_iterator<>&, const _Safe_iterator<>&)): Likewise. (operator>(const _Safe_iterator<>&, const _Safe_iterator<>&)): Likewise. (operator>=(const _Safe_iterator<>&, const _Safe_iterator<>&)): Likewise. (operator-(const _Safe_iterator<>&, const _Safe_iterator<>&)): Likewise. (operator+(const difference_type&, const _Safe_iterator<>&)): Likewise. (__check_dereferenceable(const _Safe_iterator<>&)): Remove. (__get_distance): Remove. (__get_distance_from_begin): Remove. (__get_distance_to_end): Remove. (struct __is_safe_random_iterator<_Safe_iterator<>>): Remove partial specialization. (__base(const _Safe_iterator<>&, std::input_iterator_tag)): Remove. (__base(const _Safe_iterator<>&, std::random_access_iterator_tag)): Remove. (__base(const _Safe_iterator<>&)): Constraint to random access iterator. * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_get_distance_from_begin()): New. (_Safe_iterator<>::_M_get_distance_to_end()): New. (_Safe_iterator<>::_M_get_distance_to(const _Safe_iterator<>&)): New. (_Safe_iterator<_It, _Seq, std::random_access_iterator_tag> ::_M_valid_range): New. * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Const_local_iterator): Remove. (_Safe_local_iterator<>::_IsConstant): New. (_Safe_local_iterator<>::_OtherIterator): New. (_Safe_local_iterator<_It, _Cont>::_Safe_local_iterator<_MutIte, _Cont>( const _Safe_local_iterator<_MutIte, _Seq>&)): Add _IsConstant::__value in __gnu_cxx::__enable_if condition. If singular compare base iterator with _MutIte rather than _It. (_Safe_local_iterator<>::_S_constant): Make constexpr. (_Safe_local_iterator<>::_M_get_distance_to): New. (__check_dereferenceable(const _Safe_local_iterator<>&)): Remove. (__get_distance(const _Safe_local_iterator<>&, const _Safe_local_iterator<>&, std::input_iterator_tag)): Remove. (__valid_range(const _Safe_local_iterator<>&, const _Safe_local_iterator<>&)): New. * include/debug/safe_local_iterator.tcc (_Safe_local_iterator<>::_M_get_distance_to): New. * include/debug/deque (std::__debug::deque<>): Add ::__gnu_debug::_Safe_iterator<> friend declaration. * include/debug/forward_list (std::__debug::forward_list<>): Likewise. * include/debug/list (std::__debug::list<>): Likewise. * include/debug/map.h (std::__debug::map<>): Likewise. * include/debug/multimap.h (std::__debug::multimap<>): Likewise. * include/debug/set.h (std::__debug::set<>): Likewise. * include/debug/multiset.h (std::__debug::multiset<>): Likewise. * include/debug/string (std::__debug::basic_string<>): Likewise. * include/debug/unordered_map (std::__debug::unordered_map<>): Likewise and add ::__gnu_debug::_Safe_local_iterator<> friend declaration. (std::__debug::unordered_multimap<>): Likewise. * include/debug/unordered_set (std::__debug::unordered_set<>): Likewise. (std::__debug::unordered_multiset<>): Likewise. * include/debug/formatter.h: Adapt. * include/debug/helper_functions.h (__gnu_debug::_Safe_local_iterator<>): Add declaration. (__get_distance<_Ite>(_Ite, _Ite, std::random_access_iterator_tag): Pass parameter by copy. (__get_distance<_Ite>(_Ite, _Ite, std::input_iterator_tag): Likewise. (__get_distance<_Ite>(_Ite, _Ite): Likewise. (__valid_range_aux<_Integral>): Pass _Integral by copy. (__valid_range<_InputIterator>): Pass _InputIterator by copy. (__valid_range<>(const _Safe_iterator<>&, const _Safe_iterator<>&, typename _Distance_traits<>::__type&)): Declare. (__valid_range(const _Safe_local_iterator<>&, const _Safe_local_iterator<>&, typename _Distance_traits<>::__type&)): Declare. (__valid_range<>(const _Safe_iterator<>&, const _Safe_iterator<>&)): Declare. (__valid_range(const _Safe_local_iterator<>&, const _Safe_local_iterator<>&)): Declare. (__can_advance): Adapt. (struct __is_safe_random_iterator<>): Remove. (struct _SIter_base<>): Remove. * include/debug/functions.h: Include <bits/stl_iterator.h>. (__check_dereferenceable): Remove. (__foreign_iterator_aux4, __foreign_iterator_aux3): Adapt. (__foreign_iterator_aux2, __foreign_iterator_aux): Adapt. (__foreign_iterator): Adapt. * include/debug/stl_iterator.h (__is_safe_random_iterator<std::reverse_iterator<>>): Remove. (__base(const std::reverse_iterator<_Safe_iterator<_It, _Sq>)): Constraint for random access iterators. (__niter_base): Adapt. * testsuite/util/testsuite_containers.h: Include <bits/boost_concept_check.h>. (iterator_concept_checks<_It, _Mutable, _Category>): New. (citerator<_Cont>::forward_members::forward_members()): Instantiate latter for container iterator and const_iterator. * testsuite/23_containers/list/68222_neg.cc: New. * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: Adapt line number. * testsuite/23_containers/unordered_set/debug/debug_functions.cc: (test01): Remove. * testsuite/23_containers/vector/debug/debug_functions.cc (test01): Remove. From-SVN: r263786 |
|
|
|
1fc9d0b0e4 |
Define aliases for containers using polymorphic_allocator
These aliases are placed in the top-level header, e.g. <vector> not <bits/stl_vector.h>. This ensures that they refer to whichever of std::vector or __debug::vector or __profile::vector is in use when the header is included. * include/std/deque (std::pmr::deque): Declare alias. * include/std/forward_list (std::pmr::forward_list): Likewise. * include/std/list (std::pmr::list): Likewise. * include/std/map (std::pmr::map, std::pmr::multimap): Likewise. * include/std/regex (std::pmr::match_results, std::pmr::cmatch) (std::pmr::smatch, std::pmr::wcmatch, std::pmr::wsmatch): Likewise. * include/std/set (std::pmr::set, std::pmr::multiset): Likewise. * include/std/string (std::pmr::basic_string, std::pmr::string) (std::pmr::u16string, std::pmr::u32string, std::pmr::wstring): Likewise. * include/std/unordered_map (std::pmr::unordered_map) (std::pmr::unordered_multimap): Likewise. * include/std/unordered_set (std::pmr::unordered_set) (std::pmr::unordered_multiset): Likewise. * include/std/vector (std::pmr::vector): Likewise. * testsuite/21_strings/basic_string/types/pmr_typedefs.cc: New test. * testsuite/23_containers/deque/types/pmr_typedefs.cc: New test. * testsuite/23_containers/forward_list/pmr_typedefs.cc: New test. * testsuite/23_containers/list/pmr_typedefs.cc: New test. * testsuite/23_containers/map/pmr_typedefs.cc: New test. * testsuite/23_containers/multimap/pmr_typedefs.cc: New test. * testsuite/23_containers/multiset/pmr_typedefs.cc: New test. * testsuite/23_containers/set/pmr_typedefs.cc: New test. * testsuite/23_containers/unordered_map/pmr_typedefs.cc: New test. * testsuite/23_containers/unordered_multimap/pmr_typedefs.cc: New test. * testsuite/23_containers/unordered_multiset/pmr_typedefs.cc: New test. * testsuite/23_containers/unordered_set/pmr_typedefs.cc: New test. * testsuite/23_containers/vector/pmr_typedefs.cc: New test. * testsuite/28_regex/match_results/pmr_typedefs.cc: New test. From-SVN: r263456 |
|
|
|
2b69e93cd1 |
Remove dg-require-cstdint directive from tests
Tests for components which are no longer dependent on _GLIBCXX_USE_C99_STDINT_TR1 do not need to require <cstdint>. * testsuite/18_support/numeric_limits/char16_32_t.cc: Qualify names from namespace std. * testsuite/20_util/align/2.cc: Remove dg-require-cstdint directive. * testsuite/20_util/duration/arithmetic/1.cc: Likewise. * testsuite/20_util/duration/arithmetic/2.cc: Likewise. * testsuite/20_util/duration/arithmetic/dr2020.cc: Likewise. * testsuite/20_util/duration/arithmetic/dr934-1.cc: Likewise. * testsuite/20_util/duration/arithmetic/dr934-2.cc: Likewise. * testsuite/20_util/duration/comparison_operators/1.cc: Likewise. * testsuite/20_util/duration/cons/1.cc: Likewise. * testsuite/20_util/duration/cons/1_neg.cc: Likewise. * testsuite/20_util/duration/cons/2.cc: Likewise. * testsuite/20_util/duration/cons/54025.cc: Likewise. * testsuite/20_util/duration/cons/dr974_neg.cc: Likewise. * testsuite/20_util/duration/requirements/explicit_instantiation/ explicit_instantiation.cc: Likewise. * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise. * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise. * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise. * testsuite/20_util/make_signed/requirements/typedefs-4.cc: Likewise. * testsuite/20_util/ratio/comparisons/comp1.cc: Likewise. * testsuite/20_util/ratio/comparisons/comp2.cc: Likewise. * testsuite/20_util/ratio/comparisons/comp3.cc: Likewise. * testsuite/20_util/ratio/cons/cons1.cc: Likewise. * testsuite/20_util/ratio/operations/45866.cc: Likewise. * testsuite/20_util/ratio/operations/47913.cc: Likewise. * testsuite/20_util/ratio/operations/53840.cc: Likewise. * testsuite/20_util/ratio/operations/ops1.cc: Likewise. * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. * testsuite/20_util/system_clock/1.cc: Likewise. * testsuite/20_util/time_point/1.cc: Likewise. * testsuite/20_util/time_point/2.cc: Likewise. * testsuite/20_util/time_point/3.cc: Likewise. * testsuite/20_util/time_point/requirements/explicit_instantiation/ explicit_instantiation.cc: Likewise. * testsuite/21_strings/basic_string/requirements/ explicit_instantiation/char16_t/1.cc: Likewise. * testsuite/21_strings/basic_string/requirements/ explicit_instantiation/char32_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/requirements/ explicit_instantiation/char16_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/requirements/ explicit_instantiation/char32_t/1.cc: Likewise. * testsuite/21_strings/char_traits/requirements/ explicit_instantiation/char16_t/1.cc: Likewise. * testsuite/21_strings/char_traits/requirements/ explicit_instantiation/char32_t/1.cc: Likewise. * testsuite/21_strings/headers/string/types_std_c++0x.cc: Likewise. * testsuite/22_locale/codecvt/char16_t.cc: Likewise. * testsuite/22_locale/codecvt/char32_t.cc: Likewise. * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: Likewise. * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc: Likewise. * testsuite/22_locale/codecvt/utf8.cc: Likewise. * testsuite/23_containers/vector/bool/72847.cc: Likewise. * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise. * testsuite/experimental/string_view/requirements/ explicit_instantiation/char16_t/1.cc: Likewise. * testsuite/experimental/string_view/requirements/ explicit_instantiation/char32_t/1.cc: Likewise. * testsuite/ext/vstring/requirements/explicit_instantiation/char16_t/ 1.cc: Likewise. * testsuite/ext/vstring/requirements/explicit_instantiation/char32_t/ 1.cc: Likewise. From-SVN: r263005 |
|
|
|
e6cad9872b |
stl_vector.h (struct _Vector_base<>::_Vector_impl_data): New.
2018-06-27 François Dumont <fdumont@gcc.gnu.org> * include/bits/stl_vector.h (struct _Vector_base<>::_Vector_impl_data): New. (struct _Vector_base<>::_Vector_impl): Inherit from latter. (_Vector_base<>::_Vector_impl::_M_swap_data): Move... (_Vector_base<>::_Vector_impl_data::_M_swap_data): ...here. (_Vector_base<>::_Vector_impl()): Add noexcept qualification. (_Vector_base<>::_Vector_impl(_Vector_impl&&)): New. (_Vector_base<>::_Vector_impl(_Tp_alloc_type&&, _Vector_impl&&)): New. (_Vector_base(const allocator_type&, _Vector_base&&)): New, use latter. (_Vector_base()): Default. (_Vector_base(_Vector_base&&)): Default. (_Vector_base(size_t)) [_GLIBCXX_INLINE_VERSION]: Delete. (_Vector_base(_Tp_alloc_type&&)) [_GLIBCXX_INLINE_VERSION]: Delete. (_Vector_base::_M_create_storage(size_t)): Make protected. (vector()): Default. (vector(vector&&)): Default. (vector(vector&&, const allocator_type&, true_type)): New. (vector(vector&&, const allocator_type&, false_type)): New. (vector(vector&&, const allocator_type&)): Use latters. (vector(_InputIte, _InputIte, const allocator_type&)): Call _M_range_initialize directly. * include/debug/vector (vector(vector&&, const allocator_type&)): Add noexcept qualification. * testsuite/23_containers/vector/allocator/default_init.cc: New. * testsuite/23_containers/vector/cons/noexcept_move_construct.cc: Add static assertions. From-SVN: r262194 |
|
|
|
3685dcd7fb |
PR libstdc++/86292 fix exception safety of std::vector<InputIterator> constructor
PR libstdc++/86292 * include/bits/stl_vector.h (vector::_M_range_initialize<InputIter>): Add try-catch block. * testsuite/23_containers/vector/cons/86292.cc: New. From-SVN: r262029 |
|
|
|
4c1d999a7e |
PR libstdc++/83982 fix exception-safety guarantee of std::vector::resize
Construct new elements before moving existing ones, so that if a default constructor throws, the existing elements are not left in a moved-from state. 2018-06-14 Daniel Trebbien <dtrebbien@gmail.com> Jonathan Wakely <jwakely@redhat.com> PR libstdc++/83982 * include/bits/vector.tcc (vector::_M_default_append(size_type)): Default-construct new elements before moving existing ones. * testsuite/23_containers/vector/capacity/resize/strong_guarantee.cc: New. Co-Authored-By: Jonathan Wakely <jwakely@redhat.com> From-SVN: r261585 |
|
|
|
27db01d803 |
deque.tcc (deque<>::_M_assign_aux): Cast to void to ensure overloaded comma not used.
2018-05-02 François Dumont <fdumont@gcc.gnu.org> * include/bits/deque.tcc (deque<>::_M_assign_aux): Cast to void to ensure overloaded comma not used. * include/bits/list.tcc (list<>::_M_assign_dispatch): Likewise. * include/bits/vector.tcc (vector<>::_M_assign_aux): Likewise. * include/bits/stl_bvector.h (vector<bool>::_M_assign_aux): Likewise. * testsuite/23_containers/deque/modifiers/assign/1.cc: New. * testsuite/23_containers/list/modifiers/assign/1.cc: New. * testsuite/23_containers/vector/bool/modifiers/assign/1.cc: New. * testsuite/23_containers/vector/modifiers/assign/1.cc: New. From-SVN: r259856 |
|
|
|
5a0729f5a4 |
Fix some libstdc++ testsuite failures
* testsuite/20_util/function_objects/comparisons_pointer.cc: Use VERIFY instead of assert. * testsuite/20_util/hash/84998.cc: New test. * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: New copy of test adjusted for Debug Mode. * testsuite/23_containers/vector/cons/destructible_neg.cc: Do not run test in Debug Mode. From-SVN: r258714 |
|
|
|
85ec4feb11 |
Update copyright years.
From-SVN: r256169 |
|
|
|
866e4d3853 |
PR libstdc++/48101 improve errors for invalid container specializations
PR libstdc++/48101 * include/bits/allocator.h (allocator<const _Tp>) (allocator<volatile _Tp>, allocator<const volatile _Tp>): Add partial specializations. * include/bits/forward_list.h (forward_list): Add static assertions. * include/bits/hashtable.h (__cache_default): Use __is_nothrow_invocable instead of __is_noexcept_hash. (_Hashtable): Add static assertions. * include/bits/hashtable_policy.h (__is_noexcept_hash): Remove. * include/bits/stl_deque.h (deque): Add static assertions. * include/bits/stl_function.h (_Identity<const _Tp>): Add partial specialization. * include/bits/stl_list.h (list): Add static assertions. * include/bits/stl_map.h (map): Likewise. * 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): Likewise. * include/bits/stl_vector.h (vector): Likewise. * include/bits/unordered_map.h (unordered_map, unordered_multimap): Use typename instead of class in template-parameter-list and remove spaces. * include/bits/unordered_set.h (unordered_set, unordered_multiset): Likewise. * testsuite/23_containers/deque/48101-2_neg.cc: New test. * testsuite/23_containers/deque/48101_neg.cc: New test. * testsuite/23_containers/forward_list/48101-2_neg.cc: New test. * testsuite/23_containers/forward_list/48101_neg.cc: New test. * testsuite/23_containers/list/48101-2_neg.cc: New test. * testsuite/23_containers/list/48101_neg.cc: New test. * testsuite/23_containers/map/48101-2_neg.cc: New test. * testsuite/23_containers/map/48101_neg.cc: New test. * testsuite/23_containers/map/operations/31440.cc: Fix comparison object to have const-qualified call operator. * testsuite/23_containers/multimap/48101-2_neg.cc: New test. * testsuite/23_containers/multimap/48101_neg.cc: New test. * testsuite/23_containers/multiset/48101-2_neg.cc: New test. * testsuite/23_containers/multiset/48101_neg.cc: New test. * testsuite/23_containers/set/48101-2_neg.cc: New test. * testsuite/23_containers/set/48101_neg.cc: New test. * testsuite/23_containers/unordered_map/48101-2_neg.cc: New test. * testsuite/23_containers/unordered_map/48101_neg.cc: New test. * testsuite/23_containers/unordered_multimap/48101-2_neg.cc: New test. * testsuite/23_containers/unordered_multimap/48101_neg.cc: New test. * testsuite/23_containers/unordered_multiset/48101-2_neg.cc: New test. * testsuite/23_containers/unordered_multiset/48101_neg.cc: New test. * testsuite/23_containers/unordered_set/48101-2_neg.cc: New test. * testsuite/23_containers/unordered_set/48101_neg.cc: New test. * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust dg-error line number. * testsuite/23_containers/vector/48101-2_neg.cc: New test. * testsuite/23_containers/vector/48101_neg.cc: New test. From-SVN: r255035 |
|
|
|
1be043a140 |
re PR libstdc++/82558 (V8 JavaScript engine segfaults since r249235)
2017-10-16 François Dumont <fdumont@gcc.gnu.org> PR libstdc++/82558 * include/bits/stl_bvector.h (fill): Add iterator offset check. * testsuite/23_containers/vector/bool/82558.cc: New. From-SVN: r253776 |
|
|
|
7b9361409d |
invoke.texi: Document -std=c++17 and -std=gnu++17 and document c++1z and gnu++1z as deprecated.
* doc/invoke.texi: Document -std=c++17 and -std=gnu++17 and document c++1z and gnu++1z as deprecated. Change other references to -std=c++1z to -std=c++17 and -std=gnu++1z to -std=gnu++17. Change -Wc++1z-compat to -Wc++17-compat. * doc/cpp.texi: Document -std=c++17 defines __cplusplus 201703L. * dwarf2out.c (highest_c_language): Handle C++17. (gen_compile_unit_die): Likewise. c-family/ * c.opt (Wc++1z-compat): Change from option to undocumented alias. (Wc++17-compat): Change from undocumented alias to option. (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat, change C++1z to C++17 in description. (std=c++1z, std=gnu++1z): Change from option to undocumented deprecated alias. (std=c++17, std=gnu++17): Change from undocumented alias to option. Adjust description. * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17. * c-opts.c (set_std_cxx1z): Rename to ... (set_std_cxx17): ... this. (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z caller. (c_common_post_options): Use cxx17 instead of cxx1z. Adjust comments. cp/ * decl.c (redeclaration_error_message): Use cxx17 instead of cxx1z, adjust diagnostics refering to C++1z or -std=gnu++1z or -std=c++1z to C++17 or -std=gnu++17 or -std=c++17. Adjust comments. (cxx_init_decl_processing, next_initializable_field, is_direct_enum_init, check_initializer, cp_finish_decl, mark_inline_variable, grokdeclarator, grokparms, xref_basetypes, finish_function): Likewise. * cp-tree.h (DECL_INLINE_VAR_P): Likewise. * pt.c (mark_template_parm, convert_nontype_argument, instantiate_class_template_1, type_unification_real, unify, get_partial_spec_bindings, dependent_type_p_r): Likewise. * typeck.c (cp_build_unary_op): Likewise. * constexpr.c (var_in_maybe_constexpr_fn): Likewise. * call.c (build_user_type_conversion_1, build_over_call, build_special_member_call): Likewise. * lambda.c (begin_lambda_type): Likewise. * typeck2.c (process_init_constructor_record): Likewise. * class.c (build_base_field, finalize_literal_type_property, explain_non_literal_class): Likewise. * parser.c (cp_parser_diagnose_invalid_type_name, cp_parser_primary_expression, cp_parser_lambda_introducer, cp_parser_lambda_declarator_opt, cp_parser_selection_statement, cp_convert_range_for, cp_parser_perform_range_for_lookup, cp_parser_decomposition_declaration, cp_parser_linkage_specification, cp_parser_static_assert, cp_parser_simple_type_specifier, cp_parser_namespace_definition, cp_parser_using_declaration, cp_parser_init_declarator, cp_parser_type_parameter_key, cp_parser_exception_specification_opt, cp_parser_std_attribute_spec, cp_parser_constructor_declarator_p): Likewise. * mangle.c (struct globals): Rename need_cxx1z_warning to need_cxx17_warning. (write_exception_spec, start_mangling, mangle_decl): Likewise. * Make-lang.in (check-c++1z): Rename to check-c++17, depend on it. (check-c++17): New goal. Use 17 instead of 1z. (check-c++-all): Use 17 instead of 1z. testsuite/ * lib/g++-dg.exp (g++-dg-runtest): Use 17 instead of 1z. * lib/target-supports.exp (check_effective_target_c++14): Use check_effective_target_c++17 instead of check_effective_target_c++1z. (check_effective_target_c++14_down): Likewise. (check_effective_target_c++1z_only): Rename to ... (check_effective_target_c++17_only): ... this. (check_effective_target_c++1z): Rename to ... (check_effective_target_c++17): ... this. * g++.dg/debug/dwarf2/inline-var-1.C: Use -std=c++17 or -std=gnu++17 instead of -std=c++1z or -std=gnu++1z. Use c++17 instead of c++1z and c++17_only instead of c++1z_only. Adjust expected diagnostics and comments refering to 1z to 17. * g++.dg/debug/dwarf2/inline-var-2.C: Likewise. * g++.dg/template/partial5.C: Likewise. * g++.dg/template/nontype8.C: Likewise. * g++.dg/cpp1z/noexcept-type5.C: Likewise. * g++.dg/cpp1z/nontype3a.C: Likewise. * g++.dg/cpp1z/constexpr-lambda4.C: Likewise. * g++.dg/cpp1z/noexcept-type16.C: Likewise. * g++.dg/cpp1z/class-deduction32.C: Likewise. * g++.dg/cpp1z/pr78771.C: Likewise. * g++.dg/cpp1z/elide1.C: Likewise. * g++.dg/cpp1z/fold3.C: Likewise. * g++.dg/cpp1z/class-deduction2.C: Likewise. * g++.dg/cpp1z/noexcept-type12.C: Likewise. * g++.dg/cpp1z/inline-var2.C: Likewise. * g++.dg/cpp1z/eval-order2.C: Likewise. * g++.dg/cpp1z/decomp21.C: Likewise. * g++.dg/cpp1z/constexpr-lambda11.C: Likewise. * g++.dg/cpp1z/constexpr-lambda9.C: Likewise. * g++.dg/cpp1z/utf8-neg.C: Likewise. * g++.dg/cpp1z/class-deduction41.C: Likewise. * g++.dg/cpp1z/class-deduction23.C: Likewise. * g++.dg/cpp1z/nodiscard3.C: Likewise. * g++.dg/cpp1z/static_assert-nomsg.C: Likewise. * g++.dg/cpp1z/noexcept-type9.C: Likewise. * g++.dg/cpp1z/class-deduction21.C: Likewise. * g++.dg/cpp1z/range-for1.C: Likewise. * g++.dg/cpp1z/init-statement4.C: Likewise. * g++.dg/cpp1z/udlit-utf8char.C: Likewise. * g++.dg/cpp1z/decomp30.C: Likewise. * g++.dg/cpp1z/class-deduction39.C: Likewise. * g++.dg/cpp1z/register2.C: Likewise. * g++.dg/cpp1z/decomp9.C: Likewise. * g++.dg/cpp1z/regress1.C: Likewise. * g++.dg/cpp1z/direct-enum-init1.C: Likewise. * g++.dg/cpp1z/class-deduction30.C: Likewise. * g++.dg/cpp1z/abbrev2.C: Likewise. * g++.dg/cpp1z/nontype-auto6.C: Likewise. * g++.dg/cpp1z/regress2.C: Likewise. * g++.dg/cpp1z/decomp16.C: Likewise. * g++.dg/cpp1z/bool-increment1.C: Likewise. * g++.dg/cpp1z/aligned-new1.C: Likewise. * g++.dg/cpp1z/decomp3.C: Likewise. * g++.dg/cpp1z/register1.C: Likewise. * g++.dg/cpp1z/namespace-attribs.C: Likewise. * g++.dg/cpp1z/class-deduction1.C: Likewise. * g++.dg/cpp1z/decomp10.C: Likewise. * g++.dg/cpp1z/constexpr-if11.C: Likewise. * g++.dg/cpp1z/constexpr-lambda10.C: Likewise. * g++.dg/cpp1z/decomp27.C: Likewise. * g++.dg/cpp1z/noexcept-type2.C: Likewise. * g++.dg/cpp1z/constexpr-lambda6.C: Likewise. * g++.dg/cpp1z/class-deduction9.C: Likewise. * g++.dg/cpp1z/attributes-enum-1.C: Likewise. * g++.dg/cpp1z/decomp11.C: Likewise. * g++.dg/cpp1z/aligned-new3.C: Likewise. * g++.dg/cpp1z/utf8-2.C: Likewise. * g++.dg/cpp1z/lambda-this3.C: Likewise. * g++.dg/cpp1z/decomp-constexpr1.C: Likewise. * g++.dg/cpp1z/byte1.C: Likewise. * g++.dg/cpp1z/nontype-auto9.C: Likewise. * g++.dg/cpp1z/aggr-base4.C: Likewise. * g++.dg/cpp1z/constexpr-lambda1.C: Likewise. * g++.dg/cpp1z/nontype-auto3.C: Likewise. * g++.dg/cpp1z/utf8-2a.C: Likewise. * g++.dg/cpp1z/constexpr-lambda7.C: Likewise. * g++.dg/cpp1z/aggr-base6.C: Likewise. * g++.dg/cpp1z/cplusplus.C: Likewise. * g++.dg/cpp1z/class-deduction20.C: Likewise. * g++.dg/cpp1z/aggr-base2.C: Likewise. * g++.dg/cpp1z/class-deduction6.C: Likewise. * g++.dg/cpp1z/noexcept-type3.C: Likewise. * g++.dg/cpp1z/class-deduction31.C: Likewise. * g++.dg/cpp1z/class-deduction25.C: Likewise. * g++.dg/cpp1z/class-deduction18.C: Likewise. * g++.dg/cpp1z/fold9.C: Likewise. * g++.dg/cpp1z/noexcept-type8.C: Likewise. * g++.dg/cpp1z/abbrev1.C: Likewise. * g++.dg/cpp1z/constexpr-if10.C: Likewise. * g++.dg/cpp1z/utf8.C: Likewise. * g++.dg/cpp1z/noexcept-type7.C: Likewise. * g++.dg/cpp1z/aggr-base3.C: Likewise. * g++.dg/cpp1z/constexpr-lambda8.C: Likewise. * g++.dg/cpp1z/init-statement2.C: Likewise. * g++.dg/cpp1z/nontype-auto4.C: Likewise. * g++.dg/cpp1z/constexpr-if12.C: Likewise. * g++.dg/cpp1z/class-deduction40.C: Likewise. * g++.dg/cpp1z/nontype3.C: Likewise. * g++.dg/cpp1z/class-deduction14.C: Likewise. * g++.dg/cpp1z/fold7.C: Likewise. * g++.dg/cpp1z/nontype2.C: Likewise. * g++.dg/cpp1z/class-deduction15.C: Likewise. * g++.dg/cpp1z/nested-namespace-def1.C: Likewise. * g++.dg/cpp1z/class-deduction13.C: Likewise. * g++.dg/cpp1z/aligned-new7.C: Likewise. * g++.dg/cpp1z/noexcept-type1.C: Likewise. * g++.dg/cpp1z/nontype1.C: Likewise. * g++.dg/cpp1z/init-statement5.C: Likewise. * g++.dg/cpp1z/nontype-auto2.C: Likewise. * g++.dg/cpp1z/decomp17.C: Likewise. * g++.dg/cpp1z/fold4.C: Likewise. * g++.dg/cpp1z/constexpr-lambda2.C: Likewise. * g++.dg/cpp1z/fold7a.C: Likewise. * g++.dg/cpp1z/nontype-auto5.C: Likewise. * g++.dg/cpp1z/init-statement7.C: Likewise. * g++.dg/cpp1z/aggr-base5.C: Likewise. * g++.dg/cpp1z/constexpr-lambda5.C: Likewise. * g++.dg/cpp1z/pr79143.C: Likewise. * g++.dg/cpp1z/class-deduction38.C: Likewise. * g++.dg/cpp1z/nontype-auto8.C: Likewise. * g++.dg/cpp1z/class-deduction12.C: Likewise. * g++.dg/cpp1z/decomp20.C: Likewise. * g++.dg/cpp1z/class-deduction22.C: Likewise. * g++.dg/cpp1z/class-deduction29.C: Likewise. * g++.dg/cpp1z/class-deduction8.C: Likewise. * g++.dg/cpp1z/class-deduction43.C: Likewise. * g++.dg/cpp1z/feat-cxx1z.C: Likewise. * g++.dg/cpp1z/fold8.C: Likewise. * g++.dg/cpp1z/init-statement3.C: Likewise. * g++.dg/cpp1z/nontype-auto10.C: Likewise. * g++.dg/cpp1z/class-deduction36.C: Likewise. * g++.dg/cpp1z/noexcept-type17.C: Likewise. * g++.dg/cpp1z/fallthrough1.C: Likewise. * g++.dg/cpp1z/fold1.C: Likewise. * g++.dg/cpp1z/class-deduction26.C: Likewise. * g++.dg/cpp1z/fold-ice1.C: Likewise. * g++.dg/cpp1z/fold5.C: Likewise. * g++.dg/cpp1z/class-deduction34.C: Likewise. * g++.dg/cpp1z/noexcept-type6.C: Likewise. * g++.dg/cpp1z/class-deduction7.C: Likewise. * g++.dg/cpp1z/class-deduction16.C: Likewise. * g++.dg/cpp1z/class-deduction10.C: Likewise. * g++.dg/cpp1z/eval-order3.C: Likewise. * g++.dg/cpp1z/constexpr-lambda13.C: Likewise. * g++.dg/cpp1z/aggr-base2a.C: Likewise. * g++.dg/cpp1z/nontype-auto1.C: Likewise. * g++.dg/cpp1z/constexpr-lambda3.C: Likewise. * g++.dg/cpp1z/nontype-auto7.C: Likewise. * g++.dg/cpp1z/decomp15.C: Likewise. * g++.dg/cpp1z/noexcept-type4.C: Likewise. * g++.dg/cpp1z/fold-mangle.C: Likewise. * g++.dg/cpp1z/class-deduction35.C: Likewise. * g++.dg/cpp1z/decomp4.C: Likewise. * g++.dg/cpp1z/class-deduction42.C: Likewise. * g++.dg/cpp1z/init-statement8.C: Likewise. * g++.dg/cpp1z/inline-var1a.C: Likewise. * g++.dg/cpp1z/init-statement6.C: Likewise. * g++.dg/cpp1z/class-deduction17.C: Likewise. * g++.dg/cpp1z/class-deduction28.C: Likewise. * g++.dg/cpp1z/class-deduction27.C: Likewise. * g++.dg/cpp1z/decomp-bitfield1.C: Likewise. * g++.dg/cpp1z/attributes-enum-1a.C: Likewise. * g++.dg/cpp1z/class-deduction11.C: Likewise. * g++.dg/cpp1z/constexpr-lambda12.C: Likewise. * g++.dg/cpp1z/init-statement9.C: Likewise. * g++.dg/cpp1z/class-deduction19.C: Likewise. * g++.dg/cpp1z/class-deduction5.C: Likewise. * g++.dg/cpp1z/fold2.C: Likewise. * g++.dg/cpp1z/class-deduction33.C: Likewise. * g++.dg/cpp1z/class-deduction24.C: Likewise. * g++.dg/cpp1z/aggr-base1.C: Likewise. * g++.dg/cpp1z/fold6.C: Likewise. * g++.dg/cpp1z/decomp12.C: Likewise. * g++.dg/cpp1z/class-deduction4.C: Likewise. * g++.dg/cpp1z/inline-var1.C: Likewise. * g++.dg/cpp1z/aligned-new2.C: Likewise. * g++.dg/cpp1z/class-deduction3.C: Likewise. * g++.dg/other/error3.C: Likewise. * g++.dg/init/new25.C: Likewise. * g++.dg/init/new13.C: Likewise. * g++.dg/tls/diag-2.C: Likewise. * g++.dg/tls/diag-4.C: Likewise. * g++.dg/opt/noreturn-1.C: Likewise. * g++.dg/eh/async-unwind2.C: Likewise. * g++.dg/eh/spec9.C: Likewise. * g++.dg/eh/spec7.C: Likewise. * g++.dg/eh/template1.C: Likewise. * g++.dg/eh/cond4.C: Likewise. * g++.dg/eh/pr41819.C: Likewise. * g++.dg/eh/delete1.C: Likewise. * g++.dg/eh/spec3.C: Likewise. * g++.dg/eh/forced4.C: Likewise. * g++.dg/eh/spec2.C: Likewise. * g++.dg/eh/shadow1.C: Likewise. * g++.dg/eh/pr38662.C: Likewise. * g++.dg/eh/ehopt1.C: Likewise. * g++.dg/eh/spec8.C: Likewise. * g++.dg/eh/init-temp2.C: Likewise. * g++.dg/rtti/crash3.C: Likewise. * g++.dg/warn/Wreturn-type-3.C: Likewise. * g++.dg/warn/register-parm-1.C: Likewise. * g++.dg/warn/register-var-2.C: Likewise. * g++.dg/gcov/gcov-7.C: Likewise. * g++.dg/tree-ssa/pr45605.C: Likewise. * g++.dg/cpp/pr23827_cxx98_neg.C: Likewise. * g++.dg/lookup/exception1.C: Likewise. * g++.dg/ubsan/pr79589.C: Likewise. * g++.dg/tm/pr47340.C: Likewise. * g++.dg/tm/pr46567.C: Likewise. * g++.dg/expr/bitfield5.C: Likewise. * g++.dg/expr/bool1.C: Likewise. * g++.dg/expr/lval3.C: Likewise. * g++.dg/expr/lval4.C: Likewise. * g++.dg/expr/bitfield4.C: Likewise. * g++.dg/expr/bitfield6.C: Likewise. * g++.dg/expr/bool3.C: Likewise. * g++.dg/ext/has_nothrow_constructor.C: Likewise. * g++.dg/ext/has_nothrow_copy-7.C: Likewise. * g++.dg/ext/has_nothrow_copy-1.C: Likewise. * g++.dg/ext/has_nothrow_copy-2.C: Likewise. * g++.dg/ext/has_nothrow_copy-4.C: Likewise. * g++.dg/ext/has_nothrow_copy-5.C: Likewise. * g++.dg/ext/has_nothrow_copy-6.C: Likewise. * g++.dg/ext/has_nothrow_assign.C: Likewise. * g++.dg/parse/register1.C: Likewise. * g++.dg/parse/error15.C: Likewise. * g++.dg/parse/linkage2.C: Likewise. * g++.dg/concepts/intro2.C: Likewise. * g++.dg/concepts/class.C: Likewise. * g++.dg/concepts/traits1.C: Likewise. * g++.dg/concepts/req5.C: Likewise. * g++.dg/concepts/var-concept5.C: Likewise. * g++.dg/concepts/fn-concept2.C: Likewise. * g++.dg/concepts/traits2.C: Likewise. * g++.dg/concepts/placeholder2.C: Likewise. * g++.dg/concepts/class6.C: Likewise. * g++.dg/concepts/memtmpl1.C: Likewise. * g++.dg/concepts/friend2.C: Likewise. * g++.dg/concepts/template-parm3.C: Likewise. * g++.dg/concepts/template-parm10.C: Likewise. * g++.dg/concepts/explicit-spec1.C: Likewise. * g++.dg/concepts/explicit-spec3.C: Likewise. * g++.dg/concepts/var-templ2.C: Likewise. * g++.dg/concepts/intro5.C: Likewise. * g++.dg/concepts/deduction-constraint1.C: Likewise. * g++.dg/concepts/iconv1.C: Likewise. * g++.dg/concepts/constrained-parm.C: Likewise. * g++.dg/concepts/template-template-parm1.C: Likewise. * g++.dg/concepts/var-concept3.C: Likewise. * g++.dg/concepts/class3.C: Likewise. * g++.dg/concepts/memfun2.C: Likewise. * g++.dg/concepts/req1.C: Likewise. * g++.dg/concepts/disjunction1.C: Likewise. * g++.dg/concepts/req17.C: Likewise. * g++.dg/concepts/pr65848.C: Likewise. * g++.dg/concepts/placeholder4.C: Likewise. * g++.dg/concepts/decl-diagnose.C: Likewise. * g++.dg/concepts/intro7.C: Likewise. * g++.dg/concepts/pr68683.C: Likewise. * g++.dg/concepts/partial-spec4.C: Likewise. * g++.dg/concepts/template-parm5.C: Likewise. * g++.dg/concepts/explicit-inst1.C: Likewise. * g++.dg/concepts/class-deduction1.C: Likewise. * g++.dg/concepts/class1.C: Likewise. * g++.dg/concepts/req15.C: Likewise. * g++.dg/concepts/memfun.C: Likewise. * g++.dg/concepts/pr68434.C: Likewise. * g++.dg/concepts/inherit-ctor4.C: Likewise. * g++.dg/concepts/partial-spec6.C: Likewise. * g++.dg/concepts/var-templ1.C: Likewise. * g++.dg/concepts/template-parm8.C: Likewise. * g++.dg/concepts/explicit-inst3.C: Likewise. * g++.dg/concepts/class4.C: Likewise. * g++.dg/concepts/req6.C: Likewise. * g++.dg/concepts/fn8.C: Likewise. * g++.dg/concepts/class5.C: Likewise. * g++.dg/concepts/placeholder5.C: Likewise. * g++.dg/concepts/req16.C: Likewise. * g++.dg/concepts/req10.C: Likewise. * g++.dg/concepts/var-concept2.C: Likewise. * g++.dg/concepts/auto3.C: Likewise. * g++.dg/concepts/generic-fn-err.C: Likewise. * g++.dg/concepts/pr65552.C: Likewise. * g++.dg/concepts/partial-concept-id2.C: Likewise. * g++.dg/concepts/fn1.C: Likewise. * g++.dg/concepts/partial-spec.C: Likewise. * g++.dg/concepts/template-parm12.C: Likewise. * g++.dg/concepts/diagnostic1.C: Likewise. * g++.dg/concepts/intro1.C: Likewise. * g++.dg/concepts/explicit-inst4.C: Likewise. * g++.dg/concepts/req18.C: Likewise. * g++.dg/concepts/explicit-spec5.C: Likewise. * g++.dg/concepts/var-concept6.C: Likewise. * g++.dg/concepts/fn9.C: Likewise. * g++.dg/concepts/req2.C: Likewise. * g++.dg/concepts/template-parm7.C: Likewise. * g++.dg/concepts/req14.C: Likewise. * g++.dg/concepts/template-parm6.C: Likewise. * g++.dg/concepts/variadic4.C: Likewise. * g++.dg/concepts/fn6.C: Likewise. * g++.dg/concepts/req-neg1.C: Likewise. * g++.dg/concepts/alias3.C: Likewise. * g++.dg/concepts/expression2.C: Likewise. * g++.dg/concepts/partial-spec3.C: Likewise. * g++.dg/concepts/expression3.C: Likewise. * g++.dg/concepts/memfun-err.C: Likewise. * g++.dg/concepts/pr66091.C: Likewise. * g++.dg/concepts/explicit-spec2.C: Likewise. * g++.dg/concepts/equiv.C: Likewise. * g++.dg/concepts/friend1.C: Likewise. * g++.dg/concepts/fn4.C: Likewise. * g++.dg/concepts/var-templ3.C: Likewise. * g++.dg/concepts/explicit-inst2.C: Likewise. * g++.dg/concepts/alias2.C: Likewise. * g++.dg/concepts/regress/alias-decl-42.C: Likewise. * g++.dg/concepts/placeholder6.C: Likewise. * g++.dg/concepts/fn10.C: Likewise. * g++.dg/concepts/req3.C: Likewise. * g++.dg/concepts/variadic2.C: Likewise. * g++.dg/concepts/pr65636.C: Likewise. * g++.dg/concepts/intro6.C: Likewise. * g++.dg/concepts/class2.C: Likewise. * g++.dg/concepts/fn2.C: Likewise. * g++.dg/concepts/req20.C: Likewise. * g++.dg/concepts/req8.C: Likewise. * g++.dg/concepts/placeholder1.C: Likewise. * g++.dg/concepts/pr65854.C: Likewise. * g++.dg/concepts/member-concept.C: Likewise. * g++.dg/concepts/template-parm2.C: Likewise. * g++.dg/concepts/variadic1.C: Likewise. * g++.dg/concepts/fn7.C: Likewise. * g++.dg/concepts/intro4.C: Likewise. * g++.dg/concepts/req13.C: Likewise. * g++.dg/concepts/inherit-ctor3.C: Likewise. * g++.dg/concepts/explicit-spec6.C: Likewise. * g++.dg/concepts/auto1.C: Likewise. * g++.dg/concepts/alias1.C: Likewise. * g++.dg/concepts/fn-concept1.C: Likewise. * g++.dg/concepts/template-parm11.C: Likewise. * g++.dg/concepts/explicit-spec4.C: Likewise. * g++.dg/concepts/partial-concept-id1.C: Likewise. * g++.dg/concepts/req9.C: Likewise. * g++.dg/concepts/req4.C: Likewise. * g++.dg/concepts/pr65681.C: Likewise. * g++.dg/concepts/req7.C: Likewise. * g++.dg/concepts/req12.C: Likewise. * g++.dg/concepts/fn5.C: Likewise. * g++.dg/concepts/alias4.C: Likewise. * g++.dg/concepts/generic-fn.C: Likewise. * g++.dg/concepts/feature-macro.C: Likewise. * g++.dg/concepts/req19.C: Likewise. * g++.dg/concepts/placeholder3.C: Likewise. * g++.dg/concepts/intro3.C: Likewise. * g++.dg/concepts/partial-spec5.C: Likewise. * g++.dg/concepts/template-parm4.C: Likewise. * g++.dg/concepts/dr1430.C: Likewise. * g++.dg/concepts/pr65634.C: Likewise. * g++.dg/concepts/var-concept4.C: Likewise. * g++.dg/concepts/pr67249.C: Likewise. * g++.dg/concepts/expression.C: Likewise. * g++.dg/concepts/pr65575.C: Likewise. * g++.dg/concepts/partial-spec2.C: Likewise. * g++.dg/concepts/template-parm9.C: Likewise. * g++.dg/concepts/inherit-ctor1.C: Likewise. * g++.dg/concepts/equiv2.C: Likewise. * g++.dg/concepts/req11.C: Likewise. * g++.dg/concepts/template-parm1.C: Likewise. * g++.dg/concepts/inherit-ctor2.C: Likewise. * g++.dg/concepts/var-concept1.C: Likewise. * g++.dg/concepts/fn3.C: Likewise. * g++.dg/torture/pr46364.C: Likewise. * g++.dg/torture/stackalign/eh-alloca-1.C: Likewise. * g++.dg/torture/stackalign/eh-fastcall-1.C: Likewise. * g++.dg/torture/stackalign/eh-vararg-1.C: Likewise. * g++.dg/torture/stackalign/eh-vararg-2.C: Likewise. * g++.dg/torture/stackalign/eh-global-1.C: Likewise. * g++.dg/torture/stackalign/eh-thiscall-1.C: Likewise. * g++.dg/torture/stackalign/eh-inline-2.C: Likewise. * g++.dg/torture/stackalign/eh-inline-1.C: Likewise. * g++.dg/torture/pr52918-1.C: Likewise. * g++.dg/torture/pr49394.C: Likewise. * g++.dg/torture/pr57190.C: Likewise. * g++.dg/cpp0x/static_assert8.C: Likewise. * g++.dg/cpp0x/noexcept19.C: Likewise. * g++.dg/cpp0x/variadic-throw.C: Likewise. * g++.dg/cpp0x/variadic73.C: Likewise. * g++.dg/cpp0x/noexcept02.C: Likewise. * g++.dg/cpp0x/defaulted23.C: Likewise. * g++.dg/cpp0x/noexcept08.C: Likewise. * g++.dg/cpp0x/auto9.C: Likewise. * g++.dg/cpp0x/lambda/lambda-eh2.C: Likewise. * g++.dg/cpp0x/error5.C: Likewise. * c-c++-common/gomp/atomic-12.c: Likewise. * c-c++-common/gomp/atomic-13.c: Likewise. * c-c++-common/gomp/atomic-14.c: Likewise. * c-c++-common/Wvarargs-2.c: Likewise. * c-c++-common/Wvarargs.c: Likewise. * c-c++-common/vector-subscript-2.c: Likewise. * g++.old-deja/g++.robertl/eb123.C: Likewise. * g++.old-deja/g++.eh/tmpl3.C: Likewise. * g++.old-deja/g++.eh/cleanup2.C: Likewise. * g++.old-deja/g++.eh/badalloc1.C: Likewise. * g++.old-deja/g++.eh/throw2.C: Likewise. * g++.old-deja/g++.eh/throw1.C: Likewise. * g++.old-deja/g++.eh/tmpl1.C: Likewise. * g++.old-deja/g++.other/new7.C: Likewise. * g++.old-deja/g++.other/crash30.C: Likewise. * g++.old-deja/g++.other/regstack.C: Likewise. * g++.old-deja/g++.other/crash28.C: Likewise. * g++.old-deja/g++.jason/bool5.C: Likewise. * g++.old-deja/g++.mike/p10416.C: Likewise. * g++.old-deja/g++.mike/eh25.C: Likewise. * g++.old-deja/g++.mike/eh55.C: Likewise. libcpp/ * include/cpplib.h (enum c_lang): Rename CLK_GNUCXX1Z to CLK_GNUCXX17 and CLK_CXX1Z to CLK_CXX17. * init.c (lang_defaults, cpp_init_builtins): Likewise. * expr.c (cpp_classify_number): Use C++17 instead of C++1z in diagnostics. libstdc++-v3/ * testsuite/libstdc++-prettyprinters/cxx17.cc: Use -std=c++17 or -std=gnu++17 instead of -std=c++1z or -std=gnu++1z. Use c++17 instead of c++1z and c++17_only instead of c++1z_only. Adjust expected diagnostics and comments refering to 1z to 17. * testsuite/30_threads/lock_guard/cons/deduction.cc: Likewise. * testsuite/30_threads/scoped_lock/cons/deduction.cc: Likewise. * testsuite/30_threads/scoped_lock/cons/1.cc: Likewise. * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Likewise. * testsuite/30_threads/scoped_lock/requirements/explicit_instantiation.cc: Likewise. * testsuite/30_threads/unique_lock/cons/deduction.cc: Likewise. * testsuite/18_support/launder/1.cc (test02): Likewise. * testsuite/18_support/launder/requirements_neg.cc: Likewise. * testsuite/18_support/launder/requirements.cc: Likewise. * testsuite/18_support/byte/requirements.cc: Likewise. * testsuite/18_support/byte/ops.cc: Likewise. * testsuite/18_support/byte/global_neg.cc: Likewise. * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: Likewise. * testsuite/27_io/types/4.cc: Likewise. * testsuite/25_algorithms/sample/81221.cc: Likewise. * testsuite/25_algorithms/sample/1.cc: Likewise. * testsuite/25_algorithms/sample/2.cc: Likewise. * testsuite/25_algorithms/search/searcher.cc: Likewise. * testsuite/28_regex/basic_regex/ctors/deduction.cc: Likewise. * testsuite/experimental/filesystem/path/construct/string_view.cc: Likewise. * testsuite/24_iterators/range_access_cpp17.cc: Likewise. * testsuite/24_iterators/container_access.cc: Likewise. * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise. * testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise. * testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise. * testsuite/20_util/shared_ptr/cons/array.cc: Likewise. * testsuite/20_util/shared_ptr/observers/array.cc (struct A): Likewise. * testsuite/20_util/pair/cons/deduction.cc: Likewise. * testsuite/20_util/variant/deduction.cc: Likewise. * testsuite/20_util/tuple/78939.cc: Likewise. * testsuite/20_util/tuple/cons/deduction.cc: Likewise. * testsuite/20_util/void_t/1.cc: Likewise. * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: Likewise. * testsuite/20_util/unique_ptr/cons/deduction_neg.cc: Likewise. * testsuite/20_util/addressof/requirements/constexpr.cc: Likewise. * testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise. * testsuite/20_util/has_unique_object_representations/requirements/typedefs.cc: Likewise. * testsuite/20_util/has_unique_object_representations/requirements/explicit_instantiation.cc: Likewise. * testsuite/20_util/has_unique_object_representations/value.cc: Likewise. * testsuite/20_util/time_point/arithmetic/constexpr.cc: Likewise. * testsuite/20_util/function_objects/invoke/59768.cc: Likewise. * testsuite/20_util/function_objects/mem_fn/80478.cc: Likewise. * testsuite/20_util/function/cons/deduction.cc: Likewise. * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc: Likewise. * testsuite/20_util/is_aggregate/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_aggregate/requirements/explicit_instantiation.cc: Likewise. * testsuite/20_util/is_aggregate/value.cc: Likewise. * testsuite/26_numerics/lcm/1.cc: Likewise. * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. * testsuite/26_numerics/gcd/1.cc: Likewise. * testsuite/26_numerics/gcd/gcd_neg.cc: Likewise. * testsuite/26_numerics/valarray/deduction.cc: Likewise. * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Likewise. * testsuite/26_numerics/headers/cmath/hypot.cc: Likewise. * testsuite/23_containers/queue/members/emplace_cxx17_return.cc: Likewise. * testsuite/23_containers/array/cons/deduction.cc: Likewise. * testsuite/23_containers/array/cons/deduction_neg.cc: Likewise. * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc: Likewise. * testsuite/23_containers/deque/cons/deduction.cc: Likewise. * testsuite/23_containers/stack/members/emplace_cxx17_return.cc: Likewise. * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: Likewise. * testsuite/23_containers/list/cons/deduction.cc: Likewise. * testsuite/23_containers/forward_list/modifiers/emplace_cxx17_return.cc: Likewise. * testsuite/23_containers/forward_list/cons/deduction.cc: Likewise. * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Likewise. * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc: Likewise. * testsuite/23_containers/vector/cons/deduction.cc: Likewise. * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/9.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/deduction.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/79162.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/79162.cc: Likewise. * testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/compare/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/compare/char/70483.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/2.cc: Likewise. * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc: Likewise. From-SVN: r252826 |
|
|
|
4f4b0ab85f |
Get rid of dg-skip-if etc. default args
libstdc++-v3: * testsuite: Remove dg-skip-if, dg-xfail-if, dg-xfail-run-if default args. libgomp: * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if default args. * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove dg-xfail-run-if default args. gcc/testsuite: Remove dg-skip-if, dg-xfail-if, dg-xfail-run-if default args. From-SVN: r249339 |
|
|
|
14d8a91212 |
PR libstdc++/80893 don't run test for C++98 modes
PR libstdc++/80893
* testsuite/23_containers/vector/bool/80893.cc: Add { target c++11 }.
From-SVN: r249338
|
|
|
|
7d594224c2 |
stl_bvector.h (__fill_bvector(_Bit_type*, unsigned int, unsigned int, bool)): Change signature.
2017-06-16 François Dumont <fdumont@gcc.gnu.org> * include/bits/stl_bvector.h (__fill_bvector(_Bit_type*, unsigned int, unsigned int, bool)): Change signature. (std::fill(_Bit_iterator, _Bit_iterator, bool)): Adapt. (_Bvector_impl_data): New. (_Bvector_impl): Inherits from latter. (_Bvector_impl(_Bit_alloc_type&&)): Delete. (_Bvector_impl(_Bvector_impl&&)): New, default. (_Bvector_base()): Default. (_Bvector_base(_Bvector_base&&)): Default. (_Bvector_base::_M_move_data(_Bvector_base&&)): New. (vector(vector&&, const allocator_type&)): Use latter. (vector<bool>::operator=(vector&&)): Likewise. (vector<bool>::vector()): Default. (vector<bool>::vector(vector&&)): Default. (vector<bool>::assign(_InputIterator, _InputIterator)): Use _M_assign_aux. (vector<bool>::assign(initializer_list<bool>)): Likewise. (vector<bool>::_M_initialize_value(bool)): New. (vector<bool>(size_type, const bool&, const allocator_type&)): Use latter. (vector<bool>::_M_initialize_dispatch(_Integer, _Integer, __true_type)): Likewise. (vector<bool>::_M_fill_assign(size_t, bool)): Likewise. From-SVN: r249235 |
|
|
|
d12366802a |
Use pthread effective-target in testsuite
* testsuite: Add dg-require-effective-target pthread to -pthread tests. Remove explicit target lists from dg-do and dg-options. * testsuite/30_threads/async/forced_unwind.cc: Remove explit target list from dg-options. * testsuite/30_threads/packaged_task/forced_unwind.cc: Likewise. * 30_threads/shared_mutex/cons/1.cc: Likewise. Pass -pthread for all targets. * 30_threads/shared_mutex/try_lock/1.cc: Likewise. * 30_threads/shared_mutex/try_lock/2.cc: Likewise. * 30_threads/shared_mutex/unlock/1.cc: Likewise. * testsuite/30_threads/this_thread/57060.cc: Require c++11 via dg-require-effective-target. From-SVN: r249217 |
|
|
|
225ab2b07b |
Add deduction guides for sequence containers (P0433R2, partial)
* include/bits/forward_list.h (forward_list): Add deduction guide. * include/bits/stl_deque.h (deque): Likewise. * include/bits/stl_list.h (list): Likewise. * include/bits/stl_vector.h (vector): Likewise. * testsuite/23_containers/deque/cons/deduction.cc: New. * testsuite/23_containers/forward_list/cons/deduction.cc: New. * testsuite/23_containers/list/cons/deduction.cc: New. * testsuite/23_containers/vector/cons/deduction.cc: New. From-SVN: r249054 |
|
|
|
046a84762b |
PR libstdc++/80893 Fix null dereference in vector<bool>
PR libstdc++/80893 * include/bits/stl_bvector.h (vector<bool>::_M_initialize): Avoid null pointer dereference when size is zero. * testsuite/23_containers/vector/bool/80893.cc: New. * testsuite/util/testsuite_allocator.h (PointerBase::PointerBase): Add non-explicit constructor from nullptr. (PointerBase::derived() const): Add const-qualified overload. From-SVN: r248734 |
|
|
|
b26f45f069 |
PR libstdc++/80553 don't allow destroying non-destructible types
PR libstdc++/80553 * include/bits/stl_construct.h (_Destroy, _Destroy_n): Add static assertions to ensure type is destructible. (destroy_at, destroy, destroy_n): Move from stl_uninitialized.h. * include/bits/stl_uninitialized.h (destroy_at, destroy, destroy_n): Move to stl_construct.h. * testsuite/20_util/specialized_algorithms/memory_management_tools/ destroy_neg.cc: New test. * testsuite/23_containers/vector/cons/destructible_neg.cc: New test. From-SVN: r247379 |
|
|
|
9425300b41 |
Improve tests for vector and deque move-assignment
* testsuite/23_containers/deque/allocator/move_assign-2.cc: Improve comment. Ensure first test works because allocator type propagates and not because is_always_equal is true. * testsuite/23_containers/vector/52591.cc: Likewise. Restore original testcase that instantiates the move-assignment operator. From-SVN: r247284 |
|
|
|
ac4664f9da |
Skip tests that are incompatible with Profile Mode
* testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc: Skip test when -D_GLIBCXX_PROFILE mode is included in options. * testsuite/23_containers/map/modifiers/extract.cc: Likewise. * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: Likewise. * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise. * testsuite/23_containers/multimap/modifiers/extract.cc: Likewise. * testsuite/23_containers/multiset/modifiers/extract.cc: Likewise. * testsuite/23_containers/set/modifiers/extract.cc: Likewise. * testsuite/23_containers/unordered_map/modifiers/extract.cc: Likewise. * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:: Likewise. * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:: Likewise. * testsuite/23_containers/unordered_set/modifiers/extract.cc: Likewise. * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: Likewise. * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise. * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise. * testsuite/25_algorithms/lexicographical_compare/71545.cc: Likewise. * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise. * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise. * testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise. * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise. * testsuite/libstdc++-prettyprinters/debug.cc: Likewise. * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise. * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. * testsuite/libstdc++-prettyprinters/simple.cc: Likewise. * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise. * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise. From-SVN: r244464 |
|
|
|
cbe34bb5ed |
Update copyright years.
From-SVN: r243994 |
|
|
|
1f153a1d2a |
Replace dynamic exception specifications in testsuite
* testsuite/util/testsuite_hooks.h (THROW): Define. * testsuite/util/replacement_memory_operators.h: Include testsuite_hooks.h and use THROW macro. * testsuite/util/testsuite_tr1.h: Likewise. * testsuite/20_util/allocator/1.cc: Use THROW macro. * testsuite/22_locale/locale/cons/12352.cc: Likewise. * testsuite/23_containers/vector/zero_sized_allocations.cc: Likewise. * testsuite/30_threads/lock_guard/cons/1.cc: Replace dynamic exception specification with noexcept-specifier. * testsuite/ext/pool_allocator/allocate_chunk.cc: Include testsuite_hooks.h and use THROW macro. * testsuite/ext/profile/replace_new.cc: Likewise. From-SVN: r243353 |
|
|
|
57e27acf28 |
re PR libstdc++/68838 (AIX 32 bit wchar_t testsuite failures)
PR libstdc++/68838 * testsuite/lib/libstdc++.exp (DEFAULT_CXXFLAGS): Add -Wl,-bmaxdata on AIX. * testsuite/23_containers/vector/profile/vector.cc: Remove dg-additional-options. From-SVN: r242967 |
|
|
|
a9260b7eb6 |
57619.C: Rename to 57619.cc.
2016-10-17 Paolo Carlini <paolo.carlini@oracle.com> * testsuite/unordered_map/insert/57619.C: Rename to 57619.cc. * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise. 2016-10-17 Paolo Carlini <paolo.carlini@oracle.com> * testsuite/array/capacity/empty.cc: Remove 'test' variables. * testsuite/array/capacity/max_size.cc: Likewise. * testsuite/array/capacity/size.cc: Likewise. * testsuite/array/comparison_operators/equal.cc: Likewise. * testsuite/array/comparison_operators/greater.cc: Likewise. * testsuite/array/comparison_operators/greater_or_equal.cc: Likewise. * testsuite/array/comparison_operators/less.cc: Likewise. * testsuite/array/comparison_operators/less_or_equal.cc: Likewise. * testsuite/array/comparison_operators/not_equal.cc: Likewise. * testsuite/array/element_access/54388.cc: Likewise. * testsuite/array/element_access/at_out_of_range.cc: Likewise. * testsuite/array/element_access/back.cc: Likewise. * testsuite/array/element_access/data.cc: Likewise. * testsuite/array/element_access/front.cc: Likewise. * testsuite/array/iterators/end_is_one_past.cc: Likewise. * testsuite/array/requirements/contiguous.cc: Likewise. * testsuite/array/requirements/fill.cc: Likewise. * testsuite/array/requirements/member_swap.cc: Likewise. * testsuite/array/requirements/zero_sized_arrays.cc: Likewise. * testsuite/array/specialized_algorithms/swap.cc: Likewise. * testsuite/array/tuple_interface/tuple_element.cc: Likewise. * testsuite/array/tuple_interface/tuple_element_cpp14.cc: Likewise. * testsuite/array/tuple_interface/tuple_size.cc: Likewise. * testsuite/bitset/all/1.cc: Likewise. * testsuite/bitset/cons/1.cc: Likewise. * testsuite/bitset/cons/16020.cc: Likewise. * testsuite/bitset/cons/2.cc: Likewise. * testsuite/bitset/cons/3.cc: Likewise. * testsuite/bitset/cons/50268.cc: Likewise. * testsuite/bitset/cons/6282.cc: Likewise. * testsuite/bitset/cons/dr1325-2.cc: Likewise. * testsuite/bitset/cons/dr396.cc: Likewise. * testsuite/bitset/ext/15361.cc: Likewise. * testsuite/bitset/input/1.cc: Likewise. * testsuite/bitset/operations/1.cc: Likewise. * testsuite/bitset/operations/13838.cc: Likewise. * testsuite/bitset/operations/2.cc: Likewise. * testsuite/bitset/test/1.cc: Likewise. * testsuite/bitset/to_string/1.cc: Likewise. * testsuite/bitset/to_string/dr396.cc: Likewise. * testsuite/bitset/to_ullong/1.cc: Likewise. * testsuite/bitset/to_ulong/1.cc: Likewise. * testsuite/deque/allocator/copy.cc: Likewise. * testsuite/deque/allocator/copy_assign.cc: Likewise. * testsuite/deque/allocator/ext_ptr.cc: Likewise. * testsuite/deque/allocator/minimal.cc: Likewise. * testsuite/deque/allocator/move.cc: Likewise. * testsuite/deque/allocator/move_assign.cc: Likewise. * testsuite/deque/allocator/swap.cc: Likewise. * testsuite/deque/capacity/29134-2.cc: Likewise. * testsuite/deque/capacity/29134.cc: Likewise. * testsuite/deque/capacity/moveable.cc: Likewise. * testsuite/deque/capacity/resize_size.cc: Likewise. * testsuite/deque/capacity/shrink_to_fit.cc: Likewise. * testsuite/deque/cons/1.cc: Likewise. * testsuite/deque/cons/2.cc: Likewise. * testsuite/deque/cons/assign/1.cc: Likewise. * testsuite/deque/cons/cons_size.cc: Likewise. * testsuite/deque/cons/moveable.cc: Likewise. * testsuite/deque/modifiers/erase/1.cc: Likewise. * testsuite/deque/modifiers/erase/2.cc: Likewise. * testsuite/deque/modifiers/erase/3.cc: Likewise. * testsuite/deque/modifiers/erase/moveable.cc: Likewise. * testsuite/deque/modifiers/moveable.cc: Likewise. * testsuite/deque/modifiers/push_back/49836.cc: Likewise. * testsuite/deque/modifiers/push_front/49836.cc: Likewise. * testsuite/deque/modifiers/swap/1.cc: Likewise. * testsuite/deque/modifiers/swap/2.cc: Likewise. * testsuite/deque/modifiers/swap/3.cc: Likewise. * testsuite/deque/operators/1.cc: Likewise. * testsuite/deque/operators/2.cc: Likewise. * testsuite/forward_list/allocator/copy.cc: Likewise. * testsuite/forward_list/allocator/copy_assign.cc: Likewise. * testsuite/forward_list/allocator/ext_ptr.cc: Likewise. * testsuite/forward_list/allocator/minimal.cc: Likewise. * testsuite/forward_list/allocator/move.cc: Likewise. * testsuite/forward_list/allocator/move_assign.cc: Likewise. * testsuite/forward_list/allocator/swap.cc: Likewise. * testsuite/forward_list/capacity/1.cc: Likewise. * testsuite/forward_list/capacity/resize_size.cc: Likewise. * testsuite/forward_list/comparable.cc: Likewise. * testsuite/forward_list/cons/1.cc: Likewise. * testsuite/forward_list/cons/2.cc: Likewise. * testsuite/forward_list/cons/3.cc: Likewise. * testsuite/forward_list/cons/4.cc: Likewise. * testsuite/forward_list/cons/5.cc: Likewise. * testsuite/forward_list/cons/6.cc: Likewise. * testsuite/forward_list/cons/7.cc: Likewise. * testsuite/forward_list/cons/8.cc: Likewise. * testsuite/forward_list/cons/9.cc: Likewise. * testsuite/forward_list/cons/cons_size.cc: Likewise. * testsuite/forward_list/cons/moveable.cc: Likewise. * testsuite/forward_list/debug/clear.cc: Likewise. * testsuite/forward_list/debug/construct4_neg.cc: Likewise. * testsuite/forward_list/debug/erase_after1_neg.cc: Likewise. * testsuite/forward_list/debug/move_assign_neg.cc: Likewise. * testsuite/forward_list/debug/move_constructor.cc: Likewise. * testsuite/forward_list/debug/move_neg.cc: Likewise. * testsuite/forward_list/debug/splice_after.cc: Likewise. * testsuite/forward_list/debug/swap.cc: Likewise. * testsuite/forward_list/modifiers/1.cc: Likewise. * testsuite/forward_list/modifiers/2.cc: Likewise. * testsuite/forward_list/modifiers/3.cc: Likewise. * testsuite/forward_list/modifiers/4.cc: Likewise. * testsuite/forward_list/modifiers/5.cc: Likewise. * testsuite/forward_list/modifiers/6.cc: Likewise. * testsuite/forward_list/operations/1.cc: Likewise. * testsuite/forward_list/operations/2.cc: Likewise. * testsuite/forward_list/operations/3.cc: Likewise. * testsuite/forward_list/operations/4.cc: Likewise. * testsuite/forward_list/operations/5.cc: Likewise. * testsuite/forward_list/operations/6.cc: Likewise. * testsuite/forward_list/operations/7.cc: Likewise. * testsuite/forward_list/operations/remove_freed.cc: Likewise. * testsuite/list/61347.cc: Likewise. * testsuite/list/allocator/copy.cc: Likewise. * testsuite/list/allocator/copy_assign.cc: Likewise. * testsuite/list/allocator/minimal.cc: Likewise. * testsuite/list/allocator/move.cc: Likewise. * testsuite/list/allocator/move_assign.cc: Likewise. * testsuite/list/allocator/swap.cc: Likewise. * testsuite/list/capacity/1.h: Likewise. * testsuite/list/capacity/29134.cc: Likewise. * testsuite/list/capacity/resize_size.cc: Likewise. * testsuite/list/cons/1.h: Likewise. * testsuite/list/cons/2.h: Likewise. * testsuite/list/cons/3.h: Likewise. * testsuite/list/cons/4.h: Likewise. * testsuite/list/cons/5.h: Likewise. * testsuite/list/cons/6.h: Likewise. * testsuite/list/cons/7.h: Likewise. * testsuite/list/cons/8.h: Likewise. * testsuite/list/cons/9.h: Likewise. * testsuite/list/cons/cons_size.cc: Likewise. * testsuite/list/cons/moveable.h: Likewise. * testsuite/list/debug/invalidation/1.cc: Likewise. * testsuite/list/debug/invalidation/2.cc: Likewise. * testsuite/list/debug/invalidation/3.cc: Likewise. * testsuite/list/debug/invalidation/4.cc: Likewise. * testsuite/list/modifiers/1.h: Likewise. * testsuite/list/modifiers/2.h: Likewise. * testsuite/list/modifiers/3.h: Likewise. * testsuite/list/modifiers/insert/25288.h: Likewise. * testsuite/list/modifiers/swap/1.h: Likewise. * testsuite/list/modifiers/swap/2.h: Likewise. * testsuite/list/modifiers/swap/3.h: Likewise. * testsuite/list/operations/1.h: Likewise. * testsuite/list/operations/2.h: Likewise. * testsuite/list/operations/3.h: Likewise. * testsuite/list/operations/4.h: Likewise. * testsuite/list/operations/42352.cc: Likewise. * testsuite/map/allocator/copy.cc: Likewise. * testsuite/map/allocator/copy_assign.cc: Likewise. * testsuite/map/allocator/init-list.cc: Likewise. * testsuite/map/allocator/minimal.cc: Likewise. * testsuite/map/allocator/move.cc: Likewise. * testsuite/map/allocator/move_assign.cc: Likewise. * testsuite/map/allocator/swap.cc: Likewise. * testsuite/map/capacity/29134.cc: Likewise. * testsuite/map/cons/moveable.cc: Likewise. * testsuite/map/debug/construct5_neg.cc: Likewise. * testsuite/map/debug/move_assign_neg.cc: Likewise. * testsuite/map/debug/move_neg.cc: Likewise. * testsuite/map/element_access/1.cc: Likewise. * testsuite/map/element_access/2.cc: Likewise. * testsuite/map/element_access/39901.cc: Likewise. * testsuite/map/init-list.cc: Likewise. * testsuite/map/modifiers/dr130.cc: Likewise. * testsuite/map/modifiers/emplace/1.cc: Likewise. * testsuite/map/modifiers/extract.cc: Likewise. * testsuite/map/modifiers/insert/1.cc: Likewise. * testsuite/map/modifiers/insert/16813.cc: Likewise. * testsuite/map/modifiers/insert/2.cc: Likewise. * testsuite/map/modifiers/insert/3.cc: Likewise. * testsuite/map/modifiers/insert/4.cc: Likewise. * testsuite/map/modifiers/insert/5.cc: Likewise. * testsuite/map/modifiers/insert_or_assign/1.cc: Likewise. * testsuite/map/modifiers/merge.cc: Likewise. * testsuite/map/modifiers/swap/1.cc: Likewise. * testsuite/map/modifiers/swap/2.cc: Likewise. * testsuite/map/modifiers/swap/3.cc: Likewise. * testsuite/map/modifiers/try_emplace/1.cc: Likewise. * testsuite/map/operations/1.cc: Likewise. * testsuite/map/operations/count.cc: Likewise. * testsuite/map/operators/1_neg.cc: Likewise. * testsuite/map/operators/2.cc: Likewise. * testsuite/multimap/allocator/copy.cc: Likewise. * testsuite/multimap/allocator/copy_assign.cc: Likewise. * testsuite/multimap/allocator/init-list.cc: Likewise. * testsuite/multimap/allocator/minimal.cc: Likewise. * testsuite/multimap/allocator/move.cc: Likewise. * testsuite/multimap/allocator/move_assign.cc: Likewise. * testsuite/multimap/allocator/swap.cc: Likewise. * testsuite/multimap/capacity/29134.cc: Likewise. * testsuite/multimap/cons/moveable.cc: Likewise. * testsuite/multimap/debug/construct5_neg.cc: Likewise. * testsuite/multimap/debug/move_assign_neg.cc: Likewise. * testsuite/multimap/debug/move_neg.cc: Likewise. * testsuite/multimap/init-list.cc: Likewise. * testsuite/multimap/modifiers/dr130.cc: Likewise. * testsuite/multimap/modifiers/emplace/1.cc: Likewise. * testsuite/multimap/modifiers/extract.cc: Likewise. * testsuite/multimap/modifiers/insert/1.cc: Likewise. * testsuite/multimap/modifiers/insert/2.cc: Likewise. * testsuite/multimap/modifiers/insert/22102.cc: Likewise. * testsuite/multimap/modifiers/insert/3.cc: Likewise. * testsuite/multimap/modifiers/insert/4.cc: Likewise. * testsuite/multimap/modifiers/merge.cc: Likewise. * testsuite/multimap/modifiers/swap/1.cc: Likewise. * testsuite/multimap/modifiers/swap/2.cc: Likewise. * testsuite/multimap/modifiers/swap/3.cc: Likewise. * testsuite/multimap/operations/1.cc: Likewise. * testsuite/multimap/operations/count.cc: Likewise. * testsuite/multiset/allocator/copy.cc: Likewise. * testsuite/multiset/allocator/copy_assign.cc: Likewise. * testsuite/multiset/allocator/init-list.cc: Likewise. * testsuite/multiset/allocator/minimal.cc: Likewise. * testsuite/multiset/allocator/move.cc: Likewise. * testsuite/multiset/allocator/move_assign.cc: Likewise. * testsuite/multiset/allocator/swap.cc: Likewise. * testsuite/multiset/capacity/29134.cc: Likewise. * testsuite/multiset/cons/moveable.cc: Likewise. * testsuite/multiset/debug/construct5_neg.cc: Likewise. * testsuite/multiset/debug/invalidation/2.cc: Likewise. * testsuite/multiset/debug/move_assign_neg.cc: Likewise. * testsuite/multiset/debug/move_neg.cc: Likewise. * testsuite/multiset/init-list.cc: Likewise. * testsuite/multiset/modifiers/dr130.cc: Likewise. * testsuite/multiset/modifiers/emplace/1.cc: Likewise. * testsuite/multiset/modifiers/extract.cc: Likewise. * testsuite/multiset/modifiers/insert/1.cc: Likewise. * testsuite/multiset/modifiers/insert/2.cc: Likewise. * testsuite/multiset/modifiers/insert/22102.cc: Likewise. * testsuite/multiset/modifiers/insert/3.cc: Likewise. * testsuite/multiset/modifiers/insert/4.cc: Likewise. * testsuite/multiset/modifiers/merge.cc: Likewise. * testsuite/multiset/modifiers/swap/1.cc: Likewise. * testsuite/multiset/modifiers/swap/2.cc: Likewise. * testsuite/multiset/modifiers/swap/3.cc: Likewise. * testsuite/multiset/operations/1.cc: Likewise. * testsuite/multiset/operations/count.cc: Likewise. * testsuite/priority_queue/moveable.cc: Likewise. * testsuite/queue/moveable.cc: Likewise. * testsuite/set/allocator/copy.cc: Likewise. * testsuite/set/allocator/copy_assign.cc: Likewise. * testsuite/set/allocator/init-list.cc: Likewise. * testsuite/set/allocator/minimal.cc: Likewise. * testsuite/set/allocator/move.cc: Likewise. * testsuite/set/allocator/move_assign.cc: Likewise. * testsuite/set/allocator/swap.cc: Likewise. * testsuite/set/capacity/29134.cc: Likewise. * testsuite/set/cons/moveable.cc: Likewise. * testsuite/set/debug/construct5_neg.cc: Likewise. * testsuite/set/debug/invalidation/2.cc: Likewise. * testsuite/set/debug/move_assign_neg.cc: Likewise. * testsuite/set/debug/move_neg.cc: Likewise. * testsuite/set/init-list.cc: Likewise. * testsuite/set/modifiers/17948.cc: Likewise. * testsuite/set/modifiers/dr130.cc: Likewise. * testsuite/set/modifiers/emplace/1.cc: Likewise. * testsuite/set/modifiers/extract.cc: Likewise. * testsuite/set/modifiers/insert/1.cc: Likewise. * testsuite/set/modifiers/insert/2.cc: Likewise. * testsuite/set/modifiers/insert/3.cc: Likewise. * testsuite/set/modifiers/merge.cc: Likewise. * testsuite/set/modifiers/swap/1.cc: Likewise. * testsuite/set/modifiers/swap/2.cc: Likewise. * testsuite/set/modifiers/swap/3.cc: Likewise. * testsuite/set/operations/1.cc: Likewise. * testsuite/set/operations/count.cc: Likewise. * testsuite/set/operators/1_neg.cc: Likewise. * testsuite/unordered_map/allocator/copy.cc: Likewise. * testsuite/unordered_map/allocator/copy_assign.cc: Likewise. * testsuite/unordered_map/allocator/minimal.cc: Likewise. * testsuite/unordered_map/allocator/move.cc: Likewise. * testsuite/unordered_map/allocator/move_assign.cc: Likewise. * testsuite/unordered_map/allocator/swap.cc: Likewise. * testsuite/unordered_map/cons/moveable.cc: Likewise. * testsuite/unordered_map/debug/construct5_neg.cc: Likewise. * testsuite/unordered_map/debug/move_assign_neg.cc: Likewise. * testsuite/unordered_map/debug/move_neg.cc: Likewise. * testsuite/unordered_map/dr761.cc: Likewise. * testsuite/unordered_map/erase/1.cc: Likewise. * testsuite/unordered_map/erase/24061-map.cc: Likewise. * testsuite/unordered_map/erase/54276.cc: Likewise. * testsuite/unordered_map/hash_policy/dr1189.cc: Likewise. * testsuite/unordered_map/init-list.cc: Likewise. * testsuite/unordered_map/insert/24061-map.cc: Likewise. * testsuite/unordered_map/insert/57619.C: Likewise. * testsuite/unordered_map/insert/array_syntax.cc: Likewise. * testsuite/unordered_map/insert/array_syntax_move.cc: Likewise. * testsuite/unordered_map/insert/map_range.cc: Likewise. * testsuite/unordered_map/insert/map_single.cc: Likewise. * testsuite/unordered_map/insert/map_single_move-1.cc: Likewise. * testsuite/unordered_map/insert/map_single_move-2.cc: Likewise. * testsuite/unordered_map/modifiers/61667.cc: Likewise. * testsuite/unordered_map/modifiers/emplace.cc: Likewise. * testsuite/unordered_map/modifiers/extract.cc: Likewise. * testsuite/unordered_map/modifiers/insert_or_assign.cc: Likewise. * testsuite/unordered_map/modifiers/merge.cc: Likewise. * testsuite/unordered_map/modifiers/reserve.cc: Likewise. * testsuite/unordered_map/modifiers/try_emplace.cc: Likewise. * testsuite/unordered_map/operations/count.cc: Likewise. * testsuite/unordered_map/operators/1.cc: Likewise. * testsuite/unordered_map/operators/2.cc: Likewise. * testsuite/unordered_multimap/allocator/copy.cc: Likewise. * testsuite/unordered_multimap/allocator/copy_assign.cc: Likewise. * testsuite/unordered_multimap/allocator/minimal.cc: Likewise. * testsuite/unordered_multimap/allocator/move.cc: Likewise. * testsuite/unordered_multimap/allocator/move_assign.cc: Likewise. * testsuite/unordered_multimap/allocator/swap.cc: Likewise. * testsuite/unordered_multimap/cons/moveable.cc: Likewise. * testsuite/unordered_multimap/debug/construct5_neg.cc: Likewise. * testsuite/unordered_multimap/debug/move_assign_neg.cc: Likewise. * testsuite/unordered_multimap/debug/move_neg.cc: Likewise. * testsuite/unordered_multimap/erase/1.cc: Likewise. * testsuite/unordered_multimap/erase/2.cc: Likewise. * testsuite/unordered_multimap/erase/24061-multimap.cc: Likewise. * testsuite/unordered_multimap/erase/51845-multimap.cc: Likewise. * testsuite/unordered_multimap/erase/54276.cc: Likewise. * testsuite/unordered_multimap/hash_policy/dr1189.cc: Likewise. * testsuite/unordered_multimap/init-list.cc: Likewise. * testsuite/unordered_multimap/insert/24061-multimap.cc: Likewise. * testsuite/unordered_multimap/insert/51866.cc: Likewise. * testsuite/unordered_multimap/insert/52476.cc: Likewise. * testsuite/unordered_multimap/insert/53115.cc: Likewise. * testsuite/unordered_multimap/insert/57619.C: Likewise. * testsuite/unordered_multimap/insert/hint.cc: Likewise. * testsuite/unordered_multimap/insert/multimap_range.cc: Likewise. * testsuite/unordered_multimap/insert/multimap_single.cc: Likewise. * testsuite/unordered_multimap/insert/multimap_single_move-1.cc: Likewise. * testsuite/unordered_multimap/insert/multimap_single_move-2.cc: Likewise. * testsuite/unordered_multimap/modifiers/emplace.cc: Likewise. * testsuite/unordered_multimap/modifiers/extract.cc: Likewise. * testsuite/unordered_multimap/modifiers/merge.cc: Likewise. * testsuite/unordered_multimap/modifiers/reserve.cc: Likewise. * testsuite/unordered_multimap/operations/count.cc: Likewise. * testsuite/unordered_multimap/operators/1.cc: Likewise. * testsuite/unordered_multimap/operators/2.cc: Likewise. * testsuite/unordered_multiset/allocator/copy.cc: Likewise. * testsuite/unordered_multiset/allocator/copy_assign.cc: Likewise. * testsuite/unordered_multiset/allocator/minimal.cc: Likewise. * testsuite/unordered_multiset/allocator/move.cc: Likewise. * testsuite/unordered_multiset/allocator/move_assign.cc: Likewise. * testsuite/unordered_multiset/allocator/swap.cc: Likewise. * testsuite/unordered_multiset/cons/copy.cc: Likewise. * testsuite/unordered_multiset/cons/moveable.cc: Likewise. * testsuite/unordered_multiset/debug/construct5_neg.cc: Likewise. * testsuite/unordered_multiset/debug/move_assign_neg.cc: Likewise. * testsuite/unordered_multiset/debug/move_neg.cc: Likewise. * testsuite/unordered_multiset/erase/1.cc: Likewise. * testsuite/unordered_multiset/erase/2.cc: Likewise. * testsuite/unordered_multiset/erase/24061-multiset.cc: Likewise. * testsuite/unordered_multiset/hash_policy/dr1189.cc: Likewise. * testsuite/unordered_multiset/init-list.cc: Likewise. * testsuite/unordered_multiset/insert/24061-multiset.cc: Likewise. * testsuite/unordered_multiset/insert/51866.cc: Likewise. * testsuite/unordered_multiset/insert/52476.cc: Likewise. * testsuite/unordered_multiset/insert/53115.cc: Likewise. * testsuite/unordered_multiset/insert/hash_policy.cc: Likewise. * testsuite/unordered_multiset/insert/multiset_range.cc: Likewise. * testsuite/unordered_multiset/insert/multiset_single.cc: Likewise. * testsuite/unordered_multiset/insert/multiset_single_move.cc: Likewise. * testsuite/unordered_multiset/modifiers/emplace.cc: Likewise. * testsuite/unordered_multiset/modifiers/extract.cc: Likewise. * testsuite/unordered_multiset/modifiers/merge.cc: Likewise. * testsuite/unordered_multiset/modifiers/reserve.cc: Likewise. * testsuite/unordered_multiset/operations/count.cc: Likewise. * testsuite/unordered_multiset/operators/1.cc: Likewise. * testsuite/unordered_set/allocator/copy.cc: Likewise. * testsuite/unordered_set/allocator/copy_assign.cc: Likewise. * testsuite/unordered_set/allocator/ext_ptr.cc: Likewise. * testsuite/unordered_set/allocator/minimal.cc: Likewise. * testsuite/unordered_set/allocator/move.cc: Likewise. * testsuite/unordered_set/allocator/move_assign.cc: Likewise. * testsuite/unordered_set/allocator/swap.cc: Likewise. * testsuite/unordered_set/buckets/swap.cc: Likewise. * testsuite/unordered_set/cons/moveable.cc: Likewise. * testsuite/unordered_set/debug/construct5_neg.cc: Likewise. * testsuite/unordered_set/debug/debug_functions.cc: Likewise. * testsuite/unordered_set/debug/move_assign_neg.cc: Likewise. * testsuite/unordered_set/debug/move_neg.cc: Likewise. * testsuite/unordered_set/erase/1.cc: Likewise. * testsuite/unordered_set/erase/24061-set.cc: Likewise. * testsuite/unordered_set/hash_policy/26132.cc: Likewise. * testsuite/unordered_set/hash_policy/71181.cc: Likewise. * testsuite/unordered_set/hash_policy/dr1189.cc: Likewise. * testsuite/unordered_set/hash_policy/load_factor.cc: Likewise. * testsuite/unordered_set/hash_policy/power2_rehash.cc: Likewise. * testsuite/unordered_set/hash_policy/prime_rehash.cc: Likewise. * testsuite/unordered_set/hash_policy/rehash.cc: Likewise. * testsuite/unordered_set/init-list.cc: Likewise. * testsuite/unordered_set/insert/24061-set.cc: Likewise. * testsuite/unordered_set/insert/hash_policy.cc: Likewise. * testsuite/unordered_set/insert/move_range.cc: Likewise. * testsuite/unordered_set/insert/set_range.cc: Likewise. * testsuite/unordered_set/insert/set_single.cc: Likewise. * testsuite/unordered_set/insert/set_single_move.cc: Likewise. * testsuite/unordered_set/max_load_factor/robustness.cc: Likewise. * testsuite/unordered_set/modifiers/emplace.cc: Likewise. * testsuite/unordered_set/modifiers/extract.cc: Likewise. * testsuite/unordered_set/modifiers/merge.cc: Likewise. * testsuite/unordered_set/modifiers/reserve.cc: Likewise. * testsuite/unordered_set/modifiers/swap.cc: Likewise. * testsuite/unordered_set/operations/count.cc: Likewise. * testsuite/unordered_set/operators/1.cc: Likewise. * testsuite/vector/allocator/copy.cc: Likewise. * testsuite/vector/allocator/copy_assign.cc: Likewise. * testsuite/vector/allocator/ext_ptr.cc: Likewise. * testsuite/vector/allocator/minimal.cc: Likewise. * testsuite/vector/allocator/move.cc: Likewise. * testsuite/vector/allocator/move_assign.cc: Likewise. * testsuite/vector/allocator/swap.cc: Likewise. * testsuite/vector/bool/6886.cc: Likewise. * testsuite/vector/bool/72847.cc: Likewise. * testsuite/vector/bool/allocator/copy.cc: Likewise. * testsuite/vector/bool/allocator/copy_assign.cc: Likewise. * testsuite/vector/bool/allocator/ext_ptr.cc: Likewise. * testsuite/vector/bool/allocator/move.cc: Likewise. * testsuite/vector/bool/allocator/move_assign.cc: Likewise. * testsuite/vector/bool/allocator/swap.cc: Likewise. * testsuite/vector/bool/capacity/1.cc: Likewise. * testsuite/vector/bool/capacity/29134.cc: Likewise. * testsuite/vector/bool/capacity/shrink_to_fit.cc: Likewise. * testsuite/vector/bool/cons/1.cc: Likewise. * testsuite/vector/bool/cons/2.cc: Likewise. * testsuite/vector/bool/modifiers/erase/1.cc: Likewise. * testsuite/vector/bool/modifiers/insert/1.cc: Likewise. * testsuite/vector/bool/modifiers/insert/31370.cc: Likewise. * testsuite/vector/bool/modifiers/swap/1.cc: Likewise. * testsuite/vector/bool/modifiers/swap/2.cc: Likewise. * testsuite/vector/bool/swap.cc: Likewise. * testsuite/vector/capacity/1.cc: Likewise. * testsuite/vector/capacity/2.cc: Likewise. * testsuite/vector/capacity/29134-2.cc: Likewise. * testsuite/vector/capacity/29134.cc: Likewise. * testsuite/vector/capacity/44190.cc: Likewise. * testsuite/vector/capacity/8230.cc: Likewise. * testsuite/vector/capacity/reserve/moveable.cc: Likewise. * testsuite/vector/capacity/reserve/moveable2.cc: Likewise. * testsuite/vector/capacity/resize/1.cc: Likewise. * testsuite/vector/capacity/resize/moveable.cc: Likewise. * testsuite/vector/capacity/resize/moveable2.cc: Likewise. * testsuite/vector/capacity/resize/resize_size.cc: Likewise. * testsuite/vector/capacity/shrink_to_fit.cc: Likewise. * testsuite/vector/capacity/shrink_to_fit2.cc: Likewise. * testsuite/vector/cons/3.cc: Likewise. * testsuite/vector/cons/4.cc: Likewise. * testsuite/vector/cons/cons_size.cc: Likewise. * testsuite/vector/cons/moveable.cc: Likewise. * testsuite/vector/data_access/1.cc: Likewise. * testsuite/vector/debug/debug_functions.cc: Likewise. * testsuite/vector/debug/move_assign_neg.cc: Likewise. * testsuite/vector/debug/move_neg.cc: Likewise. * testsuite/vector/debug/multithreaded_swap.cc: Likewise. * testsuite/vector/element_access/1.cc: Likewise. * testsuite/vector/ext_pointer/citerators.cc: Likewise. * testsuite/vector/ext_pointer/data_access.cc: Likewise. * testsuite/vector/ext_pointer/modifiers/element.cc: Likewise. * testsuite/vector/ext_pointer/modifiers/erase.cc: Likewise. * testsuite/vector/ext_pointer/modifiers/insert.cc: Likewise. * testsuite/vector/ext_pointer/resize.cc: Likewise. * testsuite/vector/modifiers/1.cc: Likewise. * testsuite/vector/modifiers/2.cc: Likewise. * testsuite/vector/modifiers/emplace/self_emplace.cc: Likewise. * testsuite/vector/modifiers/erase/1.cc: Likewise. * testsuite/vector/modifiers/erase/moveable.cc: Likewise. * testsuite/vector/modifiers/insert/1.cc: Likewise. * testsuite/vector/modifiers/insert/self_insert.cc: Likewise. * testsuite/vector/modifiers/moveable.cc: Likewise. * testsuite/vector/modifiers/moveable2.cc: Likewise. * testsuite/vector/modifiers/push_back/49836.cc: Likewise. * testsuite/vector/modifiers/swap/1.cc: Likewise. * testsuite/vector/modifiers/swap/2.cc: Likewise. * testsuite/vector/modifiers/swap/3.cc: Likewise. * testsuite/vector/zero_sized_allocations.cc: Likewise. From-SVN: r241241 |
|
|
|
594ef205ae |
Implement P0084R2, Emplace return type, for C++17
* doc/xml/manual/status_cxx2017.xml: Update status. * doc/html/*: Regenerate. * include/bits/deque.tcc (deque::emplace_front, deque::emplace_back): Return a reference in C++17 mode. * include/bits/forward_list.h (forward_list::emplace_front): Likewise. * include/bits/stl_bvector.h (vector<bool>::emplace_back): Likewise. * include/bits/stl_deque.h (deque::emplace_front, deque::emplace_back): Likewise. * include/bits/stl_list.h (list::emplace_front, list::emplace_back): Likewise. * include/bits/stl_queue.h (queue::emplace): Likewise. * include/bits/stl_stack.h (stack::emplace): Likewise. * include/bits/stl_vector.h (vector::emplace_back): Likewise. * include/bits/vector.tcc (vector::emplace_back): Likewise. * include/debug/deque (__gnu_debug::deque::emplace_front) (__gnu_debug::deque::emplace_back): Likewise. * include/debug/vector (__gnu_debug::vector::emplace_back): Likewise. * testsuite/23_containers/deque/modifiers/emplace/cxx17_return.cc: New. * testsuite/23_containers/forward_list/modifiers/ emplace_cxx17_return.cc: New. * testsuite/23_containers/list/modifiers/emplace/cxx17_return.cc: New. * testsuite/23_containers/queue/members/emplace_cxx17_return.cc: New. * testsuite/23_containers/stack/members/emplace_cxx17_return.cc: New. * testsuite/23_containers/vector/bool/emplace_cxx17_return.cc: New. * testsuite/23_containers/vector/modifiers/emplace/cxx17_return.cc: New. From-SVN: r241234 |
|
|
|
d8bbd665a1 |
debug.cc: Include debug/vector.
2016-09-25 François Dumont <fdumont@gcc.gnu.org> * src/c++11/debug.cc: Include debug/vector. Include cctype. Remove functional. (get_safe_base_mutex): Get mutex based on address lowest non nil bits. * testsuite/23_containers/vector/debug/mutex_association.cc: New. From-SVN: r240479 |
|
|
|
0273c10e7b |
Fix testsuite to not increment bool
* testsuite/23_containers/vector/debug/insert6_neg.cc: Remove -Wno-deprecated. * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize. From-SVN: r240157 |
|
|
|
20a1e5b8c8 |
typeck.c (cp_build_unary_op): Diagnose incrementing boolean expressions.
* typeck.c (cp_build_unary_op): Diagnose incrementing boolean expressions. Tweak an error message. * c-c++-common/gomp/atomic-12.c: Use -Wno-deprecated. * c-c++-common/gomp/atomic-13.c: Likewise. * c-c++-common/gomp/atomic-14.c: Likewise. * g++.dg/cpp1y/lambda-init11.C: Remove invalid code. * g++.dg/cpp1z/bool-increment1.C: New test. * c-c++-common/pr60439.c: Add dg-warning. * g++.dg/expr/bitfield4.C: Likewise. * g++.dg/expr/bitfield5.C: Likewise. * g++.dg/expr/bitfield6.C: Likewise. * g++.dg/expr/bool1.C: Likewise. * g++.dg/expr/bool3.C: Likewise. * g++.dg/expr/lval3.C: Likewise. * g++.dg/expr/lval4.C: Likewise. * g++.old-deja/g++.jason/bool5.C: Likewise. * g++.dg/expr/bitfield3.C: Adjust dg-error. * g++.dg/other/error18.C: Likewise. * g++.dg/gomp/atomic-14.C: Likewise. libgomp/ * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated. libstdc++-v3/ * testsuite/23_containers/vector/debug/insert6_neg.cc: Use -Wno-deprecated. From-SVN: r240141 |
|
|
|
13cddbc115 |
Fix dg-require before dg-run directives in testsuite.
libstdc++-v3/ChangeLog: 2016-09-14 Christophe Lyon <christophe.lyon@linaro.org> * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: Move dg-do directive before dg-skip. * testsuite/21_strings/debug/iterator_self_move_assign_neg.cc: Move dg-do directive before dg-require. * testsuite/21_strings/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/vector/debug/57779_neg.cc: Likewise. * testsuite/23_containers/vector/debug/60587_neg.cc: Likewise. * testsuite/23_containers/vector/debug/assign1_neg.cc: Likewise. * testsuite/23_containers/vector/debug/assign2_neg.cc: Likewise. * testsuite/23_containers/vector/debug/assign3_neg.cc: Likewise. * testsuite/23_containers/vector/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/vector/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/vector/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/vector/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/vector/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/vector/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/vector/debug/insert5_neg.cc: Likewise. * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: Likewise. * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc: Likewise. * testsuite/25_algorithms/pop_heap/empty2_neg.cc: Likewise. * testsuite/25_algorithms/pop_heap/empty_neg.cc: Likewise. * testsuite/27_io/objects/char/12048-5.cc: Likewise. * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: Likewise. * testsuite/ext/special_functions/hyperg/check_nan.cc: Likewise. gcc/testsuite/ChangeLog: 2016-09-14 Christophe Lyon <christophe.lyon@linaro.org> * g++.dg/cpp0x/lambda/lambda-mangle.C: Move dg-do directive before dg-require. * g++.dg/ext/builtin_alloca.C: Likewise. * g++.dg/template/spec35.C: Likewise. * gcc.dg/builtins-68.c: Likewise. * gcc.misc-tests/gcov-13.c: Likewise. * gcc.misc-tests/gcov-14.c: Likewise. From-SVN: r240135 |
|
|
|
684211e11b |
[libstdc++-v3] Fix dg-require before dg-run directives in testsuite.
* testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: Move dg-do directive before dg-require. * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: Likewise. * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc: Likewise. * testsuite/22_locale/codecvt/utf8.cc: Likewise. * testsuite/22_locale/locale/cons/unicode.cc: Likewise. * testsuite/23_containers/deque/debug/assign1_neg.cc: Likewise. * testsuite/23_containers/deque/debug/assign2_neg.cc: Likewise. * testsuite/23_containers/deque/debug/assign3_neg.cc: Likewise. * testsuite/23_containers/deque/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/deque/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/deque/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/deque/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/deque/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/deque/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/deque/debug/insert5_neg.cc: Likewise. * testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/deque/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/deque/debug/shrink_to_fit.cc: Likewise. * testsuite/23_containers/forward_list/debug/60499.cc: Likewise. * testsuite/23_containers/forward_list/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/insert_after4_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/splice_after5_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/splice_after6_neg.cc: Likewise. * testsuite/23_containers/forward_list/debug/splice_after7_neg.cc: Likewise. * testsuite/23_containers/list/debug/assign1_neg.cc: Likewise. * testsuite/23_containers/list/debug/assign2_neg.cc: Likewise. * testsuite/23_containers/list/debug/assign3_neg.cc: Likewise. * testsuite/23_containers/list/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/list/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/list/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/list/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/list/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/list/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/list/debug/insert5_neg.cc: Likewise. * testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/list/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/map/debug/60499.cc: Likewise. * testsuite/23_containers/map/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/map/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/map/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/map/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/map/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/map/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/map/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/60499.cc: Likewise. * testsuite/23_containers/multimap/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/multimap/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/60499.cc: Likewise. * testsuite/23_containers/multiset/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/multiset/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/set/debug/60499.cc: Likewise. * testsuite/23_containers/set/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/set/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/set/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/set/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/set/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/set/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/set/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/60499.cc: Likewise. * testsuite/23_containers/unordered_map/debug/begin1_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/begin2_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/cbegin_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/cend_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/end1_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/end2_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_compare_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_range_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/use_erased_local_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/use_invalid_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_map/debug/use_invalid_local_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/60499.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/cend_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/end1_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/end2_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_compare_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_range_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/max_load_factor_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/use_erased_local_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/use_invalid_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_multimap/debug/use_invalid_local_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/60499.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/cend_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/end1_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/end2_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_compare_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_range_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/max_load_factor_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/use_erased_local_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/use_invalid_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_multiset/debug/use_invalid_local_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/60499.cc: Likewise. * testsuite/23_containers/unordered_set/debug/begin1_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/begin2_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/cbegin_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/cend_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/construct1_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/construct2_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/construct3_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/end1_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/end2_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/insert1_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/insert2_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/insert3_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/invalid_local_iterator_compare_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/invalid_local_iterator_range_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/use_erased_local_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/use_invalid_iterator_neg.cc: Likewise. * testsuite/23_containers/unordered_set/debug/use_invalid_local_iterator_neg.cc: Likewise. * testsuite/23_containers/vector/debug/52433.cc: Likewise. * testsuite/23_containers/vector/debug/60499.cc: Likewise. * testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc: Likewise. * testsuite/23_containers/vector/debug/iterator_self_move_assign_neg.cc: Likewise. * testsuite/23_containers/vector/debug/self_move_assign_neg.cc: Likewise. * testsuite/23_containers/vector/debug/shrink_to_fit.cc: Likewise. * testsuite/25_algorithms/pop_heap/complexity.cc: Likewise. * testsuite/25_algorithms/push_heap/complexity.cc: Likewise. * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise. * testsuite/29_atomics/atomic/60658.cc: Likewise. * testsuite/29_atomics/atomic/60695.cc: Likewise. * testsuite/29_atomics/atomic/62259.cc: Likewise. * testsuite/29_atomics/atomic/64658.cc: Likewise. * testsuite/29_atomics/atomic/cons/49445.cc: Likewise. * testsuite/29_atomics/atomic/operators/51811.cc: Likewise. * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: Likewise. From-SVN: r240090 |
|
|
|
52066eae5d |
Use effective-target instead of -std options
* testsuite/*: Use { target c++11 } or { target c++14 } instead of
using -std in dg-options.
From-SVN: r239777
|
|
|
|
71c54f8ea2 |
Simplify dg-options for tests using pthreads
* testsuite/21_strings/basic_string/pthread18185.cc: Use -pthread for *-*-solaris* instead of -pthreads. * testsuite/21_strings/basic_string/pthread4.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/27_io/basic_ofstream/pthread2.cc: Likewise. * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise. * testsuite/30_threads/shared_mutex/*: Likewise. * testsuite/ext/rope/pthread7-rope.cc: 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/20_util/shared_ptr/atomic/3.cc: Likewise. Use dg-require-effective-target instead of using -std option. * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise. * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise. * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise. * testsuite/30_threads/async/*: Likewise. * testsuite/30_threads/call_once/*: Likewise. * testsuite/30_threads/condition_variable/*: Likewise. * testsuite/30_threads/condition_variable_any/*: Likewise. * testsuite/30_threads/future/*: Likewise. * testsuite/30_threads/lock/*: Likewise. * testsuite/30_threads/mutex/*: Likewise. * testsuite/30_threads/packaged_task/*: Likewise. * testsuite/30_threads/promise/*: Likewise. * testsuite/30_threads/recursive_mutex/*: Likewise. * testsuite/30_threads/recursive_timed_mutex/*: Likewise. * testsuite/30_threads/shared_future/*: Likewise. * testsuite/30_threads/shared_lock/*: Likewise. * testsuite/30_threads/shared_timed_mutex/*: Likewise. * testsuite/30_threads/this_thread/*: Likewise. * testsuite/30_threads/thread/*: Likewise. * testsuite/30_threads/timed_mutex/*: Likewise. * testsuite/30_threads/try_lock/*: Likewise. * testsuite/30_threads/unique_lock/*: Likewise. From-SVN: r239624 |
|
|
|
32917686b0 |
PR 72847 Prevent double-free in std::vector<bool>
PR libstdc++/72847 * include/bits/stl_bvector.h (_Bvector_base::_M_deallocate): Zero pointers to start and end of storage. * testsuite/23_containers/vector/bool/72847.cc: New test. * include/bits/vector.tcc (vector<bool>::_M_reallocate): Only update _M_finish after deallocating. (vector<bool>::_M_fill_insert): Likewise. (vector<bool>::_M_insert_range): Likewise. (vector<bool>::_M_insert_aux): Likewise. From-SVN: r239497 |
|
|
|
1a2196e484 |
Fix DR 438 container tests to pass in C++98 mode
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Adjust dg-prune-output pattern for error in C++98 mode. * 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/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: r238837 |
|
|
|
e539b4ff2f |
Fix std::vector test to pass in C++98 mode
* testsuite/23_containers/vector/check_construct_destroy.cc: Account for different construct/destroy counts in C++98 mode. From-SVN: r238836 |
|
|
|
509b778f6c |
Define missing delete operators in libstdc++ testsuite
* testsuite/23_containers/vector/zero_sized_allocations.cc: Define sized deallocation function. * testsuite/util/testsuite_new_operators.h: (operator delete(void*, const std::nothrow_t&)): Define nothrow deallocation function. From-SVN: r238610 |
|
|
|
17b31c054c |
Add std::vector::emplace() testcase from LWG 2164
* testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc: Add testcase from LWG 2164. From-SVN: r238243 |
|
|
|
76225d2ca7 |
stl_vector.h (push_back(const value_type&)): Forward to _M_realloc_insert.
2016-07-11 François Dumont <fdumont@gcc.gnu.org> * include/bits/stl_vector.h (push_back(const value_type&)): Forward to _M_realloc_insert. (insert(const_iterator, value_type&&)): Forward to _M_insert_rval. (_M_realloc_insert): Declare new function. (_M_emplace_back_aux): Remove definition. * include/bits/vector.tcc (emplace_back(_Args...)): Use _M_realloc_insert. (insert(const_iterator, const value_type&)): Likewise. (_M_insert_rval, _M_emplace_aux): Likewise. (_M_emplace_back_aux): Remove declaration. (_M_realloc_insert): Define. * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: Adjust expected results for emplacing an lvalue with reallocation. From-SVN: r238226 |