aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog455
-rw-r--r--libstdc++-v3/acinclude.m46
-rw-r--r--libstdc++-v3/config.h.in12
-rw-r--r--libstdc++-v3/config/abi/pre/gnu.ver12
-rwxr-xr-xlibstdc++-v3/configure17
-rw-r--r--libstdc++-v3/configure.ac1
-rw-r--r--libstdc++-v3/doc/html/manual/debug_mode_design.html11
-rw-r--r--libstdc++-v3/doc/html/manual/profile_mode_devel.html4
-rw-r--r--libstdc++-v3/doc/xml/manual/debug_mode.xml11
-rw-r--r--libstdc++-v3/doc/xml/manual/profile_mode.xml2
-rw-r--r--libstdc++-v3/include/bits/stl_uninitialized.h96
-rw-r--r--libstdc++-v3/include/std/functional317
-rw-r--r--libstdc++-v3/include/std/variant3
-rw-r--r--libstdc++-v3/libsupc++/Makefile.am32
-rw-r--r--libstdc++-v3/libsupc++/Makefile.in40
-rw-r--r--libstdc++-v3/libsupc++/del_opa.cc54
-rw-r--r--libstdc++-v3/libsupc++/del_opant.cc33
-rw-r--r--libstdc++-v3/libsupc++/del_opsa.cc33
-rw-r--r--libstdc++-v3/libsupc++/del_opva.cc36
-rw-r--r--libstdc++-v3/libsupc++/del_opvant.cc33
-rw-r--r--libstdc++-v3/libsupc++/del_opvsa.cc33
-rw-r--r--libstdc++-v3/libsupc++/new28
-rw-r--r--libstdc++-v3/libsupc++/new_opa.cc85
-rw-r--r--libstdc++-v3/libsupc++/new_opant.cc42
-rw-r--r--libstdc++-v3/libsupc++/new_opva.cc33
-rw-r--r--libstdc++-v3/libsupc++/new_opvant.cc42
-rw-r--r--libstdc++-v3/python/libstdcxx/v6/printers.py66
-rw-r--r--libstdc++-v3/testsuite/20_util/function_objects/searchers.cc138
-rw-r--r--libstdc++-v3/testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc132
-rw-r--r--libstdc++-v3/testsuite/21_strings/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/codecvt/utf8.cc2
-rw-r--r--libstdc++-v3/testsuite/22_locale/locale/cons/unicode.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/assign1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/assign2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/assign3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/construct1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/construct2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/construct3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/insert1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/insert2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/insert3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/insert5_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/debug/shrink_to_fit.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/60499.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/construct1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/construct2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/construct3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after5_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after6_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after7_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after8_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after9_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after4_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after5_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after6_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after7_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/assign1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/assign2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/assign3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/construct1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/construct2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/construct3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/insert1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/insert2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/insert3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/insert5_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/60499.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/construct1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/construct2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/construct3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/insert1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/insert2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/insert3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/60499.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/construct1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/construct2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/construct3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/insert1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/insert2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/insert3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multimap/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/60499.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/construct1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/construct2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/construct3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/insert1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/insert2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/insert3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/multiset/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/60499.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/construct1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/construct2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/construct3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/insert1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/insert2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/insert3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/60499.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/begin1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/begin2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/cbegin_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/cend_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/end1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/end2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_compare_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_range_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_erased_local_iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_invalid_iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_invalid_local_iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/60499.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cend_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_compare_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_range_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/max_load_factor_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_erased_local_iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_invalid_iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_invalid_local_iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/60499.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc3
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/cend_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/end1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/end2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_compare_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_range_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/max_load_factor_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_erased_local_iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_invalid_iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_invalid_local_iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/60499.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/begin1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/begin2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/cbegin_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/cend_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/end1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/end2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_compare_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_range_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_erased_local_iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_invalid_iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_invalid_local_iterator_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/52433.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/57779_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/60499.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/60587_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/assign1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/assign2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/assign3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/construct1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/construct2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/construct3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/insert1_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/insert2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/insert3_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/insert5_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/iterator_self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/self_move_assign_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/debug/shrink_to_fit.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/lower_bound/debug/irreflexive.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/pop_heap/complexity.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/pop_heap/empty2_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/pop_heap/empty_neg.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/push_heap/complexity.cc2
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/sort_heap/complexity.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc3
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/60658.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/60695.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/62259.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/64658.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/cons/49445.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/operators/51811.cc2
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/operators/pointer_partial_void.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/special_functions/conf_hyperg/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/ext/special_functions/hyperg/check_nan.cc2
-rw-r--r--libstdc++-v3/testsuite/util/debug/checks.h13
248 files changed, 2005 insertions, 253 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 10761e8c38a..70ff276beb4 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,458 @@
+2016-09-17 Jonathan Wakely <jwakely@redhat.com>
+
+ * python/libstdcxx/v6/printers.py (StdVariantPrinter): Define.
+ (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
+ Register for C++17 components in namespace std. Strip inline namespace
+ from typename.
+
+2016-09-16 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/profile_mode.xml: Fix typo.
+ * doc/html/manual/profile_mode_devel.html: Regenerate.
+
+2016-09-16 Jonathan Wakely <jwakely@redhat.com>
+ Marc Glisse <marc.glisse@inria.fr>
+
+ * libsupc++/new_opa.cc [_GLIBCXX_HAVE_ALIGNED_ALLOC]
+ (operator new(size_t, align_val_t)): Replace modulus operator with
+ mask.
+
+2016-09-16 Jonathan Wakely <jwakely@redhat.com>
+
+ * libsupc++/new_opa.cc [_GLIBCXX_HAVE_POSIX_MEMALIGN] (aligned_alloc):
+ Increase alignment if less than sizeof(void*).
+ [_GLIBCXX_HAVE_ALIGNED_ALLOC] (operator new(size_t, align_val_t)):
+ Increase size if not a multiple of alignment.
+
+2016-09-15 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/debug_mode.xml: Minor editorial fixes.
+ * doc/html/*: Regenerate.
+
+ * testsuite/23_containers/vector/debug/insert6_neg.cc: Remove
+ -Wno-deprecated.
+ * testsuite/util/debug/checks.h (generate_unique<bool>): Specialize.
+
+2016-09-14 Marek Polacek <polacek@redhat.com>
+
+ * testsuite/23_containers/vector/debug/insert6_neg.cc: Use
+ -Wno-deprecated.
+
+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.
+
+2016-09-13 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Implement P0040R3, Extending memory management tools.
+ * 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.
+
+2016-09-12 Jason Merrill <jason@redhat.com>
+
+ * config/abi/pre/gnu.ver: Use [jmy] for size_t.
+
+2016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Implement P0253R1, Fixing a design mistake in the searchers
+ 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.
+
+2016-09-12 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Implement C++17 string searchers.
+ * 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.
+
+2016-09-12 Matthew Wahab <matthew.wahab@arm.com>
+
+ * 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.
+
+2016-09-11 Jonathan Wakely <jwakely@redhat.com>
+
+ * libsupc++/new_opant.cc: Include exception_defines.h.
+ * libsupc++/new_opvant.cc: Likewise.
+
+2016-09-09 Jason Merrill <jason@redhat.com>
+
+ Implement P0035R4, C++17 new of over-aligned types.
+ * libsupc++/new: Declare aligned new/delete operators.
+ * config/abi/pre/gnu.ver: Export them.
+ * configure.ac: Check for aligned_alloc, posix_memalign, memalign,
+ _aligned_malloc.
+ * libsupc++/new_opa.cc: New.
+ * libsupc++/new_opant.cc: New.
+ * libsupc++/new_opva.cc: New.
+ * libsupc++/new_opva.cc: New.
+ * libsupc++/del_opa.cc: New.
+ * libsupc++/del_opant.cc: New.
+ * libsupc++/del_opsa.cc: New.
+ * libsupc++/del_opva.cc: New.
+ * libsupc++/del_opvant.cc: New.
+ * libsupc++/del_opvsa.cc: New.
+ * libsupc++/Makefile.am: Build them.
+
+2016-09-05 Tim Shen <timshen@google.com>
+
+ * include/std/variant: include bits/move.h for std::addressof.
+
+2016-09-05 Mikhail Strelnikov <mikhail.strelnikov@gmail.com>
+
+ * include/std/variant (_Variant_storage::_M_storage()): Use
+ std::addressof instead of operator& to take address.
+
+2016-09-02 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
+
+ * acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of
+ setrlimit on both native and cross targets.
+ * configure: Regenerate.
+
2016-08-31 Jonathan Wakely <jwakely@redhat.com>
* include/bits/shared_ptr.h (_Assignable): New alias template.
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index aaf5adbe62b..6d897bed8b1 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -632,10 +632,10 @@ dnl baseline_dir
dnl baseline_subdir_switch
dnl
AC_DEFUN([GLIBCXX_CONFIGURE_TESTSUITE], [
- if $GLIBCXX_IS_NATIVE ; then
- # Do checks for resource limit functions.
- GLIBCXX_CHECK_SETRLIMIT
+ # Do checks for resource limit functions.
+ GLIBCXX_CHECK_SETRLIMIT
+ if $GLIBCXX_IS_NATIVE ; then
# Look for setenv, so that extended locale tests can be performed.
GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_3(setenv)
fi
diff --git a/libstdc++-v3/config.h.in b/libstdc++-v3/config.h.in
index 5ac2df4d8a8..2ab6e0d6a49 100644
--- a/libstdc++-v3/config.h.in
+++ b/libstdc++-v3/config.h.in
@@ -6,6 +6,9 @@
/* Define to 1 if you have the `acosl' function. */
#undef HAVE_ACOSL
+/* Define to 1 if you have the `aligned_alloc' function. */
+#undef HAVE_ALIGNED_ALLOC
+
/* Define to 1 if you have the `asinf' function. */
#undef HAVE_ASINF
@@ -285,6 +288,9 @@
/* Define if mbstate_t exists in wchar.h. */
#undef HAVE_MBSTATE_T
+/* Define to 1 if you have the `memalign' function. */
+#undef HAVE_MEMALIGN
+
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
@@ -309,6 +315,9 @@
/* Define if poll is available in <poll.h>. */
#undef HAVE_POLL
+/* Define to 1 if you have the `posix_memalign' function. */
+#undef HAVE_POSIX_MEMALIGN
+
/* Define to 1 if you have the `powf' function. */
#undef HAVE_POWF
@@ -505,6 +514,9 @@
/* Define to 1 if you have the `_acosl' function. */
#undef HAVE__ACOSL
+/* Define to 1 if you have the `_aligned_malloc' function. */
+#undef HAVE__ALIGNED_MALLOC
+
/* Define to 1 if you have the `_asinf' function. */
#undef HAVE__ASINF
diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
index 0ab4bb10b35..8b0f67bbf87 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -2197,6 +2197,18 @@ CXXABI_1.3.11 {
__cxa_init_primary_exception;
_ZNSt15__exception_ptr13exception_ptrC1EPv;
+ # C++17 aligned new/delete
+ _Znw[jmy]St11align_val_t;
+ _Znw[jmy]St11align_val_tRKSt9nothrow_t;
+ _Zna[jmy]St11align_val_t;
+ _Zna[jmy]St11align_val_tRKSt9nothrow_t;
+ _ZdlPvSt11align_val_t;
+ _ZdlPvSt11align_val_tRKSt9nothrow_t;
+ _ZdlPv[jmy]St11align_val_t;
+ _ZdaPvSt11align_val_t;
+ _ZdaPvSt11align_val_tRKSt9nothrow_t;
+ _ZdaPv[jmy]St11align_val_t;
+
} CXXABI_1.3.10;
# Symbols in the support library (libsupc++) supporting transactional memory.
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index f2a75aaa2f3..6332c4d7f87 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -27972,6 +27972,19 @@ _ACEOF
fi
done
+ for ac_func in aligned_alloc posix_memalign memalign _aligned_malloc
+do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+eval as_val=\$$as_ac_var
+ if test "x$as_val" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
# For iconv support.
@@ -79449,8 +79462,7 @@ $as_echo "$ac_cv_x86_rdrand" >&6; }
# This depends on GLIBCXX_ENABLE_SYMVERS and GLIBCXX_IS_NATIVE.
- if $GLIBCXX_IS_NATIVE ; then
- # Do checks for resource limit functions.
+ # Do checks for resource limit functions.
setrlimit_have_headers=yes
for ac_header in unistd.h sys/time.h sys/resource.h
@@ -79679,6 +79691,7 @@ $as_echo "#define _GLIBCXX_RES_LIMITS 1" >>confdefs.h
$as_echo "$ac_res_limits" >&6; }
+ if $GLIBCXX_IS_NATIVE ; then
# Look for setenv, so that extended locale tests can be performed.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for setenv declaration" >&5
diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
index 9e19e9927fd..5657ecb27dc 100644
--- a/libstdc++-v3/configure.ac
+++ b/libstdc++-v3/configure.ac
@@ -256,6 +256,7 @@ if $GLIBCXX_IS_NATIVE; then
GCC_CHECK_TLS
AC_CHECK_FUNCS(__cxa_thread_atexit_impl)
+ AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc)
# For iconv support.
AM_ICONV
diff --git a/libstdc++-v3/doc/html/manual/debug_mode_design.html b/libstdc++-v3/doc/html/manual/debug_mode_design.html
index 747f192c47f..3373471d48e 100644
--- a/libstdc++-v3/doc/html/manual/debug_mode_design.html
+++ b/libstdc++-v3/doc/html/manual/debug_mode_design.html
@@ -352,8 +352,7 @@ test02()
declarations disallow specialization. This method fails
the <span class="emphasis"><em>correctness</em></span> criteria.</p></li><li class="listitem"><p><span class="emphasis"><em> Use implementation-specific properties of anonymous
namespaces. </em></span>
- See <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00004.html" target="_top"> this post
- </a>
+ See <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00004.html" target="_top">this post</a>.
This method fails the <span class="emphasis"><em>correctness</em></span> criteria.</p></li><li class="listitem"><p><span class="emphasis"><em>Extension: allow reopening on namespaces</em></span>: This would
allow the debug mode to effectively alias the
namespace <code class="code">std</code> to an internal namespace, such
@@ -365,8 +364,8 @@ test02()
instance, the program would have two <code class="code">std::cout</code>
objects! This solution would fails the <span class="emphasis"><em>minimize
recompilation</em></span> requirement, because we would only be able to
- support option (1) or (2).</p></li><li class="listitem"><p><span class="emphasis"><em>Extension: use link name</em></span>: This option involves
- complicated re-naming between debug-mode and release-mode
+ support option (1) or (2).</p></li><li class="listitem"><p><span class="emphasis"><em>Extension: use link name</em></span>: This option
+ involves complicated re-naming between debug-mode and release-mode
components at compile time, and then a g++ extension called <span class="emphasis"><em>
link name </em></span> to recover the original names at link time. There
are two drawbacks to this approach. One, it's very verbose,
@@ -375,8 +374,8 @@ test02()
functions taking no arguments in mixed-mode settings resulting in
equivalent link names, <code class="code"> vector::push_back() </code> being
one example.
- See <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00177.html" target="_top">link
- name</a> </p></li></ul></div><p>Other options may exist for implementing the debug mode, many of
+ See <a class="link" href="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00177.html" target="_top">proof-of-concept using link
+ name</a>. </p></li></ul></div><p>Other options may exist for implementing the debug mode, many of
which have probably been considered and others that may still be
lurking. This list may be expanded over time to include other
options that we could have implemented, but in all cases the full
diff --git a/libstdc++-v3/doc/html/manual/profile_mode_devel.html b/libstdc++-v3/doc/html/manual/profile_mode_devel.html
index cb0c9de828b..2521dd66811 100644
--- a/libstdc++-v3/doc/html/manual/profile_mode_devel.html
+++ b/libstdc++-v3/doc/html/manual/profile_mode_devel.html
@@ -34,7 +34,7 @@
<code class="code">include/profile/impl/profiler.h</code>.
Hook names must start with <code class="code">__profcxx_</code>.
Make sure they transform
- in no code with <code class="code">-D_NO_GLBICXX_PROFILE_MAGIC</code>.
+ in no code with <code class="code">-D_NO_GLIBCXX_PROFILE_MAGIC</code>.
Make sure all calls to any method in namespace <code class="code">__gnu_profile</code>
is protected against reentrance using macro
<code class="code">_GLIBCXX_PROFILE_REENTRANCE_GUARD</code>.
@@ -64,4 +64,4 @@
<code class="code">include/profile/impl/profiler_trace.h</code>. Use
<code class="code">__trace_vector_to_list</code> as an example.
</p><p>Add documentation in file <code class="code">doc/xml/manual/profile_mode.xml</code>.
- </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="profile_mode_impl.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="profile_mode_diagnostics.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Implementation Issues </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Diagnostics</td></tr></table></div></body></html> \ No newline at end of file
+ </p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="profile_mode_impl.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="profile_mode.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="profile_mode_diagnostics.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Implementation Issues </td><td width="20%" align="center"><a accesskey="h" href="../index.html">Home</a></td><td width="40%" align="right" valign="top"> Diagnostics</td></tr></table></div></body></html>
diff --git a/libstdc++-v3/doc/xml/manual/debug_mode.xml b/libstdc++-v3/doc/xml/manual/debug_mode.xml
index 8b5380dfeec..ff2f1cced89 100644
--- a/libstdc++-v3/doc/xml/manual/debug_mode.xml
+++ b/libstdc++-v3/doc/xml/manual/debug_mode.xml
@@ -800,8 +800,7 @@ test02()
<listitem><para><emphasis> Use implementation-specific properties of anonymous
namespaces. </emphasis>
- See <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00004.html"> this post
- </link>
+ See <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00004.html">this post</link>.
This method fails the <emphasis>correctness</emphasis> criteria.</para></listitem>
<listitem><para><emphasis>Extension: allow reopening on namespaces</emphasis>: This would
@@ -817,8 +816,8 @@ test02()
recompilation</emphasis> requirement, because we would only be able to
support option (1) or (2).</para></listitem>
- <listitem><para><emphasis>Extension: use link name</emphasis>: This option involves
- complicated re-naming between debug-mode and release-mode
+ <listitem><para><emphasis>Extension: use link name</emphasis>: This option
+ involves complicated re-naming between debug-mode and release-mode
components at compile time, and then a g++ extension called <emphasis>
link name </emphasis> to recover the original names at link time. There
are two drawbacks to this approach. One, it's very verbose,
@@ -827,8 +826,8 @@ test02()
functions taking no arguments in mixed-mode settings resulting in
equivalent link names, <code> vector::push_back() </code> being
one example.
- See <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00177.html">link
- name</link> </para></listitem>
+ See <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/ml/libstdc++/2003-08/msg00177.html">proof-of-concept using link
+ name</link>. </para></listitem>
</itemizedlist>
<para>Other options may exist for implementing the debug mode, many of
diff --git a/libstdc++-v3/doc/xml/manual/profile_mode.xml b/libstdc++-v3/doc/xml/manual/profile_mode.xml
index 0125f55a629..2f5eb6bfe51 100644
--- a/libstdc++-v3/doc/xml/manual/profile_mode.xml
+++ b/libstdc++-v3/doc/xml/manual/profile_mode.xml
@@ -619,7 +619,7 @@ it helps the user focus on the key problems and ignore the uninteresting ones.
<code>include/profile/impl/profiler.h</code>.
Hook names must start with <code>__profcxx_</code>.
Make sure they transform
- in no code with <code>-D_NO_GLBICXX_PROFILE_MAGIC</code>.
+ in no code with <code>-D_NO_GLIBCXX_PROFILE_MAGIC</code>.
Make sure all calls to any method in namespace <code>__gnu_profile</code>
is protected against reentrance using macro
<code>_GLIBCXX_PROFILE_REENTRANCE_GUARD</code>.
diff --git a/libstdc++-v3/include/bits/stl_uninitialized.h b/libstdc++-v3/include/bits/stl_uninitialized.h
index 6cfba13cb93..c5c81fb2c66 100644
--- a/libstdc++-v3/include/bits/stl_uninitialized.h
+++ b/libstdc++-v3/include/bits/stl_uninitialized.h
@@ -56,6 +56,10 @@
#ifndef _STL_UNINITIALIZED_H
#define _STL_UNINITIALIZED_H 1
+#if __cplusplus > 201402L
+#include <utility>
+#endif
+
namespace std _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
@@ -682,6 +686,98 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
std::__iterator_category(__first)); }
#endif
+#if __cplusplus > 201402L
+ template <typename _ForwardIterator>
+ inline void
+ uninitialized_default_construct(_ForwardIterator __first,
+ _ForwardIterator __last)
+ {
+ for (; __first != __last; ++__first)
+ ::new (static_cast<void*>(std::__addressof(*__first)))
+ typename iterator_traits<_ForwardIterator>::value_type;
+ }
+
+ template <typename _ForwardIterator, typename _Size>
+ inline _ForwardIterator
+ uninitialized_default_construct_n(_ForwardIterator __first, _Size __count)
+ {
+ for (; __count > 0; (void)++__first, --__count)
+ ::new (static_cast<void*>(std::__addressof(*__first)))
+ typename iterator_traits<_ForwardIterator>::value_type;
+ return __first;
+ }
+
+ template <typename _ForwardIterator>
+ inline void
+ uninitialized_value_construct(_ForwardIterator __first,
+ _ForwardIterator __last)
+ {
+ for (; __first != __last; ++__first)
+ ::new (static_cast<void*>(std::__addressof(*__first)))
+ typename iterator_traits<_ForwardIterator>::value_type();
+ }
+
+ template <typename _ForwardIterator, typename _Size>
+ inline _ForwardIterator
+ uninitialized_value_construct_n(_ForwardIterator __first, _Size __count)
+ {
+ for (; __count > 0; (void)++__first, --__count)
+ ::new (static_cast<void*>(std::__addressof(*__first)))
+ typename iterator_traits<_ForwardIterator>::value_type();
+ return __first;
+ }
+
+ template <typename _InputIterator, typename _ForwardIterator>
+ inline _ForwardIterator
+ uninitialized_move(_InputIterator __first, _InputIterator __last,
+ _ForwardIterator __result)
+ {
+ for (; __first != __last; (void)++__result, ++__first)
+ ::new (static_cast<void*>(std::__addressof(*__result)))
+ typename
+ iterator_traits<_ForwardIterator>::value_type(std::move(*__first));
+ return __result;
+ }
+
+ template <typename _InputIterator, typename _Size, typename _ForwardIterator>
+ inline pair<_InputIterator, _ForwardIterator>
+ uninitialized_move_n(_InputIterator __first, _Size __count,
+ _ForwardIterator __result)
+ {
+ for (; __count > 0; ++__result, (void) ++__first, --__count)
+ ::new (static_cast<void*>(std::__addressof(*__result)))
+ typename
+ iterator_traits<_ForwardIterator>::value_type(std::move(*__first));
+ return {__first, __result};
+ }
+
+ template <typename _Tp>
+ inline void
+ destroy_at(_Tp* __location)
+ {
+ __location->~_Tp();
+ }
+
+ template <typename _ForwardIterator>
+ inline void
+ destroy(_ForwardIterator __first, _ForwardIterator __last)
+ {
+ for (; __first != __last; ++__first)
+ std::destroy_at(std::__addressof(*__first));
+ }
+
+ template <typename _ForwardIterator, typename _Size>
+ inline _ForwardIterator
+ destroy_n(_ForwardIterator __first, _Size __count)
+ {
+ for (; __count > 0; (void)++__first, --__count)
+ std::destroy_at(std::__addressof(*__first));
+ return __first;
+ }
+
+#endif
+
+
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
diff --git a/libstdc++-v3/include/std/functional b/libstdc++-v3/include/std/functional
index 05d4282c8bd..c750a8374bc 100644
--- a/libstdc++-v3/include/std/functional
+++ b/libstdc++-v3/include/std/functional
@@ -58,6 +58,14 @@
#include <bits/functional_hash.h>
#include <bits/invoke.h>
+#if __cplusplus > 201402L
+#include <unordered_map>
+#include <vector>
+#include <array>
+#include <utility>
+#include <bits/stl_algo.h>
+#endif
+
namespace std _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
@@ -2197,6 +2205,315 @@ _GLIBCXX_MEM_FN_TRAITS(&&, false_type, true_type)
return _Not_fn<std::decay_t<_Fn>>{std::forward<_Fn>(__fn)};
}
+ // Searchers
+
+ template<typename _ForwardIterator1, typename _BinaryPredicate = equal_to<>>
+ class default_searcher
+ {
+ public:
+ default_searcher(_ForwardIterator1 __pat_first,
+ _ForwardIterator1 __pat_last,
+ _BinaryPredicate __pred = _BinaryPredicate())
+ : _M_m(__pat_first, __pat_last, std::move(__pred))
+ { }
+
+ template<typename _ForwardIterator2>
+ pair<_ForwardIterator2, _ForwardIterator2>
+ operator()(_ForwardIterator2 __first, _ForwardIterator2 __last) const
+ {
+ _ForwardIterator2 __first_ret =
+ std::search(__first, __last,
+ std::get<0>(_M_m), std::get<1>(_M_m),
+ std::get<2>(_M_m));
+ _ForwardIterator2 __second_ret = __first_ret == __last ?
+ __last : std::next(__first_ret, std::distance(std::get<0>(_M_m),
+ std::get<1>(_M_m)));
+ return std::make_pair(__first_ret, __second_ret);
+ }
+
+ private:
+ std::tuple<_ForwardIterator1, _ForwardIterator1, _BinaryPredicate> _M_m;
+ };
+
+ template<typename _Key, typename _Tp, typename _Hash, typename _Pred>
+ struct __boyer_moore_map_base
+ {
+ template<typename _RAIter>
+ __boyer_moore_map_base(_RAIter __pat, size_t __patlen,
+ _Hash&& __hf, _Pred&& __pred)
+ : _M_bad_char{ __patlen, std::move(__hf), std::move(__pred) }
+ {
+ if (__patlen > 0)
+ for (__diff_type __i = 0; __i < __patlen - 1; ++__i)
+ _M_bad_char[__pat[__i]] = __patlen - 1 - __i;
+ }
+
+ using __diff_type = _Tp;
+
+ __diff_type
+ _M_lookup(_Key __key, __diff_type __not_found) const
+ {
+ auto __iter = _M_bad_char.find(__key);
+ if (__iter == _M_bad_char.end())
+ return __not_found;
+ return __iter->second;
+ }
+
+ _Pred
+ _M_pred() const { return _M_bad_char.key_eq(); }
+
+ std::unordered_map<_Key, _Tp, _Hash, _Pred> _M_bad_char;
+ };
+
+ template<typename _Tp, size_t _Len, typename _Pred>
+ struct __boyer_moore_array_base
+ {
+ template<typename _RAIter, typename _Unused>
+ __boyer_moore_array_base(_RAIter __pat, size_t __patlen,
+ _Unused&&, _Pred&& __pred)
+ : _M_bad_char{ std::array<_Tp, _Len>{}, std::move(__pred) }
+ {
+ std::get<0>(_M_bad_char).fill(__patlen);
+ if (__patlen > 0)
+ for (__diff_type __i = 0; __i < __patlen - 1; ++__i)
+ {
+ auto __ch = __pat[__i];
+ using _UCh = std::make_unsigned_t<decltype(__ch)>;
+ auto __uch = static_cast<_UCh>(__ch);
+ std::get<0>(_M_bad_char)[__uch] = __patlen - 1 - __i;
+ }
+ }
+
+ using __diff_type = _Tp;
+
+ template<typename _Key>
+ __diff_type
+ _M_lookup(_Key __key, __diff_type __not_found) const
+ {
+ auto __ukey = static_cast<std::make_unsigned_t<_Key>>(__key);
+ if (__ukey >= _Len)
+ return __not_found;
+ return std::get<0>(_M_bad_char)[__ukey];
+ }
+
+ const _Pred&
+ _M_pred() const { return std::get<1>(_M_bad_char); }
+
+ std::tuple<std::array<_Tp, _Len>, _Pred> _M_bad_char;
+ };
+
+ template<typename _Pred>
+ struct __is_std_equal_to : std::false_type { };
+
+ template<>
+ struct __is_std_equal_to<std::equal_to<void>> : std::true_type { };
+
+ // Use __boyer_moore_array_base when pattern consists of narrow characters
+ // and uses std::equal_to as the predicate.
+ template<typename _RAIter, typename _Hash, typename _Pred,
+ typename _Val = typename iterator_traits<_RAIter>::value_type,
+ typename _Diff = typename iterator_traits<_RAIter>::difference_type>
+ using __boyer_moore_base_t
+ = std::conditional_t<sizeof(_Val) == 1 && is_integral<_Val>::value
+ && __is_std_equal_to<_Pred>::value,
+ __boyer_moore_array_base<_Diff, 256, _Pred>,
+ __boyer_moore_map_base<_Val, _Diff, _Hash, _Pred>>;
+
+ template<typename _RAIter, typename _Hash
+ = std::hash<typename std::iterator_traits<_RAIter>::value_type>,
+ typename _BinaryPredicate = std::equal_to<>>
+ class boyer_moore_searcher
+ : __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>
+ {
+ using _Base = __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>;
+ using typename _Base::__diff_type;
+
+ public:
+ boyer_moore_searcher(_RAIter __pat_first, _RAIter __pat_last,
+ _Hash __hf = _Hash(),
+ _BinaryPredicate __pred = _BinaryPredicate());
+
+ template<typename _RandomAccessIterator2>
+ pair<_RandomAccessIterator2, _RandomAccessIterator2>
+ operator()(_RandomAccessIterator2 __first,
+ _RandomAccessIterator2 __last) const;
+
+ private:
+ bool
+ _M_is_prefix(_RAIter __word, __diff_type __len,
+ __diff_type __pos)
+ {
+ const auto& __pred = this->_M_pred();
+ __diff_type __suffixlen = __len - __pos;
+ for (__diff_type __i = 0; __i < __suffixlen; ++__i)
+ if (!__pred(__word[__i], __word[__pos + __i]))
+ return false;
+ return true;
+ }
+
+ __diff_type
+ _M_suffix_length(_RAIter __word, __diff_type __len,
+ __diff_type __pos)
+ {
+ const auto& __pred = this->_M_pred();
+ __diff_type __i = 0;
+ while (__pred(__word[__pos - __i], __word[__len - 1 - __i])
+ && __i < __pos)
+ {
+ ++__i;
+ }
+ return __i;
+ }
+
+ template<typename _Tp>
+ __diff_type
+ _M_bad_char_shift(_Tp __c) const
+ { return this->_M_lookup(__c, _M_pat_end - _M_pat); }
+
+ _RAIter _M_pat;
+ _RAIter _M_pat_end;
+ std::vector<__diff_type> _M_good_suffix;
+ };
+
+ template<typename _RAIter, typename _Hash
+ = std::hash<typename std::iterator_traits<_RAIter>::value_type>,
+ typename _BinaryPredicate = std::equal_to<>>
+ class boyer_moore_horspool_searcher
+ : __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>
+ {
+ using _Base = __boyer_moore_base_t<_RAIter, _Hash, _BinaryPredicate>;
+ using typename _Base::__diff_type;
+
+ public:
+ boyer_moore_horspool_searcher(_RAIter __pat,
+ _RAIter __pat_end,
+ _Hash __hf = _Hash(),
+ _BinaryPredicate __pred
+ = _BinaryPredicate())
+ : _Base(__pat, __pat_end - __pat, std::move(__hf), std::move(__pred)),
+ _M_pat(__pat), _M_pat_end(__pat_end)
+ { }
+
+ template<typename _RandomAccessIterator2>
+ pair<_RandomAccessIterator2, _RandomAccessIterator2>
+ operator()(_RandomAccessIterator2 __first,
+ _RandomAccessIterator2 __last) const
+ {
+ const auto& __pred = this->_M_pred();
+ auto __patlen = _M_pat_end - _M_pat;
+ if (__patlen == 0)
+ return std::make_pair(__first, __first);
+ auto __len = __last - __first;
+ while (__len >= __patlen)
+ {
+ for (auto __scan = __patlen - 1;
+ __pred(__first[__scan], _M_pat[__scan]); --__scan)
+ if (__scan == 0)
+ return std::make_pair(__first,
+ std::next(__first, __patlen));
+ auto __shift = _M_bad_char_shift(__first[__patlen - 1]);
+ __len -= __shift;
+ __first += __shift;
+ }
+ return std::make_pair(__last, __last);
+ }
+
+ private:
+ template<typename _Tp>
+ __diff_type
+ _M_bad_char_shift(_Tp __c) const
+ { return this->_M_lookup(__c, _M_pat_end - _M_pat); }
+
+ _RAIter _M_pat;
+ _RAIter _M_pat_end;
+ };
+
+ /// Generator function for default_searcher
+ template<typename _ForwardIterator,
+ typename _BinaryPredicate = std::equal_to<>>
+ inline default_searcher<_ForwardIterator, _BinaryPredicate>
+ make_default_searcher(_ForwardIterator __pat_first,
+ _ForwardIterator __pat_last,
+ _BinaryPredicate __pred = _BinaryPredicate())
+ { return { __pat_first, __pat_last, __pred }; }
+
+ /// Generator function for boyer_moore_searcher
+ template<typename _RAIter, typename _Hash
+ = std::hash<typename std::iterator_traits<_RAIter>::value_type>,
+ typename _BinaryPredicate = equal_to<>>
+ inline boyer_moore_searcher<_RAIter, _Hash, _BinaryPredicate>
+ make_boyer_moore_searcher(_RAIter __pat_first, _RAIter __pat_last,
+ _Hash __hf = _Hash(),
+ _BinaryPredicate __pred = _BinaryPredicate())
+ { return { __pat_first, __pat_last, std::move(__hf), std::move(__pred) }; }
+
+ /// Generator function for boyer_moore_horspool_searcher
+ template<typename _RAIter, typename _Hash
+ = std::hash<typename std::iterator_traits<_RAIter>::value_type>,
+ typename _BinaryPredicate = equal_to<>>
+ inline boyer_moore_horspool_searcher<_RAIter, _Hash, _BinaryPredicate>
+ make_boyer_moore_horspool_searcher(_RAIter __pat_first, _RAIter __pat_last,
+ _Hash __hf = _Hash(),
+ _BinaryPredicate __pred
+ = _BinaryPredicate())
+ { return { __pat_first, __pat_last, std::move(__hf), std::move(__pred) }; }
+
+ template<typename _RAIter, typename _Hash, typename _BinaryPredicate>
+ boyer_moore_searcher<_RAIter, _Hash, _BinaryPredicate>::
+ boyer_moore_searcher(_RAIter __pat, _RAIter __pat_end,
+ _Hash __hf, _BinaryPredicate __pred)
+ : _Base(__pat, __pat_end - __pat, std::move(__hf), std::move(__pred)),
+ _M_pat(__pat), _M_pat_end(__pat_end), _M_good_suffix(__pat_end - __pat)
+ {
+ auto __patlen = __pat_end - __pat;
+ if (__patlen == 0)
+ return;
+ __diff_type __last_prefix = __patlen - 1;
+ for (__diff_type __p = __patlen - 1; __p >= 0; --__p)
+ {
+ if (_M_is_prefix(__pat, __patlen, __p + 1))
+ __last_prefix = __p + 1;
+ _M_good_suffix[__p] = __last_prefix + (__patlen - 1 - __p);
+ }
+ for (__diff_type __p = 0; __p < __patlen - 1; ++__p)
+ {
+ auto __slen = _M_suffix_length(__pat, __patlen, __p);
+ auto __pos = __patlen - 1 - __slen;
+ if (!__pred(__pat[__p - __slen], __pat[__pos]))
+ _M_good_suffix[__pos] = __patlen - 1 - __p + __slen;
+ }
+ }
+
+ template<typename _RAIter, typename _Hash, typename _BinaryPredicate>
+ template<typename _RandomAccessIterator2>
+ pair<_RandomAccessIterator2, _RandomAccessIterator2>
+ boyer_moore_searcher<_RAIter, _Hash, _BinaryPredicate>::
+ operator()(_RandomAccessIterator2 __first,
+ _RandomAccessIterator2 __last) const
+ {
+ auto __patlen = _M_pat_end - _M_pat;
+ if (__patlen == 0)
+ return std::make_pair(__first, __first);
+ const auto& __pred = this->_M_pred();
+ __diff_type __i = __patlen - 1;
+ auto __stringlen = __last - __first;
+ while (__i < __stringlen)
+ {
+ __diff_type __j = __patlen - 1;
+ while (__j >= 0 && __pred(__first[__i], _M_pat[__j]))
+ {
+ --__i;
+ --__j;
+ }
+ if (__j < 0)
+ return std::make_pair(__first + __i + 1, std::next(__first,
+ __patlen));
+ __i += std::max(_M_bad_char_shift(__first[__i]),
+ _M_good_suffix[__j]);
+ }
+ return std::make_pair(__last, __last);
+ }
+
#endif
_GLIBCXX_END_NAMESPACE_VERSION
diff --git a/libstdc++-v3/include/std/variant b/libstdc++-v3/include/std/variant
index a9b43944770..7dbb533dd83 100644
--- a/libstdc++-v3/include/std/variant
+++ b/libstdc++-v3/include/std/variant
@@ -38,6 +38,7 @@
#include <type_traits>
#include <utility>
#include <bits/enable_special_members.h>
+#include <bits/move.h>
#include <bits/uses_allocator.h>
namespace std _GLIBCXX_VISIBILITY(default)
@@ -312,7 +313,7 @@ namespace __variant
_M_storage() const
{
return const_cast<void*>(
- static_cast<const void*>(&_M_first._M_storage));
+ static_cast<const void*>(std::addressof(_M_first._M_storage)));
}
union
diff --git a/libstdc++-v3/libsupc++/Makefile.am b/libstdc++-v3/libsupc++/Makefile.am
index ba4eac1e3f8..2df31ff668e 100644
--- a/libstdc++-v3/libsupc++/Makefile.am
+++ b/libstdc++-v3/libsupc++/Makefile.am
@@ -88,6 +88,16 @@ sources = \
new_opnt.cc \
new_opv.cc \
new_opvnt.cc \
+ new_opa.cc \
+ new_opant.cc \
+ new_opva.cc \
+ new_opvant.cc \
+ del_opa.cc \
+ del_opant.cc \
+ del_opsa.cc \
+ del_opva.cc \
+ del_opvant.cc \
+ del_opvsa.cc \
pbase_type_info.cc \
pmem_type_info.cc \
pointer_type_info.cc \
@@ -189,6 +199,28 @@ del_opvs.lo: del_opvs.cc
del_opvs.o: del_opvs.cc
$(CXXCOMPILE) -std=gnu++14 -Wno-sized-deallocation -c $<
+# Use special rules for the C++17 sources so that the proper flags are passed.
+new_opa.lo: new_opa.cc
+ $(LTCXXCOMPILE) -std=gnu++1z -c $<
+new_opant.lo: new_opant.cc
+ $(LTCXXCOMPILE) -std=gnu++1z -c $<
+new_opva.lo: new_opva.cc
+ $(LTCXXCOMPILE) -std=gnu++1z -c $<
+new_opvant.lo: new_opvant.cc
+ $(LTCXXCOMPILE) -std=gnu++1z -c $<
+del_opa.lo: del_opa.cc
+ $(LTCXXCOMPILE) -std=gnu++1z -c $<
+del_opant.lo: del_opant.cc
+ $(LTCXXCOMPILE) -std=gnu++1z -c $<
+del_opsa.lo: del_opsa.cc
+ $(LTCXXCOMPILE) -std=gnu++1z -c $<
+del_opva.lo: del_opva.cc
+ $(LTCXXCOMPILE) -std=gnu++1z -c $<
+del_opvant.lo: del_opvant.cc
+ $(LTCXXCOMPILE) -std=gnu++1z -c $<
+del_opvsa.lo: del_opvsa.cc
+ $(LTCXXCOMPILE) -std=gnu++1z -c $<
+
# AM_CXXFLAGS needs to be in each subdirectory so that it can be
# modified in a per-library or per-sub-library way. Need to manually
# set this option because CONFIG_CXXFLAGS has to be after
diff --git a/libstdc++-v3/libsupc++/Makefile.in b/libstdc++-v3/libsupc++/Makefile.in
index 3fb9d16e527..e828ed909ca 100644
--- a/libstdc++-v3/libsupc++/Makefile.in
+++ b/libstdc++-v3/libsupc++/Makefile.in
@@ -125,9 +125,11 @@ am__objects_1 = array_type_info.lo atexit_arm.lo atexit_thread.lo \
function_type_info.lo fundamental_type_info.lo guard.lo \
guard_error.lo hash_bytes.lo nested_exception.lo \
new_handler.lo new_op.lo new_opnt.lo new_opv.lo new_opvnt.lo \
- pbase_type_info.lo pmem_type_info.lo pointer_type_info.lo \
- pure.lo si_class_type_info.lo tinfo.lo tinfo2.lo vec.lo \
- vmi_class_type_info.lo vterminate.lo
+ new_opa.lo new_opant.lo new_opva.lo new_opvant.lo del_opa.lo \
+ del_opant.lo del_opsa.lo del_opva.lo del_opvant.lo \
+ del_opvsa.lo pbase_type_info.lo pmem_type_info.lo \
+ pointer_type_info.lo pure.lo si_class_type_info.lo tinfo.lo \
+ tinfo2.lo vec.lo vmi_class_type_info.lo vterminate.lo
@GLIBCXX_HOSTED_TRUE@am__objects_2 = cp-demangle.lo
@ENABLE_VTABLE_VERIFY_TRUE@@VTV_CYGMIN_FALSE@am__objects_3 = \
@ENABLE_VTABLE_VERIFY_TRUE@@VTV_CYGMIN_FALSE@ vtv_stubs.lo
@@ -445,6 +447,16 @@ sources = \
new_opnt.cc \
new_opv.cc \
new_opvnt.cc \
+ new_opa.cc \
+ new_opant.cc \
+ new_opva.cc \
+ new_opvant.cc \
+ del_opa.cc \
+ del_opant.cc \
+ del_opsa.cc \
+ del_opva.cc \
+ del_opvant.cc \
+ del_opvsa.cc \
pbase_type_info.cc \
pmem_type_info.cc \
pointer_type_info.cc \
@@ -916,6 +928,28 @@ del_opvs.lo: del_opvs.cc
del_opvs.o: del_opvs.cc
$(CXXCOMPILE) -std=gnu++14 -Wno-sized-deallocation -c $<
+# Use special rules for the C++17 sources so that the proper flags are passed.
+new_opa.lo: new_opa.cc
+ $(LTCXXCOMPILE) -std=gnu++1z -c $<
+new_opant.lo: new_opant.cc
+ $(LTCXXCOMPILE) -std=gnu++1z -c $<
+new_opva.lo: new_opva.cc
+ $(LTCXXCOMPILE) -std=gnu++1z -c $<
+new_opvant.lo: new_opvant.cc
+ $(LTCXXCOMPILE) -std=gnu++1z -c $<
+del_opa.lo: del_opa.cc
+ $(LTCXXCOMPILE) -std=gnu++1z -c $<
+del_opant.lo: del_opant.cc
+ $(LTCXXCOMPILE) -std=gnu++1z -c $<
+del_opsa.lo: del_opsa.cc
+ $(LTCXXCOMPILE) -std=gnu++1z -c $<
+del_opva.lo: del_opva.cc
+ $(LTCXXCOMPILE) -std=gnu++1z -c $<
+del_opvant.lo: del_opvant.cc
+ $(LTCXXCOMPILE) -std=gnu++1z -c $<
+del_opvsa.lo: del_opvsa.cc
+ $(LTCXXCOMPILE) -std=gnu++1z -c $<
+
install-stdHEADERS: $(std_HEADERS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(stddir)
diff --git a/libstdc++-v3/libsupc++/del_opa.cc b/libstdc++-v3/libsupc++/del_opa.cc
new file mode 100644
index 00000000000..889bdb71935
--- /dev/null
+++ b/libstdc++-v3/libsupc++/del_opa.cc
@@ -0,0 +1,54 @@
+// Boilerplate support routines for -*- C++ -*- dynamic memory management.
+
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
+//
+// This file is part of GCC.
+//
+// GCC is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// GCC is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+#include <bits/c++config.h>
+
+#if !_GLIBCXX_HOSTED
+// A freestanding C runtime may not provide "free" -- but there is no
+// other reasonable way to implement "operator delete".
+namespace std
+{
+_GLIBCXX_BEGIN_NAMESPACE_VERSION
+ extern "C" void free(void*);
+_GLIBCXX_END_NAMESPACE_VERSION
+} // namespace
+#else
+# include <cstdlib>
+#endif
+
+#include "new"
+
+// The sized deletes are defined in other files.
+#pragma GCC diagnostic ignored "-Wsized-deallocation"
+
+_GLIBCXX_WEAK_DEFINITION void
+operator delete(void* ptr, std::align_val_t) _GLIBCXX_USE_NOEXCEPT
+{
+#if !_GLIBCXX_HAVE_ALIGNED_ALLOC && _GLIBCXX_HAVE__ALIGNED_MALLOC
+ _aligned_free (ptr);
+#else
+ std::free(ptr);
+#endif
+}
diff --git a/libstdc++-v3/libsupc++/del_opant.cc b/libstdc++-v3/libsupc++/del_opant.cc
new file mode 100644
index 00000000000..1b1919ce927
--- /dev/null
+++ b/libstdc++-v3/libsupc++/del_opant.cc
@@ -0,0 +1,33 @@
+// Boilerplate support routines for -*- C++ -*- dynamic memory management.
+
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
+//
+// This file is part of GCC.
+//
+// GCC is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// GCC is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+#include <bits/c++config.h>
+#include "new"
+
+_GLIBCXX_WEAK_DEFINITION void
+operator delete (void *ptr, std::align_val_t al, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
+{
+ ::operator delete (ptr, al);
+}
diff --git a/libstdc++-v3/libsupc++/del_opsa.cc b/libstdc++-v3/libsupc++/del_opsa.cc
new file mode 100644
index 00000000000..7880efeb279
--- /dev/null
+++ b/libstdc++-v3/libsupc++/del_opsa.cc
@@ -0,0 +1,33 @@
+// Boilerplate support routines for -*- C++ -*- dynamic memory management.
+
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
+//
+// This file is part of GCC.
+//
+// GCC is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// GCC is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+#include <bits/c++config.h>
+#include "new"
+
+_GLIBCXX_WEAK_DEFINITION void
+operator delete(void* ptr, std::size_t, std::align_val_t al) _GLIBCXX_USE_NOEXCEPT
+{
+ ::operator delete (ptr, al);
+}
diff --git a/libstdc++-v3/libsupc++/del_opva.cc b/libstdc++-v3/libsupc++/del_opva.cc
new file mode 100644
index 00000000000..95d2a3f8d24
--- /dev/null
+++ b/libstdc++-v3/libsupc++/del_opva.cc
@@ -0,0 +1,36 @@
+// Boilerplate support routines for -*- C++ -*- dynamic memory management.
+
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
+//
+// This file is part of GCC.
+//
+// GCC is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// GCC is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+#include <bits/c++config.h>
+#include "new"
+
+// The sized deletes are defined in other files.
+#pragma GCC diagnostic ignored "-Wsized-deallocation"
+
+_GLIBCXX_WEAK_DEFINITION void
+operator delete[] (void *ptr, std::align_val_t al) _GLIBCXX_USE_NOEXCEPT
+{
+ ::operator delete (ptr, al);
+}
diff --git a/libstdc++-v3/libsupc++/del_opvant.cc b/libstdc++-v3/libsupc++/del_opvant.cc
new file mode 100644
index 00000000000..5840c8f70e0
--- /dev/null
+++ b/libstdc++-v3/libsupc++/del_opvant.cc
@@ -0,0 +1,33 @@
+// Boilerplate support routines for -*- C++ -*- dynamic memory management.
+
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
+//
+// This file is part of GCC.
+//
+// GCC is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// GCC is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+#include <bits/c++config.h>
+#include "new"
+
+_GLIBCXX_WEAK_DEFINITION void
+operator delete[] (void *ptr, std::align_val_t al, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
+{
+ ::operator delete[] (ptr, al);
+}
diff --git a/libstdc++-v3/libsupc++/del_opvsa.cc b/libstdc++-v3/libsupc++/del_opvsa.cc
new file mode 100644
index 00000000000..61586b06e11
--- /dev/null
+++ b/libstdc++-v3/libsupc++/del_opvsa.cc
@@ -0,0 +1,33 @@
+// Boilerplate support routines for -*- C++ -*- dynamic memory management.
+
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
+//
+// This file is part of GCC.
+//
+// GCC is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// GCC is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+#include <bits/c++config.h>
+#include "new"
+
+_GLIBCXX_WEAK_DEFINITION void
+operator delete[] (void *ptr, std::size_t, std::align_val_t al) _GLIBCXX_USE_NOEXCEPT
+{
+ ::operator delete[] (ptr, al);
+}
diff --git a/libstdc++-v3/libsupc++/new b/libstdc++-v3/libsupc++/new
index 8e8a3272a8d..477fadc218c 100644
--- a/libstdc++-v3/libsupc++/new
+++ b/libstdc++-v3/libsupc++/new
@@ -79,6 +79,10 @@ namespace std
};
#endif
+#if __cpp_aligned_new
+ enum class align_val_t: size_t {};
+#endif
+
struct nothrow_t
{
#if __cplusplus >= 201103L
@@ -135,6 +139,30 @@ void operator delete(void*, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
__attribute__((__externally_visible__));
void operator delete[](void*, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT
__attribute__((__externally_visible__));
+#if __cpp_aligned_new
+void* operator new(std::size_t, std::align_val_t)
+ __attribute__((__externally_visible__));
+void* operator new(std::size_t, std::align_val_t, const std::nothrow_t&)
+ _GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__));
+void operator delete(void*, std::align_val_t)
+ _GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__));
+void operator delete(void*, std::align_val_t, const std::nothrow_t&)
+ _GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__));
+void* operator new[](std::size_t, std::align_val_t)
+ __attribute__((__externally_visible__));
+void* operator new[](std::size_t, std::align_val_t, const std::nothrow_t&)
+ _GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__));
+void operator delete[](void*, std::align_val_t)
+ _GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__));
+void operator delete[](void*, std::align_val_t, const std::nothrow_t&)
+ _GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__));
+#if __cpp_sized_deallocation
+void operator delete(void*, std::size_t, std::align_val_t)
+ _GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__));
+void operator delete[](void*, std::size_t, std::align_val_t)
+ _GLIBCXX_USE_NOEXCEPT __attribute__((__externally_visible__));
+#endif // __cpp_sized_deallocation
+#endif // __cpp_aligned_new
// Default placement versions of operator new.
inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT
diff --git a/libstdc++-v3/libsupc++/new_opa.cc b/libstdc++-v3/libsupc++/new_opa.cc
new file mode 100644
index 00000000000..91e53a8b360
--- /dev/null
+++ b/libstdc++-v3/libsupc++/new_opa.cc
@@ -0,0 +1,85 @@
+// Support routines for the -*- C++ -*- dynamic memory management.
+
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
+//
+// This file is part of GCC.
+//
+// GCC is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// GCC is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+#include <bits/c++config.h>
+#include <stdlib.h>
+#include <bits/exception_defines.h>
+#include "new"
+
+using std::new_handler;
+using std::bad_alloc;
+
+#if !_GLIBCXX_HAVE_ALIGNED_ALLOC
+#if _GLIBCXX_HAVE__ALIGNED_MALLOC
+#define aligned_alloc(al,sz) _aligned_malloc(sz,al)
+#elif _GLIBCXX_HAVE_POSIX_MEMALIGN
+static inline void*
+aligned_alloc (std::size_t al, std::size_t sz)
+{
+ void *ptr;
+ // The value of alignment shall be a power of two multiple of sizeof(void *).
+ if (al < sizeof(void*))
+ al = sizeof(void*);
+ int ret = posix_memalign (&ptr, al, sz);
+ if (ret == 0)
+ return ptr;
+ return nullptr;
+}
+#elif _GLIBCXX_HAVE_MEMALIGN
+#include <malloc.h>
+#define aligned_alloc memalign
+#else
+// The C library doesn't provide any aligned allocation functions, declare
+// aligned_alloc and get a link failure if aligned new is used.
+extern "C" void *aligned_alloc(std::size_t, std::size_t);
+#endif
+#endif
+
+_GLIBCXX_WEAK_DEFINITION void *
+operator new (std::size_t sz, std::align_val_t al)
+{
+ void *p;
+ std::size_t align = (std::size_t)al;
+
+ /* malloc (0) is unpredictable; avoid it. */
+ if (sz == 0)
+ sz = 1;
+
+#if _GLIBCXX_HAVE_ALIGNED_ALLOC
+ /* C11: the value of size shall be an integral multiple of alignment. */
+ if (std::size_t rem = sz & (align - 1))
+ sz += align - rem;
+#endif
+
+ while (__builtin_expect ((p = aligned_alloc (align, sz)) == 0, false))
+ {
+ new_handler handler = std::get_new_handler ();
+ if (! handler)
+ _GLIBCXX_THROW_OR_ABORT(bad_alloc());
+ handler ();
+ }
+
+ return p;
+}
diff --git a/libstdc++-v3/libsupc++/new_opant.cc b/libstdc++-v3/libsupc++/new_opant.cc
new file mode 100644
index 00000000000..1c6ccab809e
--- /dev/null
+++ b/libstdc++-v3/libsupc++/new_opant.cc
@@ -0,0 +1,42 @@
+// Boilerplate support routines for -*- C++ -*- dynamic memory management.
+
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
+//
+// This file is part of GCC.
+//
+// GCC is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// GCC is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+#include <bits/c++config.h>
+#include <bits/exception_defines.h>
+#include "new"
+
+_GLIBCXX_WEAK_DEFINITION void*
+operator new(std::size_t sz, std::align_val_t al, const std::nothrow_t&)
+ _GLIBCXX_USE_NOEXCEPT
+{
+ __try
+ {
+ return operator new(sz, al);
+ }
+ __catch(...)
+ {
+ return 0;
+ }
+}
diff --git a/libstdc++-v3/libsupc++/new_opva.cc b/libstdc++-v3/libsupc++/new_opva.cc
new file mode 100644
index 00000000000..7109431b269
--- /dev/null
+++ b/libstdc++-v3/libsupc++/new_opva.cc
@@ -0,0 +1,33 @@
+// Boilerplate support routines for -*- C++ -*- dynamic memory management.
+
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
+//
+// This file is part of GCC.
+//
+// GCC is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// GCC is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+#include <bits/c++config.h>
+#include "new"
+
+_GLIBCXX_WEAK_DEFINITION void*
+operator new[] (std::size_t sz, std::align_val_t al)
+{
+ return ::operator new(sz, al);
+}
diff --git a/libstdc++-v3/libsupc++/new_opvant.cc b/libstdc++-v3/libsupc++/new_opvant.cc
new file mode 100644
index 00000000000..2b295472120
--- /dev/null
+++ b/libstdc++-v3/libsupc++/new_opvant.cc
@@ -0,0 +1,42 @@
+// Boilerplate support routines for -*- C++ -*- dynamic memory management.
+
+// Copyright (C) 1997-2016 Free Software Foundation, Inc.
+//
+// This file is part of GCC.
+//
+// GCC is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3, or (at your option)
+// any later version.
+//
+// GCC is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// Under Section 7 of GPL version 3, you are granted additional
+// permissions described in the GCC Runtime Library Exception, version
+// 3.1, as published by the Free Software Foundation.
+
+// You should have received a copy of the GNU General Public License and
+// a copy of the GCC Runtime Library Exception along with this program;
+// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
+// <http://www.gnu.org/licenses/>.
+
+#include <bits/c++config.h>
+#include <bits/exception_defines.h>
+#include "new"
+
+_GLIBCXX_WEAK_DEFINITION void*
+operator new[] (std::size_t sz, std::align_val_t al, const std::nothrow_t&)
+ _GLIBCXX_USE_NOEXCEPT
+{
+ __try
+ {
+ return ::operator new[](sz, al);
+ }
+ __catch(...)
+ {
+ return 0;
+ }
+}
diff --git a/libstdc++-v3/python/libstdcxx/v6/printers.py b/libstdc++-v3/python/libstdcxx/v6/printers.py
index 977e63fff47..8c29760e01c 100644
--- a/libstdc++-v3/python/libstdcxx/v6/printers.py
+++ b/libstdc++-v3/python/libstdcxx/v6/printers.py
@@ -920,10 +920,10 @@ class SingleObjContainerPrinter(object):
class StdExpAnyPrinter(SingleObjContainerPrinter):
- "Print a std::experimental::any"
+ "Print a std::any or std::experimental::any"
def __init__ (self, typename, val):
- self.typename = 'std::experimental::any'
+ self.typename = re.sub('^std::experimental::fundamentals_v\d::', 'std::experimental::', typename, 1)
self.val = val
self.contained_type = None
contained_value = None
@@ -932,11 +932,11 @@ class StdExpAnyPrinter(SingleObjContainerPrinter):
if mgr != 0:
func = gdb.block_for_pc(int(mgr.cast(gdb.lookup_type('intptr_t'))))
if not func:
- raise ValueError("Invalid function pointer in std::experimental::any")
+ raise ValueError("Invalid function pointer in %s" % self.typename)
rx = r"""({0}::_Manager_\w+<.*>)::_S_manage\({0}::_Op, {0} const\*, {0}::_Arg\*\)""".format(typename)
m = re.match(rx, func.function.name)
if not m:
- raise ValueError("Unknown manager function in std::experimental::any")
+ raise ValueError("Unknown manager function in %s" % self.typename)
# FIXME need to expand 'std::string' so that gdb.lookup_type works
mgrname = re.sub("std::string(?!\w)", str(gdb.lookup_type('std::string').strip_typedefs()), m.group(1))
@@ -948,7 +948,7 @@ class StdExpAnyPrinter(SingleObjContainerPrinter):
elif '::_Manager_external' in mgrname:
valptr = self.val['_M_storage']['_M_ptr']
else:
- raise ValueError("Unknown manager function in std::experimental::any")
+ raise ValueError("Unknown manager function in %s" % self.typename)
contained_value = valptr.cast(self.contained_type.pointer()).dereference()
visualizer = gdb.default_visualizer(contained_value)
super(StdExpAnyPrinter, self).__init__ (contained_value, visualizer)
@@ -963,11 +963,11 @@ class StdExpAnyPrinter(SingleObjContainerPrinter):
return desc + valtype
class StdExpOptionalPrinter(SingleObjContainerPrinter):
- "Print a std::experimental::optional"
+ "Print a std::optional or std::experimental::optional"
def __init__ (self, typename, val):
valtype = self._recognize (val.type.template_argument(0))
- self.typename = "std::experimental::optional<%s>" % valtype
+ self.typename = re.sub('^std::(experimental::|)(fundamentals_v\d::|)(.*)', r'std::\1\3<%s>' % valtype, typename, 1)
self.val = val
contained_value = val['_M_payload'] if self.val['_M_engaged'] else None
visualizer = gdb.default_visualizer (val['_M_payload'])
@@ -980,8 +980,44 @@ class StdExpOptionalPrinter(SingleObjContainerPrinter):
return self.typename + " containing " + self.visualizer.to_string ()
return self.typename
+class StdVariantPrinter(SingleObjContainerPrinter):
+ "Print a std::variant"
+
+ def __init__(self, typename, val):
+ alternatives = self._template_args(val)
+ self.alts = alternatives
+ self.typename = "%s<%s>" % (typename, ', '.join([self._recognize(alt) for alt in alternatives]))
+ self.index = val['_M_index']
+ if self.index >= len(alternatives):
+ self.contained_type = None
+ contained_value = None
+ visualizer = None
+ else:
+ self.contained_type = alternatives[int(self.index)]
+ addr = val['_M_first']['_M_storage'].address
+ contained_value = addr.cast(self.contained_type.pointer()).dereference()
+ visualizer = gdb.default_visualizer(contained_value)
+ super (StdVariantPrinter, self).__init__(contained_value, visualizer)
+
+ def _template_args(self, val):
+ n = 0
+ args = ()
+ while True:
+ try:
+ args += (val.type.template_argument(n),)
+ except:
+ return args
+ n += 1
+
+ def to_string(self):
+ if self.contained_value is None:
+ return "%s [no value]" % self.typename
+ if hasattr(self.visualizer, 'children'):
+ return "%s [alternative %d] %s" % (self.typename, self.index, self.visualizer.to_string())
+ return self.typename
+
class StdExpStringViewPrinter:
- "Print a std::experimental::basic_string_view"
+ "Print a std::basic_string_view or std::experimental::basic_string_view"
def __init__ (self, typename, val):
self.val = val
@@ -1385,7 +1421,7 @@ def build_libstdcxx_dictionary ():
libstdcxx_printer.add('std::__debug::unique_ptr', UniquePointerPrinter)
libstdcxx_printer.add('std::__debug::vector', StdVectorPrinter)
- # These are the TR1 and C++0x printers.
+ # These are the TR1 and C++11 printers.
# For array - the default GDB pretty-printer seems reasonable.
libstdcxx_printer.add_version('std::', 'shared_ptr', SharedPointerPrinter)
libstdcxx_printer.add_version('std::', 'weak_ptr', SharedPointerPrinter)
@@ -1411,7 +1447,7 @@ def build_libstdcxx_dictionary ():
libstdcxx_printer.add_version('std::tr1::', 'unordered_multiset',
Tr1UnorderedSetPrinter)
- # These are the C++0x printer registrations for -D_GLIBCXX_DEBUG cases.
+ # These are the C++11 printer registrations for -D_GLIBCXX_DEBUG cases.
# The tr1 namespace printers do not seem to have any debug
# equivalents, so do no register them.
libstdcxx_printer.add('std::__debug::unordered_map',
@@ -1438,6 +1474,16 @@ def build_libstdcxx_dictionary ():
libstdcxx_printer.add_version('std::experimental::filesystem::v1::__cxx11::',
'path', StdExpPathPrinter)
+ # C++17 components
+ libstdcxx_printer.add_version('std::',
+ 'any', StdExpAnyPrinter)
+ libstdcxx_printer.add_version('std::',
+ 'optional', StdExpOptionalPrinter)
+ libstdcxx_printer.add_version('std::',
+ 'basic_string_view', StdExpStringViewPrinter)
+ libstdcxx_printer.add_version('std::',
+ 'variant', StdVariantPrinter)
+
# Extensions.
libstdcxx_printer.add_version('__gnu_cxx::', 'slist', StdSlistPrinter)
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/searchers.cc b/libstdc++-v3/testsuite/20_util/function_objects/searchers.cc
new file mode 100644
index 00000000000..1c7276207d9
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/function_objects/searchers.cc
@@ -0,0 +1,138 @@
+// Copyright (C) 2014-2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++17" }
+
+#include <functional>
+#include <cstring>
+#ifdef _GLIBCXX_USE_WCHAR_T
+# include <cwchar>
+#endif
+#include <algorithm>
+#include <testsuite_hooks.h>
+
+using std::make_default_searcher;
+using std::make_boyer_moore_searcher;
+using std::make_boyer_moore_horspool_searcher;
+
+void
+test01()
+{
+ const char s[] = { 'a', (char)-97, 'a', '\0' };
+ const char* needles[] = {
+ s, "", "a", "aa", "aaa", "ab", "cd", "abcd", "abcdabcd", "abcabcd"
+ };
+ const char* haystacks[] = {
+ s, "", "a", "aa", "aaa", "ab", "cd", "abcd", "abcdabcd", "abcabcd",
+ "aaaaaaa", "aabaa", "aaacab", "cdabcdab", "abcdabcd", "xyzabcdxyz"
+ };
+
+ for (auto n : needles)
+ {
+ auto ne = n + std::strlen(n);
+ auto d = make_default_searcher(n, ne);
+ auto bm = make_boyer_moore_searcher(n, ne);
+ auto bmh = make_boyer_moore_horspool_searcher(n, ne);
+ for (auto h : haystacks)
+ {
+ auto he = h + std::strlen(h);
+ auto res = std::search(h, he, n, ne);
+ auto d_res = d(h, he);
+ VERIFY( d_res.first == res );
+ auto bm_res = bm(h, he);
+ VERIFY( bm_res.first == res );
+ auto bmh_res = bmh(h, he);
+ VERIFY( bmh_res.first == res );
+ }
+ }
+}
+
+void
+test02()
+{
+#ifdef _GLIBCXX_USE_WCHAR_T
+ const wchar_t s[] = { L'a', (wchar_t)-97, L'a', L'\0' };
+ const wchar_t* needles[] = {
+ s, L"", L"a", L"aa", L"aaa", L"ab", L"cd", L"abcd", L"abcdabcd", L"abcabcd"
+ };
+ const wchar_t* haystacks[] = {
+ s, L"", L"a", L"aa", L"aaa", L"ab", L"cd", L"abcd", L"abcdabcd", L"abcabcd",
+ L"aaaaaaa", L"aabaa", L"aaacab", L"cdabcdab", L"abcdabcd", L"xyzabcdxyz"
+ };
+
+ for (auto n : needles)
+ {
+ auto ne = n + std::wcslen(n);
+ auto d = make_default_searcher(n, ne);
+ auto bm = make_boyer_moore_searcher(n, ne);
+ auto bmh = make_boyer_moore_horspool_searcher(n, ne);
+ for (auto h : haystacks)
+ {
+ auto he = h + std::wcslen(h);
+ auto res = std::search(h, he, n, ne);
+ auto d_res = d(h, he);
+ VERIFY( d_res.first == res );
+ auto bm_res = bm(h, he);
+ VERIFY( bm_res.first == res );
+ auto bmh_res = bmh(h, he);
+ VERIFY( bmh_res.first == res );
+ }
+ }
+#endif
+}
+
+void
+test03()
+{
+ // custom predicate
+ struct
+ {
+ static unsigned char
+ norm(unsigned char c) { return std::isalnum(c) ? c : '#'; }
+
+ // equality
+ bool operator()(char l, char r) const { return norm(l) == norm(r); }
+
+ // hash
+ std::size_t operator()(char c) const { return std::hash<char>{}(norm(c)); }
+ } eq;
+
+ const char* needle = " foo 123 ";
+ const char* haystack = "*****foo*123******";
+ const char* ne = needle + std::strlen(needle);
+ const char* he = haystack + std::strlen(haystack);
+
+ auto d = make_default_searcher(needle, ne, eq);
+ auto bm = make_boyer_moore_searcher(needle, ne, eq, eq);
+ auto bmh = make_boyer_moore_horspool_searcher(needle, ne, eq, eq);
+
+ auto res = std::search(haystack, he, needle, ne, eq);
+ auto d_res = d(haystack, he);
+ VERIFY( d_res.first == res );
+ auto bm_res = bm(haystack, he);
+ VERIFY( bm_res.first == res );
+ auto bmh_res = bmh(haystack, he);
+ VERIFY( bmh_res.first == res );
+}
+
+int
+main()
+{
+ test01();
+ test02();
+ test03();
+}
diff --git a/libstdc++-v3/testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc b/libstdc++-v3/testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc
new file mode 100644
index 00000000000..ec72b826a53
--- /dev/null
+++ b/libstdc++-v3/testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc
@@ -0,0 +1,132 @@
+// Copyright (C) 2016 Free Software Foundation, Inc.
+//
+// This file is part of the GNU ISO C++ Library. This library is free
+// software; you can redistribute it and/or modify it under the
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING3. If not see
+// <http://www.gnu.org/licenses/>.
+
+// { dg-options "-std=gnu++17" }
+
+#include <memory>
+#include <testsuite_hooks.h>
+#include <string>
+#include <array>
+
+int del_count = 0;
+
+struct DelCount
+{
+ ~DelCount() { ++del_count; }
+};
+
+void test01()
+{
+ char test_data[] = "123456";
+ std::uninitialized_default_construct(std::begin(test_data),
+ std::end(test_data));
+ VERIFY(std::string(test_data) == "123456");
+}
+
+void test02()
+{
+ char test_data[] = "123456";
+ std::uninitialized_value_construct(std::begin(test_data),
+ std::end(test_data));
+ VERIFY(std::string(test_data, 6) == std::string("\0\0\0\0\0\0", 6));
+}
+
+void test03()
+{
+ char test_data[] = "123456";
+ std::uninitialized_default_construct_n(std::begin(test_data), 6);
+ VERIFY(std::string(test_data) == "123456");
+}
+
+void test04()
+{
+ char test_data[] = "123456";
+ std::uninitialized_value_construct_n(std::begin(test_data), 6);
+ VERIFY(std::string(test_data, 6) == std::string("\0\0\0\0\0\0", 6));
+}
+
+void test05()
+{
+ del_count = 0;
+ DelCount* x = (DelCount*)malloc(sizeof(DelCount));
+ new (x) DelCount;
+ std::destroy_at(&x[0]);
+ VERIFY(del_count == 1);
+ del_count = 0;
+ free(x);
+}
+
+void test06()
+{
+ del_count = 0;
+ DelCount* x = (DelCount*)malloc(sizeof(DelCount)*10);
+ for (int i = 0; i < 10; ++i) new (x+i) DelCount;
+ std::destroy(x, x+10);
+ VERIFY(del_count == 10);
+ del_count = 0;
+ free(x);
+}
+
+void test07()
+{
+ del_count = 0;
+ DelCount* x = (DelCount*)malloc(sizeof(DelCount)*10);
+ for (int i = 0; i < 10; ++i) new (x+i) DelCount;
+ std::destroy_n(x, 10);
+ VERIFY(del_count == 10);
+ del_count = 0;
+ free(x);
+}
+
+void test08()
+{
+ std::vector<std::unique_ptr<int>> source;
+ for (int i = 0; i < 10; ++i) source.push_back(std::make_unique<int>(i));
+ std::unique_ptr<int>* target =
+ (std::unique_ptr<int>*)malloc(sizeof(std::unique_ptr<int>)*10);
+ std::uninitialized_move(source.begin(), source.end(), target);
+ for (const auto& x : source) VERIFY(!x);
+ for (int i = 0; i < 10; ++i) VERIFY(bool(*(target+i)));
+ std::destroy_n(target, 10);
+ free(target);
+}
+
+void test09()
+{
+ std::vector<std::unique_ptr<int>> source;
+ for (int i = 0; i < 10; ++i) source.push_back(std::make_unique<int>(i));
+ std::unique_ptr<int>* target =
+ (std::unique_ptr<int>*)malloc(sizeof(std::unique_ptr<int>)*10);
+ std::uninitialized_move_n(source.begin(), 10, target);
+ for (const auto& x : source) VERIFY(!x);
+ for (int i = 0; i < 10; ++i) VERIFY(bool(*(target+i)));
+ std::destroy_n(target, 10);
+ free(target);
+}
+
+int main()
+{
+ test01();
+ test02();
+ test03();
+ test04();
+ test05();
+ test06();
+ test07();
+ test08();
+ test09();
+}
diff --git a/libstdc++-v3/testsuite/21_strings/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/21_strings/debug/iterator_self_move_assign_neg.cc
index 6d10bb19e16..f481115471e 100644
--- a/libstdc++-v3/testsuite/21_strings/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/21_strings/debug/iterator_self_move_assign_neg.cc
@@ -15,9 +15,9 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
+// { dg-do run { xfail *-*-* } }
// { dg-require-debug-mode "" }
// { dg-options "-std=gnu++11" }
-// { dg-do run { xfail *-*-* } }
#include <debug/string>
diff --git a/libstdc++-v3/testsuite/21_strings/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/21_strings/debug/self_move_assign_neg.cc
index 360f0776637..a72cb871f86 100644
--- a/libstdc++-v3/testsuite/21_strings/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/21_strings/debug/self_move_assign_neg.cc
@@ -15,9 +15,9 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
+// { dg-do run { xfail *-*-* } }
// { dg-require-debug-mode "" }
// { dg-options "-std=gnu++11" }
-// { dg-do run { xfail *-*-* } }
#include <debug/string>
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc
index a0000956b24..78ddb5cb61f 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// { dg-require-cstdint "" }
// { dg-do compile { target c++11 } }
+// { dg-require-cstdint "" }
#include <codecvt>
#include <type_traits>
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc
index 12ac516637e..a9c50efa282 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// { dg-require-cstdint "" }
// { dg-do compile { target c++11 } }
+// { dg-require-cstdint "" }
#include <codecvt>
#include <type_traits>
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc b/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc
index 4ebb6a424e0..0d569786ce5 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// { dg-require-cstdint "" }
// { dg-do compile { target c++11 } }
+// { dg-require-cstdint "" }
#include <codecvt>
#include <type_traits>
diff --git a/libstdc++-v3/testsuite/22_locale/codecvt/utf8.cc b/libstdc++-v3/testsuite/22_locale/codecvt/utf8.cc
index a20feb5ce94..86fdf0d391a 100644
--- a/libstdc++-v3/testsuite/22_locale/codecvt/utf8.cc
+++ b/libstdc++-v3/testsuite/22_locale/codecvt/utf8.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// { dg-require-cstdint "" }
// { dg-do run { target c++11 } }
+// { dg-require-cstdint "" }
#include <locale>
#include <iterator>
diff --git a/libstdc++-v3/testsuite/22_locale/locale/cons/unicode.cc b/libstdc++-v3/testsuite/22_locale/locale/cons/unicode.cc
index 76f730ab875..906ddf199a6 100644
--- a/libstdc++-v3/testsuite/22_locale/locale/cons/unicode.cc
+++ b/libstdc++-v3/testsuite/22_locale/locale/cons/unicode.cc
@@ -1,5 +1,5 @@
-// { dg-require-iconv "ISO-8859-1" }
// { dg-do run { target c++11 } }
+// { dg-require-iconv "ISO-8859-1" }
// Copyright (C) 2006-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/assign1_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/assign1_neg.cc
index c866464a566..dc3442dae7f 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/assign1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/assign1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <deque>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/assign2_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/assign2_neg.cc
index 92fc1e7bcab..5deed88f2c2 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/assign2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/assign2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <deque>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/assign3_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/assign3_neg.cc
index a52eb4194ce..761e8e99505 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/assign3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/assign3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <deque>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/construct1_neg.cc
index 2443b0d6ce5..637882fabb7 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/construct1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/construct1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <deque>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/construct2_neg.cc
index c73adb736b5..46b0ee1a18d 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/construct2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/construct2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <deque>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/construct3_neg.cc
index 297d9b312ab..7b52b3d523e 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/construct3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/construct3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <deque>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/insert1_neg.cc
index 5636fd4581b..2b28689eef1 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/insert1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/insert1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <deque>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/insert2_neg.cc
index 956f696797f..7e2696e4d2e 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/insert2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/insert2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <deque>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/insert3_neg.cc
index 9ad8493093b..1c038167b3d 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/insert3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/insert3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <deque>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/insert5_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/insert5_neg.cc
index 7fdf443b52a..a74d292c2ea 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/insert5_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/insert5_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <deque>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc
index 28e2e64fec5..64bc35a9c3a 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/iterator_self_move_assign_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <deque>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/self_move_assign_neg.cc
index b378cd2aec5..576c726de92 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/self_move_assign_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <deque>
diff --git a/libstdc++-v3/testsuite/23_containers/deque/debug/shrink_to_fit.cc b/libstdc++-v3/testsuite/23_containers/deque/debug/shrink_to_fit.cc
index 51e0cb182f1..71819bb217a 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/debug/shrink_to_fit.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/debug/shrink_to_fit.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <deque>
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/60499.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/60499.cc
index ed5caceef98..d127fb0c964 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/60499.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/60499.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do compile { target c++11 } }
+// { dg-require-debug-mode "" }
// PR libstdc++/60499
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct1_neg.cc
index cd0864f003a..9a970943793 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <forward_list>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct2_neg.cc
index a9d4bda766f..7a47cd23b58 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <forward_list>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct3_neg.cc
index b62204402e7..63b489109d1 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/construct3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <forward_list>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after1_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after1_neg.cc
index 59e03be4a91..ae90415d5d8 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after1_neg.cc
@@ -1,5 +1,5 @@
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after2_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after2_neg.cc
index a5a274380bc..6234de0df4d 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after2_neg.cc
@@ -1,5 +1,5 @@
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after3_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after3_neg.cc
index dc14635415e..813fbede964 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after3_neg.cc
@@ -1,5 +1,5 @@
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after4_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after4_neg.cc
index 156db150647..3ef323329c6 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after4_neg.cc
@@ -1,5 +1,5 @@
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after5_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after5_neg.cc
index 68f7fe82d42..376ac3727c6 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after5_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after5_neg.cc
@@ -1,5 +1,5 @@
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after6_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after6_neg.cc
index 5fd14962e4c..ec0186d8624 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after6_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after6_neg.cc
@@ -1,5 +1,5 @@
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after7_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after7_neg.cc
index ecf60ffdba1..b7f0323a70f 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after7_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after7_neg.cc
@@ -1,5 +1,5 @@
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after8_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after8_neg.cc
index 3cfa7dc5d59..81fe1428899 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after8_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after8_neg.cc
@@ -1,5 +1,5 @@
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after9_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after9_neg.cc
index ee7db912e90..11fbca0f1be 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after9_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/erase_after9_neg.cc
@@ -1,5 +1,5 @@
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after1_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after1_neg.cc
index ae2f39940cc..1e9f245bf38 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after1_neg.cc
@@ -1,5 +1,5 @@
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after2_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after2_neg.cc
index f1fce3b744d..d2ea77ddf85 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after2_neg.cc
@@ -1,5 +1,5 @@
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after3_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after3_neg.cc
index 35706b809ba..ca94bfec19c 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after3_neg.cc
@@ -1,5 +1,5 @@
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after4_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after4_neg.cc
index 2898090c49a..78495313c04 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/insert_after4_neg.cc
@@ -15,9 +15,9 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
+// { dg-do run { target c++11 xfail *-*-* } }
// { dg-require-debug-mode "" }
// { dg-options "-D_GLIBCXX_DEBUG_PEDANTIC" }
-// { dg-do run { target c++11 xfail *-*-* } }
#include <forward_list>
#include <iterator>
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/iterator_self_move_assign_neg.cc
index bc197a57c41..37f395728a6 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/iterator_self_move_assign_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <forward_list>
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc
index e50d37f0e9e..505d654121e 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/self_move_assign_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <forward_list>
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after1_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after1_neg.cc
index 5f74f9cf23e..0222e1446b3 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after1_neg.cc
@@ -1,5 +1,5 @@
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after2_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after2_neg.cc
index 1416d616c15..87a467149ee 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after2_neg.cc
@@ -1,5 +1,5 @@
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after3_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after3_neg.cc
index 96b8290d87a..0735789ccc6 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after3_neg.cc
@@ -1,5 +1,5 @@
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after4_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after4_neg.cc
index cfcc1b26dfa..15888983ce4 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after4_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after4_neg.cc
@@ -1,5 +1,5 @@
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
// Copyright (C) 2010-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after5_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after5_neg.cc
index 5bcf38d27a2..14217b21c5d 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after5_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after5_neg.cc
@@ -1,5 +1,5 @@
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after6_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after6_neg.cc
index bf49d4337bf..ca5a3567872 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after6_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after6_neg.cc
@@ -1,5 +1,5 @@
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after7_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after7_neg.cc
index 6e8b067c266..d7c670ce9d5 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after7_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/debug/splice_after7_neg.cc
@@ -1,5 +1,5 @@
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/assign1_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/assign1_neg.cc
index cde326f780a..1eee86fc317 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/assign1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/assign1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <list>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/assign2_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/assign2_neg.cc
index 19fbbdecd80..41eb33ed6c5 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/assign2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/assign2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <list>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/assign3_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/assign3_neg.cc
index cc9d9ee3755..e0a4fc15aa9 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/assign3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/assign3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <list>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/construct1_neg.cc
index ee4c237a107..fa60f5fc8e9 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/construct1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/construct1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <list>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/construct2_neg.cc
index 650cee48915..a56ebcb6d6d 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/construct2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/construct2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <list>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/construct3_neg.cc
index 1e5408c2072..bffb701b371 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/construct3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/construct3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <list>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/insert1_neg.cc
index 57ce024b312..54bd5cb8086 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/insert1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/insert1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <list>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/insert2_neg.cc
index 58628a47e3e..4428aae7ab2 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/insert2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/insert2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <list>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/insert3_neg.cc
index f62bd3c2acf..0d93f5ac851 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/insert3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/insert3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <list>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/insert5_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/insert5_neg.cc
index 21f2781534d..cec84d02655 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/insert5_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/insert5_neg.cc
@@ -15,9 +15,9 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
+// { dg-do run { xfail *-*-* } }
// { dg-require-debug-mode "" }
// { dg-options "-D_GLIBCXX_DEBUG_PEDANTIC" }
-// { dg-do run { xfail *-*-* } }
#include <list>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc
index 8b0639bacdb..31f4f370c5c 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/iterator_self_move_assign_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <list>
diff --git a/libstdc++-v3/testsuite/23_containers/list/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/list/debug/self_move_assign_neg.cc
index 7ab40ba6d15..833e95711f5 100644
--- a/libstdc++-v3/testsuite/23_containers/list/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/debug/self_move_assign_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <list>
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/60499.cc b/libstdc++-v3/testsuite/23_containers/map/debug/60499.cc
index ad4fb4499a6..ef12b3406bc 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/60499.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/60499.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do compile { target c++11 } }
+// { dg-require-debug-mode "" }
// PR libstdc++/60499
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/construct1_neg.cc
index b584060f5eb..e2589e85f2f 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/construct1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/construct1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/construct2_neg.cc
index e55c6665a68..f948438ff8f 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/construct2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/construct2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/construct3_neg.cc
index 2f7d8eb34f7..6732d18007d 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/construct3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/construct3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/insert1_neg.cc
index f8ef1d2c5d1..351d9377de7 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/insert1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/insert1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/insert2_neg.cc
index 582ef2e844e..46e1e078858 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/insert2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/insert2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/insert3_neg.cc
index 39fda63971c..58549e61fdd 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/insert3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/insert3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc
index cc3e0e6c164..fa30d1bd1a6 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/iterator_self_move_assign_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <map>
diff --git a/libstdc++-v3/testsuite/23_containers/map/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/map/debug/self_move_assign_neg.cc
index 4eb690d71d0..82233453691 100644
--- a/libstdc++-v3/testsuite/23_containers/map/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/debug/self_move_assign_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <map>
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/60499.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/60499.cc
index bda4b5ca278..a226e392bd9 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/60499.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/60499.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do compile { target c++11 } }
+// { dg-require-debug-mode "" }
// PR libstdc++/60499
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/construct1_neg.cc
index 2f37742bdaa..d73daa96dcd 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/construct1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/construct1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/construct2_neg.cc
index 9643e7fc379..89b9432d7c0 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/construct2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/construct2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/construct3_neg.cc
index 747cae43375..998846025e1 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/construct3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/construct3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/insert1_neg.cc
index 2fdb8383c15..e0dc28dbfae 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/insert1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/insert1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/insert2_neg.cc
index ed0509c8e98..edecbad6fe2 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/insert2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/insert2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/insert3_neg.cc
index 3ccd5e2bcd7..1c860b439fe 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/insert3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/insert3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/iterator_self_move_assign_neg.cc
index 8062a986eb9..6160a572410 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/iterator_self_move_assign_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <map>
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/multimap/debug/self_move_assign_neg.cc
index 4f3c5f30be5..301c8844359 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/debug/self_move_assign_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <map>
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/60499.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/60499.cc
index b543590aecd..9b0f95db60b 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/60499.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/60499.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do compile { target c++11 } }
+// { dg-require-debug-mode "" }
// PR libstdc++/60499
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/construct1_neg.cc
index dcc5c84de43..bf167e25a5f 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/construct1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/construct1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/construct2_neg.cc
index 2592f1e8e6c..87ed3ae95a0 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/construct2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/construct2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/construct3_neg.cc
index 025df918443..743024050a0 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/construct3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/construct3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/insert1_neg.cc
index df2f9c55da7..275703ee1f0 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/insert1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/insert1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/insert2_neg.cc
index 7731c4bc638..ee92d388776 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/insert2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/insert2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/insert3_neg.cc
index 7c3ff360675..3182dfccd41 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/insert3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/insert3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/iterator_self_move_assign_neg.cc
index 92ea5df3bdb..3f3cacd8179 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/iterator_self_move_assign_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <set>
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/multiset/debug/self_move_assign_neg.cc
index 4c5ed569dd9..e6b6fbc64b1 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/debug/self_move_assign_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <set>
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/60499.cc b/libstdc++-v3/testsuite/23_containers/set/debug/60499.cc
index de7cfb6267f..01dae77720a 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/60499.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/60499.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do compile { target c++11 } }
+// { dg-require-debug-mode "" }
// PR libstdc++/60499
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/construct1_neg.cc
index b10afb94f89..0c6504d08ef 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/construct1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/construct1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/construct2_neg.cc
index dffab017364..366d9bd84ab 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/construct2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/construct2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/construct3_neg.cc
index e8b2b5cf4f4..3038ebbfddd 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/construct3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/construct3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/insert1_neg.cc
index 35819e53785..81eaaf55ff4 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/insert1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/insert1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/insert2_neg.cc
index 2186b628b0f..699e5562915 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/insert2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/insert2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/insert3_neg.cc
index 26ba95318b5..6df317da578 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/insert3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/insert3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc
index 4ce33c74734..171cbc72752 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/iterator_self_move_assign_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <set>
diff --git a/libstdc++-v3/testsuite/23_containers/set/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/set/debug/self_move_assign_neg.cc
index 5d644301863..b2f022c6d14 100644
--- a/libstdc++-v3/testsuite/23_containers/set/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/debug/self_move_assign_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <set>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/60499.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/60499.cc
index e77cc008172..6b00c818a91 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/60499.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/60499.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do compile { target c++11 } }
+// { dg-require-debug-mode "" }
// PR libstdc++/60499
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/begin1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/begin1_neg.cc
index 3529123744c..ca9e7d242bf 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/begin1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/begin1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/begin2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/begin2_neg.cc
index 3d3a8822d94..26880d0d740 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/begin2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/begin2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc
index efe3f41d134..a8d856ff5bd 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/bucket_size_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/cbegin_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/cbegin_neg.cc
index 4da34e4ce4a..016ae3e93c4 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/cbegin_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/cbegin_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/cend_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/cend_neg.cc
index ef59af60716..318f4e925cc 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/cend_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/cend_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct1_neg.cc
index 44a8ac9d4a6..280773029f9 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct2_neg.cc
index a83ffbd790e..3bca414fb49 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct3_neg.cc
index d7be31fff70..db865ee0ba2 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/construct3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/end1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/end1_neg.cc
index 0425c3c1e03..cc0e37fd33e 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/end1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/end1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/end2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/end2_neg.cc
index 630da5118aa..9f129ce3dfd 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/end2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/end2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert1_neg.cc
index b1831fc7514..dde90d1eb0e 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert2_neg.cc
index f162cf5ac21..e053ec81b3e 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert3_neg.cc
index 282f4681982..974e55d417e 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/insert3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_compare_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_compare_neg.cc
index 8cf90df6164..1bbbaa38d37 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_compare_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_compare_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
#include <debug/unordered_checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_range_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_range_neg.cc
index 053ae09ad04..3965d8379bd 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_range_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/invalid_local_iterator_range_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
#include <debug/unordered_checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/iterator_self_move_assign_neg.cc
index 916245b2bcd..252fb655c61 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/iterator_self_move_assign_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc
index e28d180b1f7..7044bc66c33 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/max_load_factor_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc
index 5e50f8e6fc5..0e53680da3e 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/self_move_assign_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_erased_local_iterator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_erased_local_iterator_neg.cc
index 13c8798e48e..73c433ec5fd 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_erased_local_iterator_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_erased_local_iterator_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
#include <debug/unordered_checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_invalid_iterator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_invalid_iterator_neg.cc
index e092db9f26a..d532f5a6e68 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_invalid_iterator_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_invalid_iterator_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_invalid_local_iterator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_invalid_local_iterator_neg.cc
index ebc33564f11..9dad84f4a65 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_invalid_local_iterator_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/debug/use_invalid_local_iterator_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
#include <debug/unordered_checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/60499.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/60499.cc
index 5bba00e046a..d22651e51f6 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/60499.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/60499.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do compile { target c++11 } }
+// { dg-require-debug-mode "" }
// PR libstdc++/60499
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc
index 761ec975309..51fb6c6824e 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc
index 3d3a8822d94..26880d0d740 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/begin2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc
index efe3f41d134..a8d856ff5bd 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/bucket_size_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc
index 4da34e4ce4a..016ae3e93c4 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cbegin_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cend_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cend_neg.cc
index ef59af60716..318f4e925cc 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cend_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/cend_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc
index f1f1f730285..348f89a073d 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc
index 52b31cc5cc0..1a11da2e93f 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc
index a6da25341fe..ff7708d4d46 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/construct3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end1_neg.cc
index 0425c3c1e03..cc0e37fd33e 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end2_neg.cc
index 630da5118aa..9f129ce3dfd 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/end2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc
index 7e3e66f0440..80619e135e3 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc
index d00b90d0337..f9dfa53ac69 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc
index ed26dfe6f83..673a19190ac 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/insert3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_compare_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_compare_neg.cc
index 39ae989961e..fccaa7790ea 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_compare_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_compare_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
#include <debug/unordered_checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_range_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_range_neg.cc
index aa6afde837a..33c4e5d1a73 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_range_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/invalid_local_iterator_range_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
#include <debug/unordered_checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/iterator_self_move_assign_neg.cc
index eb56977395c..c4dff78fcbb 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/iterator_self_move_assign_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/max_load_factor_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/max_load_factor_neg.cc
index eeba90938a5..45715d49efb 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/max_load_factor_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/max_load_factor_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/self_move_assign_neg.cc
index 146ba9af7c0..e4294ccd44f 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/self_move_assign_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_erased_local_iterator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_erased_local_iterator_neg.cc
index 87a15bbcfd3..38720349e59 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_erased_local_iterator_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_erased_local_iterator_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
#include <debug/unordered_checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_invalid_iterator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_invalid_iterator_neg.cc
index 65a8d0a15eb..bd5ff47b2e2 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_invalid_iterator_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_invalid_iterator_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_invalid_local_iterator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_invalid_local_iterator_neg.cc
index f4b52749b22..f9eae0e90bb 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_invalid_local_iterator_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/debug/use_invalid_local_iterator_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_map>
#include <debug/unordered_checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/60499.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/60499.cc
index c0be76ed974..aa7f818379f 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/60499.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/60499.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do compile { target c++11 } }
+// { dg-require-debug-mode "" }
// PR libstdc++/60499
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc
index 61e1b2b1411..96a0df277a4 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/begin1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc
index e619e92d9a0..bf2019dc489 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/begin2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc
index f59b8b8162d..ed2b990d065 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/bucket_size_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc
index 30f7161111a..b7b38256c8b 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/cbegin_neg.cc
@@ -15,8 +15,9 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
+
#include <unordered_set>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/cend_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/cend_neg.cc
index f335e0a4a60..f566ec3e8ac 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/cend_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/cend_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc
index 58c9e52b500..2ad5ff1c09a 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc
index f00c3e35fe6..a8b2b64cca4 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc
index df49bf7ac44..206876aa3bd 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/construct3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/end1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/end1_neg.cc
index c31100123b0..69393d23897 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/end1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/end1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/end2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/end2_neg.cc
index beeb3567f63..eea80eda3dd 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/end2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/end2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc
index 9f9437d0821..28daab54dc3 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc
index 5c95a90f8ab..5dec12dc7ab 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc
index 970b1285aad..b10b59dc5f6 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/insert3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_compare_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_compare_neg.cc
index eb84e0f83c5..cb500a0413c 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_compare_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_compare_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
#include <debug/unordered_checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_range_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_range_neg.cc
index 37d7e86a0fb..cb678ddffef 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_range_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/invalid_local_iterator_range_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
#include <debug/unordered_checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/iterator_self_move_assign_neg.cc
index 0255fbf3681..dbcecc809ee 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/iterator_self_move_assign_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/max_load_factor_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/max_load_factor_neg.cc
index 9db1f40a601..d7e31e63a38 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/max_load_factor_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/max_load_factor_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/self_move_assign_neg.cc
index 053357efbbb..4750d080c0e 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/self_move_assign_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_erased_local_iterator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_erased_local_iterator_neg.cc
index c5264e3a815..d5e0a8e6612 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_erased_local_iterator_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_erased_local_iterator_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
#include <debug/unordered_checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_invalid_iterator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_invalid_iterator_neg.cc
index b3ba7365541..66670469e2a 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_invalid_iterator_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_invalid_iterator_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_invalid_local_iterator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_invalid_local_iterator_neg.cc
index 44f236fb6cf..927ee3b2ae8 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_invalid_local_iterator_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/debug/use_invalid_local_iterator_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
#include <debug/unordered_checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/60499.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/60499.cc
index 82cda7ff430..305585859ba 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/60499.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/60499.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do compile { target c++11 } }
+// { dg-require-debug-mode "" }
// PR libstdc++/60499
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/begin1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/begin1_neg.cc
index d30e9c2244e..ed0519fce21 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/begin1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/begin1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/begin2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/begin2_neg.cc
index c308f9b1f96..c0741356b48 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/begin2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/begin2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc
index faaeffc8874..25436014e34 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/bucket_size_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/cbegin_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/cbegin_neg.cc
index d71399a3206..161c29c4741 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/cbegin_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/cbegin_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/cend_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/cend_neg.cc
index b1f22a95c7d..f1fa407ba7a 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/cend_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/cend_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct1_neg.cc
index 6df1e2fa4c1..6eb11cdfea1 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct2_neg.cc
index 14582ff206e..01a4479fff8 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct3_neg.cc
index 6c025789c00..4be9f40cebd 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/construct3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/end1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/end1_neg.cc
index b4e0f471f3a..a57d4a96b6e 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/end1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/end1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/end2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/end2_neg.cc
index 20c8f5aa909..05a9fcb60be 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/end2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/end2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert1_neg.cc
index 07de84c56b0..6c9de873ddf 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert2_neg.cc
index 2b61e9f539c..68b1a89dae4 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert3_neg.cc
index f51d2305235..402b5e6c6de 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/insert3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_compare_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_compare_neg.cc
index efef04a09a3..15debce5525 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_compare_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_compare_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
#include <debug/unordered_checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_range_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_range_neg.cc
index 8f66931e720..21ee9415499 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_range_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/invalid_local_iterator_range_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
#include <debug/unordered_checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/iterator_self_move_assign_neg.cc
index 70a3e26fa29..ee516d81162 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/iterator_self_move_assign_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc
index 22e3ffcc160..bf5a09bfe07 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/max_load_factor_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc
index 2f973a650d3..f48d7ee0113 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/self_move_assign_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_erased_local_iterator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_erased_local_iterator_neg.cc
index 3a70fe6aea3..5d45df2d680 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_erased_local_iterator_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_erased_local_iterator_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
#include <debug/unordered_checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_invalid_iterator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_invalid_iterator_neg.cc
index bf784d135a3..171dbbf3fb9 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_invalid_iterator_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_invalid_iterator_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_invalid_local_iterator_neg.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_invalid_local_iterator_neg.cc
index 212e9087d31..04e8c52b0ae 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_invalid_local_iterator_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/debug/use_invalid_local_iterator_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <unordered_set>
#include <debug/unordered_checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc b/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc
index bcd548c8283..fd94c78407a 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/bool/modifiers/insert/31370.cc
@@ -17,8 +17,8 @@
// 23.2.5 class vector<bool> [lib.vector.bool]
-// { dg-skip-if "" { powerpc64-*-freebsd* } { "*" } { "" } }
// { dg-do run { xfail *-*-darwin8.[0-4].* } }
+// { dg-skip-if "" { powerpc64-*-freebsd* } { "*" } { "" } }
#include <vector>
#include <stdexcept>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/52433.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/52433.cc
index 462ad0e1a8a..6f5390e7d6e 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/52433.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/52433.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do compile { target c++11 } }
+// { dg-require-debug-mode "" }
// PR libstdc++/52433
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/57779_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/57779_neg.cc
index d0fb7fc180f..bb9b35e8ad8 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/57779_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/57779_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <vector>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/60499.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/60499.cc
index ab8e7f65a2e..788ce2e20f0 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/60499.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/60499.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do compile { target c++11 } }
+// { dg-require-debug-mode "" }
// PR libstdc++/60499
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/60587_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/60587_neg.cc
index ae205be41d5..51ebc84041e 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/60587_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/60587_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
// PR libstdc++/60587
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/assign1_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/assign1_neg.cc
index 9b0866d57cd..9ee2067ed1a 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/assign1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/assign1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <vector>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/assign2_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/assign2_neg.cc
index aca8657d31a..974c80a16b4 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/assign2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/assign2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <vector>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/assign3_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/assign3_neg.cc
index a6c36bb2c92..ac4aabd553d 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/assign3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/assign3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <vector>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc
index 195dbce98ee..e8f791825ce 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/bool/shrink_to_fit.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <vector>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/construct1_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/construct1_neg.cc
index 723cce0c63e..0e51ca32514 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/construct1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/construct1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <vector>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/construct2_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/construct2_neg.cc
index 24e659f662e..5c91dadf00a 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/construct2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/construct2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <vector>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/construct3_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/construct3_neg.cc
index 245c6bfd7b0..63b3e1adf88 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/construct3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/construct3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <vector>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/insert1_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/insert1_neg.cc
index c43e3add476..9d09983d040 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/insert1_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/insert1_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <vector>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/insert2_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/insert2_neg.cc
index 80b8e171ea5..4d8632c8e9e 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/insert2_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/insert2_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <vector>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/insert3_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/insert3_neg.cc
index 000643d2ee5..6514cca3ef5 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/insert3_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/insert3_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <vector>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/insert5_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/insert5_neg.cc
index ee65e6f64a8..1cb29ecf8f3 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/insert5_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/insert5_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <vector>
#include <debug/checks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/iterator_self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/iterator_self_move_assign_neg.cc
index bc293b2624c..c6f238976ed 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/iterator_self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/iterator_self_move_assign_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <vector>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/self_move_assign_neg.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/self_move_assign_neg.cc
index b843ed5077e..d82b6b73d27 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/self_move_assign_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/self_move_assign_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <vector>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/debug/shrink_to_fit.cc b/libstdc++-v3/testsuite/23_containers/vector/debug/shrink_to_fit.cc
index d41145e9203..0bd161ac587 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/debug/shrink_to_fit.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/debug/shrink_to_fit.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { target c++11 xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <vector>
diff --git a/libstdc++-v3/testsuite/25_algorithms/lower_bound/debug/irreflexive.cc b/libstdc++-v3/testsuite/25_algorithms/lower_bound/debug/irreflexive.cc
index 1554df0d97f..08a3170ee58 100644
--- a/libstdc++-v3/testsuite/25_algorithms/lower_bound/debug/irreflexive.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/lower_bound/debug/irreflexive.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do compile }
+// { dg-require-debug-mode "" }
#include <algorithm>
diff --git a/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc b/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc
index 1ebc3bde87e..52076aaf4b8 100644
--- a/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
//
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <algorithm>
diff --git a/libstdc++-v3/testsuite/25_algorithms/pop_heap/complexity.cc b/libstdc++-v3/testsuite/25_algorithms/pop_heap/complexity.cc
index 39999468b1d..d7e658a86c0 100644
--- a/libstdc++-v3/testsuite/25_algorithms/pop_heap/complexity.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/pop_heap/complexity.cc
@@ -15,9 +15,9 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
+// { dg-do run { target c++11 } }
// { dg-require-normal-mode "" }
// { dg-require-cmath "" }
-// { dg-do run { target c++11 } }
#include <cmath>
#include <random>
diff --git a/libstdc++-v3/testsuite/25_algorithms/pop_heap/empty2_neg.cc b/libstdc++-v3/testsuite/25_algorithms/pop_heap/empty2_neg.cc
index e30533f7629..5bc2d99dd03 100644
--- a/libstdc++-v3/testsuite/25_algorithms/pop_heap/empty2_neg.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/pop_heap/empty2_neg.cc
@@ -17,8 +17,8 @@
// 25.3.6 Heap operations [lib.alg.heap.operations]
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <algorithm>
#include <functional>
diff --git a/libstdc++-v3/testsuite/25_algorithms/pop_heap/empty_neg.cc b/libstdc++-v3/testsuite/25_algorithms/pop_heap/empty_neg.cc
index 358fb90f415..96c1ab97327 100644
--- a/libstdc++-v3/testsuite/25_algorithms/pop_heap/empty_neg.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/pop_heap/empty_neg.cc
@@ -17,8 +17,8 @@
// 25.3.6 Heap operations [lib.alg.heap.operations]
-// { dg-require-debug-mode "" }
// { dg-do run { xfail *-*-* } }
+// { dg-require-debug-mode "" }
#include <algorithm>
diff --git a/libstdc++-v3/testsuite/25_algorithms/push_heap/complexity.cc b/libstdc++-v3/testsuite/25_algorithms/push_heap/complexity.cc
index c7c049c81c9..089512b1472 100644
--- a/libstdc++-v3/testsuite/25_algorithms/push_heap/complexity.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/push_heap/complexity.cc
@@ -15,9 +15,9 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
+// { dg-do run { target c++11 } }
// { dg-require-normal-mode "" }
// { dg-require-cmath "" }
-// { dg-do run { target c++11 } }
#include <cmath>
#include <random>
diff --git a/libstdc++-v3/testsuite/25_algorithms/sort_heap/complexity.cc b/libstdc++-v3/testsuite/25_algorithms/sort_heap/complexity.cc
index bb93780ffd0..cfcaae9606a 100644
--- a/libstdc++-v3/testsuite/25_algorithms/sort_heap/complexity.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/sort_heap/complexity.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// { dg-require-cmath "" }
// { dg-do run { target c++11 } }
+// { dg-require-cmath "" }
#include <cmath>
#include <random>
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc b/libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc
index 40cf7529c03..582ba35528f 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/12048-5.cc
@@ -22,9 +22,8 @@
// equivalent and interchangable. Currently however, cin.rdbuf()->sungetc()
// only returns characters that were read with cin.rdbuf()->sbumpc()
-// { dg-require-fileio "" }
-
// { dg-do run { xfail *-*-* } }
+// { dg-require-fileio "" }
#include <iostream>
#include <cstdio>
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/60658.cc b/libstdc++-v3/testsuite/29_atomics/atomic/60658.cc
index 1524a570242..2daa2dcf0ff 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/60658.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/60658.cc
@@ -1,5 +1,5 @@
-// { dg-require-atomic-builtins "" }
// { dg-do run { target c++11 } }
+// { dg-require-atomic-builtins "" }
// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/60695.cc b/libstdc++-v3/testsuite/29_atomics/atomic/60695.cc
index 06749a4d1ba..d4913282eac 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/60695.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/60695.cc
@@ -1,6 +1,6 @@
+// { dg-do compile { target c++11 } }
// { dg-require-atomic-builtins "" }
// { dg-options "-Wno-pedantic" }
-// { dg-do compile { target c++11 } }
// Copyright (C) 2014-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/62259.cc b/libstdc++-v3/testsuite/29_atomics/atomic/62259.cc
index a98b332c177..37d84adaf43 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/62259.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/62259.cc
@@ -15,9 +15,9 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
+// { dg-do compile { target c++11 } }
// { dg-require-atomic-builtins "" }
// { dg-require-cstdint "" }
-// { dg-do compile { target c++11 } }
#include <atomic>
#include <cstdint>
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/64658.cc b/libstdc++-v3/testsuite/29_atomics/atomic/64658.cc
index 7895b15d644..4a8369da474 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/64658.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/64658.cc
@@ -15,8 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// { dg-require-atomic-builtins "" }
// { dg-do run { target c++11 } }
+// { dg-require-atomic-builtins "" }
#include <atomic>
#include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/cons/49445.cc b/libstdc++-v3/testsuite/29_atomics/atomic/cons/49445.cc
index 556bd0b09f1..f4445dee22f 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/cons/49445.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/cons/49445.cc
@@ -1,5 +1,5 @@
-// { dg-require-atomic-builtins "" }
// { dg-do run { target c++11 } }
+// { dg-require-atomic-builtins "" }
// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/operators/51811.cc b/libstdc++-v3/testsuite/29_atomics/atomic/operators/51811.cc
index a1ec8ecf401..9aa7cb054f3 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/operators/51811.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/operators/51811.cc
@@ -1,5 +1,5 @@
-// { dg-require-atomic-builtins "" }
// { dg-do run { target c++11 } }
+// { dg-require-atomic-builtins "" }
// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/operators/pointer_partial_void.cc b/libstdc++-v3/testsuite/29_atomics/atomic/operators/pointer_partial_void.cc
index e73c1bb31cc..1535454fc26 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/operators/pointer_partial_void.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/operators/pointer_partial_void.cc
@@ -1,5 +1,5 @@
-// { dg-require-atomic-builtins "" }
// { dg-do run { target c++11 } }
+// { dg-require-atomic-builtins "" }
// Copyright (C) 2012-2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/ext/special_functions/conf_hyperg/check_nan.cc b/libstdc++-v3/testsuite/ext/special_functions/conf_hyperg/check_nan.cc
index d6108d5fd4b..6c4f8faad92 100644
--- a/libstdc++-v3/testsuite/ext/special_functions/conf_hyperg/check_nan.cc
+++ b/libstdc++-v3/testsuite/ext/special_functions/conf_hyperg/check_nan.cc
@@ -1,7 +1,7 @@
+// { dg-do run { target c++11 } }
// { dg-require-c-std "" }
// { dg-add-options ieee }
// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
-// { dg-do run { target c++11 } }
// Copyright (C) 2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/ext/special_functions/hyperg/check_nan.cc b/libstdc++-v3/testsuite/ext/special_functions/hyperg/check_nan.cc
index 8806a3c2b1d..31b81a69381 100644
--- a/libstdc++-v3/testsuite/ext/special_functions/hyperg/check_nan.cc
+++ b/libstdc++-v3/testsuite/ext/special_functions/hyperg/check_nan.cc
@@ -1,7 +1,7 @@
+// { dg-do run { target c++11 } }
// { dg-require-c-std "" }
// { dg-add-options ieee }
// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
-// { dg-do run { target c++11 } }
// Copyright (C) 2016 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/util/debug/checks.h b/libstdc++-v3/testsuite/util/debug/checks.h
index 5a40608acaa..872fa1a5fe4 100644
--- a/libstdc++-v3/testsuite/util/debug/checks.h
+++ b/libstdc++-v3/testsuite/util/debug/checks.h
@@ -53,6 +53,19 @@ namespace __gnu_test
}
};
+ template<>
+ struct generate_unique<bool>
+ {
+ typedef bool value_type;
+
+ value_type build()
+ {
+ static value_type _S_;
+ _S_ = !_S_;
+ return _S_;
+ }
+ };
+
template<typename _Tp1, typename _Tp2>
struct generate_unique<std::pair<_Tp1, _Tp2> >
{