summaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite
Commit message (Collapse)AuthorAgeFilesLines
* Fix testsuite to not increment boolredi2016-09-152-1/+13
| | | | | | | | * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove -Wno-deprecated. * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240157 138bc75d-0d04-0410-961f-82ee72b054a4
* * typeck.c (cp_build_unary_op): Diagnose incrementing booleanmpolacek2016-09-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240141 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix dg-require before dg-run directives in testsuite.clyon2016-09-1422-23/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240135 138bc75d-0d04-0410-961f-82ee72b054a4
* Implement P0040R3, Extending memory management tools.ville2016-09-131-0/+132
| | | | | | | | | | | | | | | | * include/bits/stl_uninitialized.h (utility): New include in C++17 mode. (uninitialized_default_construct): New. (uninitialized_default_construct_n): Likewise. (uninitialized_value_construct): Likewise. (uninitialized_value_construct_n): Likewise. (uninitialized_move): Likewise. (uninitialized_move_n): Likewise. (destroy_at, destroy, destroy_n): Likewise. * testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240122 138bc75d-0d04-0410-961f-82ee72b054a4
* Implement P0253R1, Fixing a design mistake in the searchersville2016-09-121-9/+9
| | | | | | | | | | | interface in Library Fundamentals. * include/std/functional: (utility): New include in C++17 mode. (default_searcher): Use a pair as return type, adjust the definition. (boyer_moore_searcher): Likewise. (boyer_moore_horspool_searcher): Likewise. * testsuite/20_util/function_objects/searchers.cc: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240094 138bc75d-0d04-0410-961f-82ee72b054a4
* Implement C++17 string searchers.ville2016-09-121-0/+138
| | | | | | | | | | | | | | | * include/std/functional: (unordered_map, vector): New includes in C++17 mode. (array, bits/stl_algo.h): Likewise. (default_searcher, __boyer_moore_map_base): New. (__boyer_moore_array_base, __is_std_equal_to): Likewise. (__boyer_moore_base_t, boyer_moore_searcher): Likewise. (boyer_moore_horspool_searcher, make_default_searcher): Likewise. (make_boyer_moore_searcher): Likewise. (make_boyer_moore_horspool_searcher): Likewise. * testsuite/20_util/function_objects/searchers.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240093 138bc75d-0d04-0410-961f-82ee72b054a4
* [libstdc++-v3] Fix dg-require before dg-run directives in testsuite.mwahab2016-09-12196-196/+197
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@240090 138bc75d-0d04-0410-961f-82ee72b054a4
* Constrain std::shared_ptr assignment and resettingredi2016-08-315-20/+171
| | | | | | | | | | | | | | | | | | | | | | | | | * include/bits/shared_ptr.h (_Assignable): New alias template. (shared_ptr::operator=(const shared_ptr<_Tp1>&)) (shared_ptr::operator=(shared_ptr<_Tp1>&&)) (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with _Assignable. * include/bits/shared_ptr_base.h (_Assignable): New alias template. (__shared_ptr::operator=(const __shared_ptr<_Tp1>&)) (__shared_ptr::operator=(__shared_ptr<_Tp1>&&)) (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with _Assignable. (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter)) (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with _Convertible. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to match on any line. * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test. * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update expected errors. Remove unnecessary code. * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239898 138bc75d-0d04-0410-961f-82ee72b054a4
* Move comparison object in map/set move assignmentredi2016-08-311-0/+58
| | | | | | | | * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move comparison object. * testsuite/23_containers/set/move_comparison.cc: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239897 138bc75d-0d04-0410-961f-82ee72b054a4
* Add test accidentally not added in revision r239121redi2016-08-311-0/+45
| | | | | | | * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239896 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/77395ville2016-08-305-4/+104
| | | | | | | | | | | | | * include/std/type_traits (is_constructible): Forward-declare... (__is_base_to_derived_ref): ...and use here. * testsuite/20_util/declval/requirements/1_neg.cc: Adjust. * testsuite/20_util/is_constructible/77395.cc: New. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/tuple/77395.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239870 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/22_locale/time_get/get/char/2.cc: Move dg-do runuros2016-08-306-6/+6
| | | | | | | | | | | | | directive above dg-require-namedlocale directive. * testsuite/22_locale/time_get/get/wchar_t/2.cc: Ditto. * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Ditto. * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc: Ditto. * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Ditto. * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239867 138bc75d-0d04-0410-961f-82ee72b054a4
* PR libstdc++/77356timshen2016-08-271-0/+23
| | | | | | | | | | | | | * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher, _M_expression_term): Modify to support dash literal. * include/bits/regex_scanner.h: Add dash as a token type to make a different from the mandated dash literal by escaping. * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash token in bracket expression parsing. * testsuite/28_regex/regression.cc: Add new testcases. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239794 138bc75d-0d04-0410-961f-82ee72b054a4
* libstdc++/51960 move-construction for raw_storage_iteratorredi2016-08-261-0/+46
| | | | | | | | | | | PR libstdc++/51960 * doc/xml/manual/intro.xml: Document DR 2127 change. * doc/html/*: Regenerate. * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add. (operator++(), operator++(int)): Use injected class name. * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239781 138bc75d-0d04-0410-961f-82ee72b054a4
* Use effective-target instead of -std optionsredi2016-08-262910-4512/+3067
| | | | | | | * testsuite/*: Use { target c++11 } or { target c++14 } instead of using -std in dg-options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239777 138bc75d-0d04-0410-961f-82ee72b054a4
* Restore dg-interpreter-batch-mode for libstdc++ testsredi2016-08-263-12/+14
| | | | | | | | | | | | | 2016-08-26 Jonathan Wakely <jwakely@redhat.com> Pedro Alves <palves@redhat.com> * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save and restore dg-interpreter-batch-mode. * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use gdb-dg-runtest instead of dg-runtest. * testsuite/libstdc++-xmethods/xmethods.exp: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239776 138bc75d-0d04-0410-961f-82ee72b054a4
* Add new std::basic_string constructor (LWG 2583)redi2016-08-262-0/+140
| | | | | | | | | | | | | | | | | | | * config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more precise patterns for basic_string constructors. (GLIBCXX_3.4.23): Export new constructors. * doc/xml/manual/intro.xml: Document LWG 2583 status. * doc/html/*: Regenerate. * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string(const basic_string&, size_type, const Alloc&)): Add new constructor for LWG 2583. (basic_string(const basic_string&, size_type, size_type)): Remove default argument. [!_GLIBCXX_USE_CXX11_ABI]: Likewise. * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it. * testsuite/21_strings/basic_string/cons/char/8.cc: New test. * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239773 138bc75d-0d04-0410-961f-82ee72b054a4
* libstdc++/77334 move assign RB trees of non-copyable typesredi2016-08-231-0/+28
| | | | | | | | | PR libstdc++/77334 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): New functions. (_Rb_tree::operator=(_Rb_tree&&)): Dispatch to _M_move_assign. * testsuite/23_containers/map/77334.cc: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239698 138bc75d-0d04-0410-961f-82ee72b054a4
* Use dg-do preprocess instead of compile for testsredi2016-08-232-4/+2
| | | | | | | * testsuite/experimental/feat-cxx14.cc: Only preprocess, not compile. * testsuite/experimental/feat-lib-fund.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239692 138bc75d-0d04-0410-961f-82ee72b054a4
* Implement resolution of LWG DR 685 preciselyredi2016-08-237-2/+424
| | | | | | | | | | | | | | | | | | | | PR libstdc++/71771 * include/bits/stl_iterator.h (operator-(reverse_iterator<Iter>, reverse_iterator<Iter>): Only define for C++98 mode. (operator-(move_iterator<Iter>, move_iterator<Iter>): Don't define. * testsuite/24_iterators/headers/iterator/synopsis.cc: Use -std=gnu++98. * testsuite/24_iterators/headers/iterator/synopsis_c++11.cc: New test. * testsuite/24_iterators/headers/iterator/synopsis_c++14.cc: New test. * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc: New test. * testsuite/24_iterators/move_iterator/greedy_ops.cc: Don't test difference operator. * testsuite/24_iterators/reverse_iterator/greedy_ops.cc: Only test difference operator for C++98. * testsuite/24_iterators/reverse_iterator/71771.cc: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239691 138bc75d-0d04-0410-961f-82ee72b054a4
* Add constexpr to <iterator> and <array> for C++17redi2016-08-234-7/+117
| | | | | | | | | | | | | | | | | | | | | | | * include/bits/c++config (_GLIBCXX17_CONSTEXPR): Define. * include/bits/range_access.h (begin, end, rbegin, rend, crbegin) (crend): Add _GLIBCXX17_CONSTEXPR as per P0031R0. * include/bits/stl_iterator.h (reverse_iterator, move_iterator) (__make_reverse_iterator, make_reverse_iterator, make_move_iterator): Likewise. * include/bits/stl_iterator_base_funcs.h (__distance, __advance): Add _GLIBCXX14_CONSTEXPR. (distance, advance, next, prev): Add _GLIBCXX17_CONSTEXPR. * include/std/array (array::begin, array::end, array::rbegin) (array::rend, array::cbegin, array:cend, array::crbegin) (array::crend, array::operator[], array::at, array::front) (array::back, array::data): Likewise. * testsuite/24_iterators/headers/iterator/range_access.cc: Replace with separate tests for C++11, C++14, and C++17. * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: New. * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: New. * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239690 138bc75d-0d04-0410-961f-82ee72b054a4
* libstdc++/68297 avoid throw/catch in make_exception_ptrredi2016-08-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2016-08-22 Gleb Natapov <gleb@scylladb.com> PR libstdc++/68297 * config/abi/pre/gnu-versioned-namespace.ver: Export __cxa_init_primary_exception and std::exception_ptr(void*). * config/abi/pre/gnu.ver (CXXABI_1.3.11) : Add new symbol version and export __cxa_init_primary_exception and std::exception_ptr(void*). * include/Makefile.am: Add new headers. * include/Makefile.in: Regenerate. * libsupc++/Makefile.am: Add new headers. * libsupc++/Makefile.in: Regenerate. * libsupc++/cxxabi.h (__cxa_allocate_exception): Move to ... * libsupc++/cxxabi_init_exception.h: New header. (__cxa_init_primary_exception): Declare. * libsupc++/eh_throw.cc (__cxa_init_primary_exception): Define. (__cxa_throw): Use __cxa_init_primary_exception. * libsupc++/exception (std::exception): Move to ... * libsupc++/exception.h: New header. * libsupc++/exception_ptr.h (__exception_ptr::exception_ptr): Add friend declaration. (__exception_ptr::__dest_thunk): New function template. (std::make_exception_ptr) [__cpp_rtti && !_GLIBCXX_HAVE_CDTOR_CALLABI]: Use __cxa_allocate_exception and __cxa_init_primary_exception to create exception_ptr. * libsupc++/typeinfo: Include bits/exception.h instead of exception. * testsuite/util/testsuite_abi.cc: Add CXXABI_1.3.11 version. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239664 138bc75d-0d04-0410-961f-82ee72b054a4
* Add noexcept to std::function swapredi2016-08-221-0/+25
| | | | | | | | | | PR libstdc++/77322 * doc/xml/manual/intro.xml: Document DR 2062 change. * include/std/functional (function::swap): Add noexcept. (swap(function<Res(Args...)&, function<Res(Args...)&)): Likewise. * testsuite/20_util/function/77322.cc: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239662 138bc75d-0d04-0410-961f-82ee72b054a4
* Simplify dg-options for tests using pthreadsredi2016-08-19207-603/+398
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239624 138bc75d-0d04-0410-961f-82ee72b054a4
* Define std::not_fn for C++17redi2016-08-192-3/+106
| | | | | | | | | | | | | * doc/xml/manual/status_cxx2017.xml: Update status of not_fn. * doc/html/*: Regenerate. * include/experimental/functional (_Not_fn, not_fn): Match C++17 semantics. * include/std/functional (_Not_fn, not_fn): Define for C++17. * testsuite/20_util/not_fn/1.cc: New. * testsuite/experimental/functional/not_fn.cc: Test abstract class. Remove test for volatile-qualified wrapper. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239623 138bc75d-0d04-0410-961f-82ee72b054a4
* Define std::atomic<T>::is_always_lock_free for C++17redi2016-08-193-1/+76
| | | | | | | | | | | * include/std/atomic (atomic::is_always_lock_free): Define. * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error lineno. * testsuite/29_atomics/atomic/is_always_lock_free.cc: New. * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc: New. * doc/xml/manual/status_cxx2017.xml: Update status. * doc/html/*: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239622 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix ambiguities in C++17 moderedi2016-08-193-10/+79
| | | | | | | | | | | * include/experimental/tuple (apply): Qualify call to __apply_impl. * include/std/tuple (apply): Likewise. * testsuite/experimental/system_error/value.cc: Fix ambiguities in C++17 mode. * testsuite/experimental/tuple/tuple_size.cc: Likewise. * testsuite/experimental/type_traits/value.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239621 138bc75d-0d04-0410-961f-82ee72b054a4
* Implement the latest proposed resolution of LWG 2756.ville2016-08-182-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | * include/std/optional (Optional_base(const _Tp&)) (Optional_base(_Tp&&), using _Base::_Base): Remove. (optional(nullopt_t)): New. (optional(_Up&&)): Invoke base directly with in_place rather than creating a temporary, add default template argument, change constraints. (optional(const optional<_Up>&)): Invoke base directly with in_place, remove unnecessary constraints. (optional(optional<_Up>&& __t)): Likewise. (optional(in_place_t, _Args&&...)): New. (optional(in_place_t, initializer_list<_Up>, _Args&&...)): Likewise. (operator=(_Up&&)): Add default template argument, change constraints. (operator=(const optional<_Up>&)): Put is_same first in the constraints. (operator=(optional<_Up>&&)): Likewise. * testsuite/20_util/optional/assignment/5.cc: Add a test to verify assignment from something that can't be perfect-forwarded. * testsuite/20_util/optional/cons/value.cc: Add tests to verify that a nested optional is disengaged when constructed from a disengaged element type, and to verify that assignments from an engaged element type engage the optional. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239593 138bc75d-0d04-0410-961f-82ee72b054a4
* Implement <variant>timshen2016-08-182-0/+906
| | | | | | | | | | | | | | | * include/Makefile.am: Add new file std/variant. * include/Makefile.in: Generated from Makefile.am. * include/bits/enable_special_members.h: Add a tag type to allow the construction in non-default constructor. * include/bits/uses_allocator.h: Add convenience traits to detect constructibility. * include/std/variant: Implement <variant>. * testsuite/20_util/variant/compile.cc: Compile-time tests. * testsuite/20_util/variant/run.cc: Runtime tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239590 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove unintended dg-options directiveredi2016-08-181-1/+0
| | | | | | | * testsuite/tr1/3_function_objects/function/10.cc: Remove unintended dg-options directive. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239564 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix invalid dg-do directiveredi2016-08-171-2/+1
| | | | | | | * testsuite/20_util/reference_wrapper/invoke-2.cc: Fix invalid dg-do directive and use effective target instead of dg-options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239548 138bc75d-0d04-0410-961f-82ee72b054a4
* Use effective target instead of -std in dg-optionsredi2016-08-1711-24/+22
| | | | | | | | | | | | | | | | | * testsuite/20_util/hash/chi2_q_bit_flip_set.cc: Use effective target instead of -std in dg-options. * testsuite/20_util/hash/chi2_q_bit_string_set.cc: Likewise. * testsuite/20_util/hash/chi2_q_numeric_pattern_set.cc: Likewise. * testsuite/20_util/hash/chi2_q_uniform_random.cc: Likewise. * testsuite/20_util/hash/quality.cc: Likewise. * testsuite/25_algorithms/heap/moveable.cc: Likewise. * testsuite/25_algorithms/heap/moveable2.cc: Likewise. * testsuite/25_algorithms/nth_element/random_test.cc: Likewise. * testsuite/25_algorithms/partial_sort/random_test.cc: Likewise. * testsuite/25_algorithms/partial_sort_copy/random_test.cc: Likewise. * testsuite/25_algorithms/sort/random_test.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239547 138bc75d-0d04-0410-961f-82ee72b054a4
* Add c++11 effective target to tests for C++11 featuresredi2016-08-173-2/+4
| | | | | | | | * testsuite/20_util/tuple/67844.cc: Require c++11 effective target. * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Likewise. * testsuite/27_io/rvalue_streams.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239545 138bc75d-0d04-0410-961f-82ee72b054a4
* Add comment explaining why -std=c++14 is needed.redi2016-08-171-1/+3
| | | | | | * testsuite/26_numerics/complex/literals/types.cc: Add comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239543 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove duplicate dg-options directiveredi2016-08-171-1/+0
| | | | | | | * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc: Remove duplicate dg-options directive. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239538 138bc75d-0d04-0410-961f-82ee72b054a4
* Adjust DG directives in libstdc++ Profile Mode testredi2016-08-171-3/+3
| | | | | | | * testsuite/ext/profile/all.cc: Use effective target instead of -std=gnu++11. Use dg-additional-options instead of repeating options. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239536 138bc75d-0d04-0410-961f-82ee72b054a4
* Adjust DG directives in libstdc++ XFAIL testredi2016-08-171-3/+4
| | | | | | | | * testsuite/20_util/bind/ref_neg.cc: Use effective target instead of -std=gnu++11. Add -fno-show-columns to dg-options. Use dg-prune-output instead of dg-excess-errors. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239535 138bc75d-0d04-0410-961f-82ee72b054a4
* Adjust testcases for C++17 compatibilityredi2016-08-1713-11/+40
| | | | | | | | | | | | | | | | | | | | | | * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc: Disable test for C++17. * testsuite/experimental/chrono/value.cc: Avoid ambiguities in C++17. * testsuite/experimental/ratio/value.cc: Likewise. * testsuite/ext/pb_ds/regression/hash_map_rand.cc: Disable test for C++17. * testsuite/ext/pb_ds/regression/hash_set_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/list_update_map_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/list_update_set_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/tree_map_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/tree_set_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/trie_map_rand.cc: Likewise. * testsuite/ext/pb_ds/regression/trie_set_rand.cc: Likewise. * testsuite/tr1/5_numerical_facilities/special_functions/ 10_cyl_bessel_k/airy.cc: Adjust namespace of __detail::__airy for C++17 compatibility. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239534 138bc75d-0d04-0410-961f-82ee72b054a4
* Adjust testcase for C++14 compatibilityredi2016-08-171-2/+6
| | | | | | | * testsuite/24_iterators/headers/iterator/range_access.cc: Adjust expected signatures for C++14 compatibility. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239533 138bc75d-0d04-0410-961f-82ee72b054a4
* PR 77264 constrain new std::basic_string overloadsredi2016-08-1710-0/+305
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR libstdc++/77264 * include/bits/basic_string.h (operator=(__sv_type) (append(__sv_type), assign(__sv_type), insert(size_type, __sv_type)) (replace(size_type, size_type, __sv_type)) (replace(const_iterator, const_iterator, __sv_type)) (find(__sv_type, size_type), rfind(__sv_type, size_type)) (compare(size_type, size_type, __sv_type)): Reformat. (_If_sv): Define helper for SFINAE constaints. (append(const _Tp&, size_type, size_type)) (assign(const _Tp&, size_type, size_type)) (insert(size_type, const _Tp&, size_type, size_type)) (replace(size_type, size_type, const _Tp&, size_type, size_type)): Use _If_sv. * testsuite/21_strings/basic_string/modifiers/append/char/4.cc: Test SFINAE constraints. * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc: Likewise. * testsuite/21_strings/basic_string/operations/compare/char/2.cc: Likewise. * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239532 138bc75d-0d04-0410-961f-82ee72b054a4
* PR 72847 Prevent double-free in std::vector<bool>redi2016-08-161-0/+49
| | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239497 138bc75d-0d04-0410-961f-82ee72b054a4
* Implement LWG 2744 and LWG 2754.ville2016-08-154-1/+30
| | | | | | | | | | | | | | | | | | | | * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type. (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay. (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)): Likewise. (emplace(_Args&&...)): Likewise. (emplace(initializer_list<_Up>, _Args&&...)): Likewise. * include/std/utility: (__is_in_place_type_impl): New. (__is_in_place_type): Likewise. * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying emplace. * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying in_place constructor. * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust. * testsuite/20_util/any/requirements.cc: Add a test for in_place-constructing a non-default-constructible type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239482 138bc75d-0d04-0410-961f-82ee72b054a4
* Add a feature macro for C++17 make_from_tuple.ville2016-08-151-0/+6
| | | | | | | * include/std/tuple (__cpp_lib_make_from_tuple): New. * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239480 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-08-15 Thomas Preud'homme <thomas.preudhomme@arm.com>thopre012016-08-151-2/+2
| | | | | | | | PR libstdc++/72840 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error syntax. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239463 138bc75d-0d04-0410-961f-82ee72b054a4
* Implement C++17 make_from_tuple.ville2016-08-111-0/+54
| | | | | | | * include/std/tuple (__make_from_tuple_impl, make_from_tuple): New. * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239372 138bc75d-0d04-0410-961f-82ee72b054a4
* Implement LWG 2758.ville2016-08-111-0/+46
| | | | | | | | | | | | | | | | * include/bits/basic_string.h (append(__sv_type, size_type, size_type)): Turn into a template, change parameter type, constrain, add a conversion to __sv_type from the dependent parameter type. (assign(__sv_type, size_type, size_type)): Likewise. (insert(size_type, __sv_type, size_type, size_type)): Likewise. (replace(size_type, size_type, __sv_type, size_type, size_type)): Likewise. (compare(size_type, size_type,__sv_type, size_type, size_type)): Likewise. * testsuite/21_strings/basic_string/lwg2758.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239370 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/lib/libstdc++.exp: Fix typo in comment.redi2016-08-061-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239193 138bc75d-0d04-0410-961f-82ee72b054a4
* Use ::new to avoid finding overloaded operator newredi2016-08-061-0/+27
| | | | | | | | | PR libstdc++/72820 * include/std/functional (_Function_base::_Base_manager::_M_clone): Qualify new operator. * testsuite/20_util/function/cons/72820.cc: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239191 138bc75d-0d04-0410-961f-82ee72b054a4
* Add std::apply for C++17redi2016-08-062-1/+68
| | | | | | | | | | | | | | | | | | | | * doc/xml/manual/status_cxx2017.xml: Add missing LFTSv2 features. * doc/html/manual/status.html: Regenerate. * include/Makefile.am: Add new header. * include/Makefile.in: Regenerate. * include/bits/invoke.h: New header. (__invoke): Make constexpr. Add && to types in exception specification. * include/experimental/tuple (apply, __apply_impl): Fix non-reserved names. Include <bits/invoke.h> and use std::__invoke. * include/std/functional (__invfwd, __invoke_impl, __invoke): Move to new header. (invoke): Add && to types in exception specification. * include/std/tuple (apply, __apply_impl): Define for C++17. * testsuite/20_util/tuple/apply/1.cc: New test. * testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error lineno. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239183 138bc75d-0d04-0410-961f-82ee72b054a4
* Implement C++17 rounding functions for std::chrono (P0092R1)redi2016-08-056-4/+120
| | | | | | | | | | | | | | | * include/std/chrono (floor, ceil, round, abs): New for C++17. * testsuite/20_util/duration_cast/rounding.cc: New test. * testsuite/20_util/time_point_cast/rounding.cc: New test. * doc/xml/manual/status_cxx2017.xml: Update status table. * doc/html/manual/status.html: Regenerate. * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust dg-error lineno. * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise. * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise. * testsuite/20_util/duration/literals/range.cc: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239170 138bc75d-0d04-0410-961f-82ee72b054a4