[committed,1/5] libstdc++: Ensure c++NN effective target present in all C++17 tests

Message ID 20200731190009.GA1312923@redhat.com
State New
Headers show
Series
  • [committed,1/5] libstdc++: Ensure c++NN effective target present in all C++17 tests
Related show

Commit Message

Jonathan Wakely via Gcc-patches July 31, 2020, 7 p.m.
Also reorder some directives so that the dg-options setting -std=gnu++17
comes before the dg-do that requires c++17.

Tested powerpc64le-linux, committed to trunk.
commit 6458742a15f899a7d4e7c57bc649119e8f7aa086
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Fri Jul 31 19:58:02 2020

    libstdc++: Ensure c++NN effective target present in all C++17 tests
    
    Also reorder some directives so that the dg-options setting -std=gnu++17
    comes before the dg-do that requires c++17.
    
    libstdc++-v3/ChangeLog:
    
            * testsuite/17_intro/headers/c++2017/all_attributes.cc: Add
            c++17 effective-target.
            * testsuite/17_intro/headers/c++2017/all_no_exceptions.cc:
            Likewise.
            * testsuite/17_intro/headers/c++2017/all_no_rtti.cc: Likewise.
            * testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc:
            Likewise.
            * testsuite/17_intro/headers/c++2017/operator_names.cc:
            Likewise.
            * testsuite/17_intro/headers/c++2017/stdc++.cc: Likewise.
            * testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc:
            Likewise.
            * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
            Likewise.
            * testsuite/19_diagnostics/error_code/is_error_code_v.cc:
            Likewise.
            * testsuite/20_util/any/assign/1.cc: Likewise.
            * testsuite/20_util/any/assign/2.cc: Likewise.
            * testsuite/20_util/any/assign/emplace.cc: Likewise.
            * testsuite/20_util/any/assign/exception.cc: Likewise.
            * testsuite/20_util/any/assign/self.cc: Likewise.
            * testsuite/20_util/any/cons/1.cc: Likewise.
            * testsuite/20_util/any/cons/2.cc: Likewise.
            * testsuite/20_util/any/cons/aligned.cc: Likewise.
            * testsuite/20_util/any/cons/explicit.cc: Likewise.
            * testsuite/20_util/any/cons/in_place.cc: Likewise.
            * testsuite/20_util/any/cons/nontrivial.cc: Likewise.
            * testsuite/20_util/any/make_any.cc: Likewise.
            * testsuite/20_util/any/misc/any_cast.cc: Likewise.
            * testsuite/20_util/any/misc/any_cast_no_rtti.cc: Likewise.
            * testsuite/20_util/any/misc/swap.cc: Likewise.
            * testsuite/20_util/any/modifiers/1.cc: Likewise.
            * testsuite/20_util/any/observers/type.cc: Likewise.
            * testsuite/20_util/any/requirements.cc: Likewise.
            * testsuite/20_util/any/typedefs.cc: Likewise.
            * testsuite/20_util/as_const/1.cc: Likewise.
            * testsuite/20_util/as_const/rvalue_neg.cc: Likewise.
            * testsuite/20_util/bind/is_placeholder_v.cc: Likewise.
            * testsuite/20_util/bool_constant/requirements.cc: Likewise.
            * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc:
            Likewise.
            * testsuite/20_util/duration_cast/rounding.cc: Likewise.
            * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
            Likewise.
            * testsuite/20_util/function_objects/invoke/59768.cc: Likewise.
            * testsuite/20_util/function_objects/not_fn/1.cc: Likewise.
            * testsuite/20_util/function_objects/searchers.cc: Likewise.
            * testsuite/20_util/in_place/requirements.cc: Likewise.
            * testsuite/20_util/is_invocable/requirements/explicit_instantiation.cc:
            Likewise.
            * testsuite/20_util/is_invocable/requirements/typedefs.cc:
            Likewise.
            * testsuite/20_util/is_invocable/value.cc: Likewise.
            * testsuite/20_util/is_nothrow_invocable/requirements/explicit_instantiation.cc:
            Likewise.
            * testsuite/20_util/is_nothrow_invocable/requirements/typedefs.cc:
            Likewise.
            * testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc:
            Likewise.
            * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
            Likewise.
            * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
            * testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc:
            Likewise.
            * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
            Likewise.
            * testsuite/20_util/is_nothrow_swappable_with/value.cc:
            Likewise.
            * testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc:
            Likewise.
            * testsuite/20_util/is_swappable/requirements/typedefs.cc:
            Likewise.
            * testsuite/20_util/is_swappable/value.cc: Likewise.
            * testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc:
            Likewise.
            * testsuite/20_util/is_swappable_with/requirements/typedefs.cc:
            Likewise.
            * testsuite/20_util/is_swappable_with/value.cc: Likewise.
            * testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc:
            Likewise.
            * testsuite/20_util/logical_traits/requirements/typedefs.cc:
            Likewise.
            * testsuite/20_util/logical_traits/value.cc: Likewise.
            * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise.
            * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise.
            * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise.
            * testsuite/20_util/optional/hash.cc: Likewise.
            * testsuite/20_util/pair/swap_cxx17.cc: Likewise.
            * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise.
            * testsuite/20_util/shared_ptr/requirements/weak_type.cc:
            Likewise.
            * testsuite/20_util/specialized_algorithms/memory_management_tools/1.cc:
            Likewise.
            * testsuite/20_util/tuple/apply/1.cc: Likewise.
            * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
            * testsuite/20_util/tuple/swap_cxx17.cc: Likewise.
            * testsuite/20_util/tuple/tuple_size_v.cc: Likewise.
            * testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc:
            Likewise.
            * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc:
            Likewise.
            * testsuite/20_util/variant/any.cc: Likewise.
            * testsuite/20_util/variant/compile.cc: Likewise.
            * testsuite/20_util/variant/hash.cc: Likewise.
            * testsuite/20_util/variant/index_type.cc: Likewise.
            * testsuite/20_util/variant/run.cc: Likewise.
            * testsuite/20_util/void_t/1.cc: Likewise.
            * testsuite/21_strings/basic_string/79162.cc: Likewise.
            * testsuite/21_strings/basic_string/cons/char/7.cc: Likewise.
            * testsuite/21_strings/basic_string/cons/wchar_t/7.cc: Likewise.
            * testsuite/21_strings/basic_string/lwg2758.cc: Likewise.
            * testsuite/21_strings/basic_string/lwg2946.cc: Likewise.
            * testsuite/21_strings/basic_string/modifiers/append/char/4.cc:
            Likewise.
            * testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc:
            Likewise.
            * testsuite/21_strings/basic_string/modifiers/assign/char/4.cc:
            Likewise.
            * testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc:
            Likewise.
            * testsuite/21_strings/basic_string/modifiers/insert/char/3.cc:
            Likewise.
            * testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc:
            Likewise.
            * testsuite/21_strings/basic_string/modifiers/replace/char/7.cc:
            Likewise.
            * testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc:
            Likewise.
            * testsuite/21_strings/basic_string/operations/compare/char/2.cc:
            Likewise.
            * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc:
            Likewise.
            * testsuite/21_strings/basic_string/operations/data/char/2.cc:
            Likewise.
            * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc:
            Likewise.
            * testsuite/21_strings/basic_string/operations/find/char/5.cc:
            Likewise.
            * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc:
            Likewise.
            * testsuite/21_strings/basic_string/operators/char/5.cc: Likewise.
            * testsuite/21_strings/basic_string/operators/wchar_t/5.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/capacity/1.cc: Likewise.
            * testsuite/21_strings/basic_string_view/cons/char/1.cc: Likewise.
            * testsuite/21_strings/basic_string_view/cons/char/2.cc: Likewise.
            * testsuite/21_strings/basic_string_view/cons/char/3.cc: Likewise.
            * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/element_access/char/empty.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/element_access/char/front_back.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/include.cc: Likewise.
            * testsuite/21_strings/basic_string_view/inserters/char/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/inserters/char/2.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/inserters/char/3.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/literals/types-char8_t.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/literals/types.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/literals/values-char8_t.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/literals/values.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/copy/char/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/find/char/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/find/char/2.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/find/char/3.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/find/char/4.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/requirements/typedefs.cc:
            Likewise.
            * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise.
            * testsuite/21_strings/basic_string_view/types/1.cc: Likewise.
            * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
            Likewise.
            * testsuite/23_containers/map/modifiers/extract.cc: Likewise.
            * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
            Likewise.
            * testsuite/23_containers/map/modifiers/merge.cc: Likewise.
            * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
            * testsuite/23_containers/multimap/modifiers/extract.cc: Likewise.
            * testsuite/23_containers/multimap/modifiers/merge.cc: Likewise.
            * testsuite/23_containers/multiset/modifiers/extract.cc: Likewise.
            * testsuite/23_containers/multiset/modifiers/merge.cc: Likewise.
            * testsuite/23_containers/set/modifiers/extract.cc: Likewise.
            * testsuite/23_containers/set/modifiers/merge.cc: Likewise.
            * testsuite/23_containers/unordered_map/modifiers/extract.cc:
            Likewise.
            * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
            Likewise.
            * testsuite/23_containers/unordered_map/modifiers/merge.cc:
            Likewise.
            * testsuite/23_containers/unordered_map/modifiers/try_emplace.cc:
            Likewise.
            * testsuite/23_containers/unordered_multimap/modifiers/extract.cc:
            Likewise.
            * testsuite/23_containers/unordered_multimap/modifiers/merge.cc:
            Likewise.
            * testsuite/23_containers/unordered_multiset/modifiers/extract.cc:
            Likewise.
            * testsuite/23_containers/unordered_multiset/modifiers/merge.cc:
            Likewise.
            * testsuite/23_containers/unordered_set/modifiers/extract.cc:
            Likewise.
            * testsuite/23_containers/unordered_set/modifiers/merge.cc:
            Likewise.
            * testsuite/24_iterators/headers/iterator/range_access_c++17.cc:
            Likewise.
            * testsuite/24_iterators/headers/iterator/synopsis_c++17.cc:
            Likewise.
            * testsuite/25_algorithms/clamp/1.cc: Likewise.
            * testsuite/25_algorithms/clamp/2.cc: Likewise.
            * testsuite/25_algorithms/clamp/constexpr.cc: Likewise.
            * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc:
            Likewise.
            * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/pod.cc:
            Likewise.
            * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc:
            Likewise.
            * testsuite/26_numerics/headers/cmath/special_functions_global.cc:
            Likewise.
            * testsuite/27_io/basic_ostream/inserters_other/char/lwg2221.cc:
            Likewise.
            * testsuite/29_atomics/atomic/is_always_lock_free.cc: Likewise.
            * testsuite/29_atomics/atomic_integral/is_always_lock_free.cc:
            Likewise.
            * testsuite/30_threads/shared_lock/70766.cc: Likewise.
            * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
            * testsuite/30_threads/shared_mutex/cons/assign_neg.cc:
            Likewise.
            * testsuite/30_threads/shared_mutex/cons/copy_neg.cc:
            Likewise.
            * testsuite/30_threads/shared_mutex/requirements/standard_layout.cc:
            Likewise.
            * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
            * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
            * testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise.

Patch

diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_attributes.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_attributes.cc
index ec81f745ef5..035526e24cb 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_attributes.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_attributes.cc
@@ -16,7 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Ensure the library only uses the __name__ form for attributes.
 // Don't test 'const' and 'noreturn' because they are reserved anyway.
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_no_exceptions.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_no_exceptions.cc
index 3821cea5b68..0f6e581d71c 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_no_exceptions.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_no_exceptions.cc
@@ -1,5 +1,5 @@ 
-// { dg-do compile }
 // { dg-options "-std=gnu++17 -fno-exceptions" }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2015-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_no_rtti.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_no_rtti.cc
index 823aca95f48..f1c59c95b0f 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_no_rtti.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_no_rtti.cc
@@ -1,5 +1,5 @@ 
-// { dg-do compile }
 // { dg-options "-std=gnu++17 -fno-rtti" }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2015-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc
index 7e425430191..7db8ea0e0bc 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc
@@ -1,5 +1,5 @@ 
-// { dg-do compile }
 // { dg-options "-std=gnu++17 -pedantic-errors" }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2015-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2017/operator_names.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2017/operator_names.cc
index af61df2cad7..07dc83a0abe 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2017/operator_names.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2017/operator_names.cc
@@ -1,5 +1,5 @@ 
-// { dg-do compile }
 // { dg-options "-std=gnu++17 -fno-operator-names" }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2015-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2017/stdc++.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2017/stdc++.cc
index 5b865df2f0c..eccaa9c9e07 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2017/stdc++.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2017/stdc++.cc
@@ -1,7 +1,7 @@ 
 // FreeBSD wants warning clean system headers:
 // { dg-options "-std=gnu++17" }
 // { dg-additional-options "-Wall -Wsystem-headers" { target *-*-freebsd* *-*-dragonfly* } }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2015-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc
index bda75c9daab..e3d53243f67 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc
@@ -1,7 +1,7 @@ 
 // FreeBSD wants warning clean system headers:
 // { dg-options "-std=gnu++17" }
 // { dg-additional-options "-Wall -Wsystem-headers" { target *-*-freebsd* *-*-dragonfly* } }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2015-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc b/libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc
index 2b84e61aac8..05e60b4e185 100644
--- a/libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc
+++ b/libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <cassert>
 #include <exception>
diff --git a/libstdc++-v3/testsuite/19_diagnostics/error_code/is_error_code_v.cc b/libstdc++-v3/testsuite/19_diagnostics/error_code/is_error_code_v.cc
index a54edb1850d..1451caf15cd 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/error_code/is_error_code_v.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/error_code/is_error_code_v.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2014-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/any/assign/1.cc b/libstdc++-v3/testsuite/20_util/any/assign/1.cc
index 30d3d279d77..0cbc002eb40 100644
--- a/libstdc++-v3/testsuite/20_util/any/assign/1.cc
+++ b/libstdc++-v3/testsuite/20_util/any/assign/1.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do run }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2014-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/any/assign/2.cc b/libstdc++-v3/testsuite/20_util/any/assign/2.cc
index 988806f883b..bd1aab454f6 100644
--- a/libstdc++-v3/testsuite/20_util/any/assign/2.cc
+++ b/libstdc++-v3/testsuite/20_util/any/assign/2.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do run }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2014-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/any/assign/emplace.cc b/libstdc++-v3/testsuite/20_util/any/assign/emplace.cc
index a93a3521c17..672945cb3ee 100644
--- a/libstdc++-v3/testsuite/20_util/any/assign/emplace.cc
+++ b/libstdc++-v3/testsuite/20_util/any/assign/emplace.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do run }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/any/assign/exception.cc b/libstdc++-v3/testsuite/20_util/any/assign/exception.cc
index 8bdf9375960..876ea16130d 100644
--- a/libstdc++-v3/testsuite/20_util/any/assign/exception.cc
+++ b/libstdc++-v3/testsuite/20_util/any/assign/exception.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do run }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/any/assign/self.cc b/libstdc++-v3/testsuite/20_util/any/assign/self.cc
index 777da8b120b..3d8b05cc555 100644
--- a/libstdc++-v3/testsuite/20_util/any/assign/self.cc
+++ b/libstdc++-v3/testsuite/20_util/any/assign/self.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <any>
 #include <set>
diff --git a/libstdc++-v3/testsuite/20_util/any/cons/1.cc b/libstdc++-v3/testsuite/20_util/any/cons/1.cc
index f04b3080ca1..91be8183c7c 100644
--- a/libstdc++-v3/testsuite/20_util/any/cons/1.cc
+++ b/libstdc++-v3/testsuite/20_util/any/cons/1.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do run }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2014-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/any/cons/2.cc b/libstdc++-v3/testsuite/20_util/any/cons/2.cc
index b9324fd6c64..36f6ec86088 100644
--- a/libstdc++-v3/testsuite/20_util/any/cons/2.cc
+++ b/libstdc++-v3/testsuite/20_util/any/cons/2.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do run }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2014-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/any/cons/aligned.cc b/libstdc++-v3/testsuite/20_util/any/cons/aligned.cc
index e6ccd7edbd8..e9ac91734c3 100644
--- a/libstdc++-v3/testsuite/20_util/any/cons/aligned.cc
+++ b/libstdc++-v3/testsuite/20_util/any/cons/aligned.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 // { dg-require-cstdint "" }
 
 #include <any>
diff --git a/libstdc++-v3/testsuite/20_util/any/cons/explicit.cc b/libstdc++-v3/testsuite/20_util/any/cons/explicit.cc
index 54824eb8418..b9e124fe6d8 100644
--- a/libstdc++-v3/testsuite/20_util/any/cons/explicit.cc
+++ b/libstdc++-v3/testsuite/20_util/any/cons/explicit.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/any/cons/in_place.cc b/libstdc++-v3/testsuite/20_util/any/cons/in_place.cc
index 856e270e3e6..ca92901aa61 100644
--- a/libstdc++-v3/testsuite/20_util/any/cons/in_place.cc
+++ b/libstdc++-v3/testsuite/20_util/any/cons/in_place.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do run }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/any/cons/nontrivial.cc b/libstdc++-v3/testsuite/20_util/any/cons/nontrivial.cc
index 1a348b9ffdd..e6a7ed38861 100644
--- a/libstdc++-v3/testsuite/20_util/any/cons/nontrivial.cc
+++ b/libstdc++-v3/testsuite/20_util/any/cons/nontrivial.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <any>
 #include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/20_util/any/make_any.cc b/libstdc++-v3/testsuite/20_util/any/make_any.cc
index 31b859bfe8d..c75743d2465 100644
--- a/libstdc++-v3/testsuite/20_util/any/make_any.cc
+++ b/libstdc++-v3/testsuite/20_util/any/make_any.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do run }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/any/misc/any_cast.cc b/libstdc++-v3/testsuite/20_util/any/misc/any_cast.cc
index 180bbefa213..7ca11d857f7 100644
--- a/libstdc++-v3/testsuite/20_util/any/misc/any_cast.cc
+++ b/libstdc++-v3/testsuite/20_util/any/misc/any_cast.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do run }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2014-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/any/misc/any_cast_no_rtti.cc b/libstdc++-v3/testsuite/20_util/any/misc/any_cast_no_rtti.cc
index bfc2d7cd7a2..e53e219e7dc 100644
--- a/libstdc++-v3/testsuite/20_util/any/misc/any_cast_no_rtti.cc
+++ b/libstdc++-v3/testsuite/20_util/any/misc/any_cast_no_rtti.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17 -fno-rtti" }
-// { dg-do run }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2014-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/any/misc/swap.cc b/libstdc++-v3/testsuite/20_util/any/misc/swap.cc
index 73ca265e42d..1aaf5fb0b99 100644
--- a/libstdc++-v3/testsuite/20_util/any/misc/swap.cc
+++ b/libstdc++-v3/testsuite/20_util/any/misc/swap.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do run }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2014-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/any/modifiers/1.cc b/libstdc++-v3/testsuite/20_util/any/modifiers/1.cc
index 9fb5a6b0158..aacd96493ff 100644
--- a/libstdc++-v3/testsuite/20_util/any/modifiers/1.cc
+++ b/libstdc++-v3/testsuite/20_util/any/modifiers/1.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do run }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2014-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/any/observers/type.cc b/libstdc++-v3/testsuite/20_util/any/observers/type.cc
index 6d1b3f4b482..1ef03b66324 100644
--- a/libstdc++-v3/testsuite/20_util/any/observers/type.cc
+++ b/libstdc++-v3/testsuite/20_util/any/observers/type.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do run }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2014-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/any/requirements.cc b/libstdc++-v3/testsuite/20_util/any/requirements.cc
index b5e58911f5b..192a15c3fa8 100644
--- a/libstdc++-v3/testsuite/20_util/any/requirements.cc
+++ b/libstdc++-v3/testsuite/20_util/any/requirements.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/any/typedefs.cc b/libstdc++-v3/testsuite/20_util/any/typedefs.cc
index f161d70c7f5..d82a0f54d13 100644
--- a/libstdc++-v3/testsuite/20_util/any/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/any/typedefs.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2014-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/as_const/1.cc b/libstdc++-v3/testsuite/20_util/as_const/1.cc
index fdeedba3eb5..6f8b4caa7f2 100644
--- a/libstdc++-v3/testsuite/20_util/as_const/1.cc
+++ b/libstdc++-v3/testsuite/20_util/as_const/1.cc
@@ -16,7 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 #include <utility>
 
diff --git a/libstdc++-v3/testsuite/20_util/as_const/rvalue_neg.cc b/libstdc++-v3/testsuite/20_util/as_const/rvalue_neg.cc
index 48ef35d2a90..11880ce8048 100644
--- a/libstdc++-v3/testsuite/20_util/as_const/rvalue_neg.cc
+++ b/libstdc++-v3/testsuite/20_util/as_const/rvalue_neg.cc
@@ -16,7 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 #include <utility>
 
diff --git a/libstdc++-v3/testsuite/20_util/bind/is_placeholder_v.cc b/libstdc++-v3/testsuite/20_util/bind/is_placeholder_v.cc
index f3be9b93e9a..7fe8181f370 100644
--- a/libstdc++-v3/testsuite/20_util/bind/is_placeholder_v.cc
+++ b/libstdc++-v3/testsuite/20_util/bind/is_placeholder_v.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/bool_constant/requirements.cc b/libstdc++-v3/testsuite/20_util/bool_constant/requirements.cc
index cb4256de5e9..10fc3a60f5a 100644
--- a/libstdc++-v3/testsuite/20_util/bool_constant/requirements.cc
+++ b/libstdc++-v3/testsuite/20_util/bool_constant/requirements.cc
@@ -16,7 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 #include <type_traits>
 
diff --git a/libstdc++-v3/testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc b/libstdc++-v3/testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc
index 82f66490912..518930ffcb9 100644
--- a/libstdc++-v3/testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2014-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/duration_cast/rounding.cc b/libstdc++-v3/testsuite/20_util/duration_cast/rounding.cc
index e1b86994570..845e4a5d5cc 100644
--- a/libstdc++-v3/testsuite/20_util/duration_cast/rounding.cc
+++ b/libstdc++-v3/testsuite/20_util/duration_cast/rounding.cc
@@ -16,7 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 #include <chrono>
 
diff --git a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc
index cc68d7ceac5..d83b23ab9a1 100644
--- a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc
+++ b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <memory>
 #include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/invoke/59768.cc b/libstdc++-v3/testsuite/20_util/function_objects/invoke/59768.cc
index 8df2cf0ff22..692712b06a9 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/invoke/59768.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/invoke/59768.cc
@@ -16,7 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 #include <functional>
 
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/not_fn/1.cc b/libstdc++-v3/testsuite/20_util/function_objects/not_fn/1.cc
index ba871597da7..d24f321ef6c 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/not_fn/1.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/not_fn/1.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <functional>
 #include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/searchers.cc b/libstdc++-v3/testsuite/20_util/function_objects/searchers.cc
index fbf42a16927..2174f078c34 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/searchers.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/searchers.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <functional>
 #include <cstring>
diff --git a/libstdc++-v3/testsuite/20_util/in_place/requirements.cc b/libstdc++-v3/testsuite/20_util/in_place/requirements.cc
index d6758d2d892..7bc42140298 100644
--- a/libstdc++-v3/testsuite/20_util/in_place/requirements.cc
+++ b/libstdc++-v3/testsuite/20_util/in_place/requirements.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/is_invocable/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_invocable/requirements/explicit_instantiation.cc
index f860a7e7bd0..a19eda37a01 100644
--- a/libstdc++-v3/testsuite/20_util/is_invocable/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_invocable/requirements/explicit_instantiation.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/is_invocable/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_invocable/requirements/typedefs.cc
index ad3fa56c161..ea3830fe50a 100644
--- a/libstdc++-v3/testsuite/20_util/is_invocable/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_invocable/requirements/typedefs.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/is_invocable/value.cc b/libstdc++-v3/testsuite/20_util/is_invocable/value.cc
index a1d15e47742..2107c76410c 100644
--- a/libstdc++-v3/testsuite/20_util/is_invocable/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_invocable/value.cc
@@ -16,7 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 #include <type_traits>
 
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_invocable/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_invocable/requirements/explicit_instantiation.cc
index 1954110003d..16fe4e5c61d 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_invocable/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_invocable/requirements/explicit_instantiation.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_invocable/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_invocable/requirements/typedefs.cc
index 477e836c144..ee4cdd031a0 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_invocable/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_invocable/requirements/typedefs.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc
index ed9a948cbdd..8c86098faf8 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2015-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc
index 62a8de442a2..31ad9727d0b 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2015-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/value.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/value.cc
index 047d199fab3..b7ef01b7d77 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/value.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2015-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc
index d8ce76ef0cd..83ed01dcb1f 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc
index 40d166b8571..4fc9bfd9b82 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/value.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/value.cc
index f946a7e8212..87a3d798599 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/value.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc
index f98d712d647..f8eedd40250 100644
--- a/libstdc++-v3/testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2015-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/is_swappable/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_swappable/requirements/typedefs.cc
index 22a6b9963d5..55d002f7652 100644
--- a/libstdc++-v3/testsuite/20_util/is_swappable/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_swappable/requirements/typedefs.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2015-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/is_swappable/value.cc b/libstdc++-v3/testsuite/20_util/is_swappable/value.cc
index 71041bd026a..d6d423aa83f 100644
--- a/libstdc++-v3/testsuite/20_util/is_swappable/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_swappable/value.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2015-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc
index 833ae306d6e..90edf33ed74 100644
--- a/libstdc++-v3/testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/is_swappable_with/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_swappable_with/requirements/typedefs.cc
index d548b080e18..f30870fb7a7 100644
--- a/libstdc++-v3/testsuite/20_util/is_swappable_with/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_swappable_with/requirements/typedefs.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/is_swappable_with/value.cc b/libstdc++-v3/testsuite/20_util/is_swappable_with/value.cc
index a6b8f2e914c..5f8b383c531 100644
--- a/libstdc++-v3/testsuite/20_util/is_swappable_with/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_swappable_with/value.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc
index 1e2d8a17ef4..53eedc50892 100644
--- a/libstdc++-v3/testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2015-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/logical_traits/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/logical_traits/requirements/typedefs.cc
index f36b2d1f0d9..f4355a65135 100644
--- a/libstdc++-v3/testsuite/20_util/logical_traits/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/logical_traits/requirements/typedefs.cc
@@ -22,7 +22,7 @@ 
 
 #include <type_traits>
 
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 void test01()
 {
diff --git a/libstdc++-v3/testsuite/20_util/logical_traits/value.cc b/libstdc++-v3/testsuite/20_util/logical_traits/value.cc
index 8b99d7f9c94..34ef32580d3 100644
--- a/libstdc++-v3/testsuite/20_util/logical_traits/value.cc
+++ b/libstdc++-v3/testsuite/20_util/logical_traits/value.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 //
 // Copyright (C) 2015-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/optional/constexpr/make_optional.cc b/libstdc++-v3/testsuite/20_util/optional/constexpr/make_optional.cc
index eadf9eb33db..6cd1d522b20 100644
--- a/libstdc++-v3/testsuite/20_util/optional/constexpr/make_optional.cc
+++ b/libstdc++-v3/testsuite/20_util/optional/constexpr/make_optional.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/optional/constexpr/observers/2.cc b/libstdc++-v3/testsuite/20_util/optional/constexpr/observers/2.cc
index 1abde324bbe..da340dee7bb 100644
--- a/libstdc++-v3/testsuite/20_util/optional/constexpr/observers/2.cc
+++ b/libstdc++-v3/testsuite/20_util/optional/constexpr/observers/2.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/optional/constexpr/observers/3.cc b/libstdc++-v3/testsuite/20_util/optional/constexpr/observers/3.cc
index abd2e7dcbba..751ae499cdb 100644
--- a/libstdc++-v3/testsuite/20_util/optional/constexpr/observers/3.cc
+++ b/libstdc++-v3/testsuite/20_util/optional/constexpr/observers/3.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/optional/hash.cc b/libstdc++-v3/testsuite/20_util/optional/hash.cc
index d0c07656302..d37453a7bee 100644
--- a/libstdc++-v3/testsuite/20_util/optional/hash.cc
+++ b/libstdc++-v3/testsuite/20_util/optional/hash.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/pair/swap_cxx17.cc b/libstdc++-v3/testsuite/20_util/pair/swap_cxx17.cc
index 45c4b42ed71..bce3e33e8d9 100644
--- a/libstdc++-v3/testsuite/20_util/pair/swap_cxx17.cc
+++ b/libstdc++-v3/testsuite/20_util/pair/swap_cxx17.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/ratio/requirements/ratio_equal_v.cc b/libstdc++-v3/testsuite/20_util/ratio/requirements/ratio_equal_v.cc
index 2caff91e1a2..b8f68cdbeec 100644
--- a/libstdc++-v3/testsuite/20_util/ratio/requirements/ratio_equal_v.cc
+++ b/libstdc++-v3/testsuite/20_util/ratio/requirements/ratio_equal_v.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2014-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/weak_type.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/weak_type.cc
index 653176efeb0..beb49dda4a2 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/weak_type.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/requirements/weak_type.cc
@@ -16,7 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 #include <memory>
 
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
index 682a164768e..b7cf05facc4 100644
--- 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
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <memory>
 #include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/20_util/tuple/apply/1.cc b/libstdc++-v3/testsuite/20_util/tuple/apply/1.cc
index 65050116107..2baf651ef72 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/apply/1.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/apply/1.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <tuple>
 #include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/20_util/tuple/make_from_tuple/1.cc b/libstdc++-v3/testsuite/20_util/tuple/make_from_tuple/1.cc
index 4f0e76cdae3..282bc512c9a 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/make_from_tuple/1.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/make_from_tuple/1.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <tuple>
 #include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/20_util/tuple/swap_cxx17.cc b/libstdc++-v3/testsuite/20_util/tuple/swap_cxx17.cc
index 6c163e4c7e2..ff18f8181b4 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/swap_cxx17.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/swap_cxx17.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/tuple/tuple_size_v.cc b/libstdc++-v3/testsuite/20_util/tuple/tuple_size_v.cc
index a1d20e2021d..0e91f0653cf 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/tuple_size_v.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/tuple_size_v.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2014-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc
index 96035bdd322..6a5c8082afb 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc b/libstdc++-v3/testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc
index f89caa16d0a..d0974362762 100644
--- a/libstdc++-v3/testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc
+++ b/libstdc++-v3/testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/variant/any.cc b/libstdc++-v3/testsuite/20_util/variant/any.cc
index bba4ee57b8a..fffa3f36012 100644
--- a/libstdc++-v3/testsuite/20_util/variant/any.cc
+++ b/libstdc++-v3/testsuite/20_util/variant/any.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2017-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/variant/compile.cc b/libstdc++-v3/testsuite/20_util/variant/compile.cc
index 5f681754b5f..5e9e80c3840 100644
--- a/libstdc++-v3/testsuite/20_util/variant/compile.cc
+++ b/libstdc++-v3/testsuite/20_util/variant/compile.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/variant/hash.cc b/libstdc++-v3/testsuite/20_util/variant/hash.cc
index 90151d9f0c9..a43f39eb303 100644
--- a/libstdc++-v3/testsuite/20_util/variant/hash.cc
+++ b/libstdc++-v3/testsuite/20_util/variant/hash.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/variant/index_type.cc b/libstdc++-v3/testsuite/20_util/variant/index_type.cc
index a1136d6be9d..73863fa677f 100644
--- a/libstdc++-v3/testsuite/20_util/variant/index_type.cc
+++ b/libstdc++-v3/testsuite/20_util/variant/index_type.cc
@@ -1,5 +1,6 @@ 
 // { dg-options "-std=gnu++17" }
 // { dg-do compile { target { ilp32 || lp64 } } }
+// { dg-require-effective-target c++17 }
 
 // Copyright (C) 2017-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/variant/run.cc b/libstdc++-v3/testsuite/20_util/variant/run.cc
index 0ac5de25289..578ade48f56 100644
--- a/libstdc++-v3/testsuite/20_util/variant/run.cc
+++ b/libstdc++-v3/testsuite/20_util/variant/run.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do run }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/20_util/void_t/1.cc b/libstdc++-v3/testsuite/20_util/void_t/1.cc
index a6ded5875b6..d59d07f4de7 100644
--- a/libstdc++-v3/testsuite/20_util/void_t/1.cc
+++ b/libstdc++-v3/testsuite/20_util/void_t/1.cc
@@ -16,7 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 #include <type_traits>
 
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/79162.cc b/libstdc++-v3/testsuite/21_strings/basic_string/79162.cc
index a1a69780793..cedf6b76a0f 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/79162.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/79162.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2017-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/7.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/7.cc
index 7e0e9983898..61cfbe6caf7 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/7.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/7.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/7.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/7.cc
index 44920d5e0bb..c5491a3bd02 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/7.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/7.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/lwg2758.cc b/libstdc++-v3/testsuite/21_strings/basic_string/lwg2758.cc
index 16abb9c4bd7..3284caeaad6 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/lwg2758.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/lwg2758.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/lwg2946.cc b/libstdc++-v3/testsuite/21_strings/basic_string/lwg2946.cc
index e95cd7777d6..ccb577aa902 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/lwg2946.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/lwg2946.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2017-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/char/4.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/char/4.cc
index cc8f896f1a3..2eac4e9e075 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/char/4.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/char/4.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc
index c3e13d1f9fa..c09b55b4bd5 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/append/wchar_t/4.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/4.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/4.cc
index 29d4e4c6c0b..5497f155b14 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/4.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/char/4.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc
index 136388d69f4..59e874fd89e 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/assign/wchar_t/4.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/char/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/char/3.cc
index 7fd5850fe58..aaefc7f0ef7 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/char/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/char/3.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc
index d585f85306e..48b828710bf 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/insert/wchar_t/3.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/7.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/7.cc
index 8918edd54a4..fe97517fb19 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/7.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/char/7.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc
index 9622ebefcff..0e2437b84ac 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/modifiers/replace/wchar_t/7.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/2.cc
index d9c9aaed9fa..f2713122a44 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/char/2.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc
index b8856e530be..a83c9a1db07 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/data/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/data/char/2.cc
index 7608a0dcb4f..edd7029a707 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/data/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/data/char/2.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // C++17 21.3.1.7 [string.ops] string operations
 
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc
index 3c977e05464..7099695e739 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // C++17 21.3.1.7 [string.ops] string operations
 
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/5.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/5.cc
index 36609117294..746551b0c48 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/5.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/char/5.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc
index 56f98ea990a..334904d5c04 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/5.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/5.cc
index 0aabab479df..c6f9b048d05 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/5.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/5.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/5.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/5.cc
index b9437a3504e..1510766578c 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/5.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/5.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/capacity/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/capacity/1.cc
index 5bbf3338165..0307a5bd85d 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/capacity/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/capacity/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/char/1.cc
index e86254b8e85..128ce812ebc 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/char/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/char/2.cc
index 8098654315c..7bda603d36c 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/char/2.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/char/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/char/3.cc
index dae84097e4e..a1bb285a035 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/char/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/char/3.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc
index ccf7cd361ed..81f622f1295 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc
index 62928fcebc6..ea912c27d4f 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/2.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc
index f00b0361e16..a806773c846 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/cons/wchar_t/3.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/1.cc
index b1bc4aa39a5..52e8d3faacb 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/2.cc
index 29402d066e2..5978c366824 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/2.cc
@@ -1,6 +1,7 @@ 
-// { dg-do run { xfail *-*-* } }
 // { dg-options "-std=gnu++17 -O0" }
+// { dg-do run { target c++17 } }
 // { dg-require-debug-mode "" }
+// { dg-xfail-run-if "expect debug mode assertion to fail" { *-*-* } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/empty.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/empty.cc
index f22bc53886c..44de1a46340 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/empty.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/empty.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/front_back.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/front_back.cc
index 60174f0f33c..12992b2c34f 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/front_back.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/char/front_back.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 // { dg-require-string-conversions "" }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc
index bae9f5b4b06..9749941bd71 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc
index 1f811538bb4..90be1b37374 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc
@@ -1,6 +1,7 @@ 
-// { dg-do run { xfail *-*-* } }
 // { dg-options "-std=gnu++17 -O0" }
+// { dg-do run { target c++17 } }
 // { dg-require-debug-mode "" }
+// { dg-xfail-run-if "expect debug mode assertion to fail" { *-*-* } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc
index 52c8dd52016..35f411230f1 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/wchar_t/empty.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc
index 812e9f96257..edf50fb2c24 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/element_access/wchar_t/front_back.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 // { dg-require-string-conversions "" }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/include.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/include.cc
index bca70bfe0a8..688a5a00c8b 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/include.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/include.cc
@@ -20,6 +20,6 @@ 
 // NB: This issue affected only debug-mode.
 
 // { dg-options "-std=gnu++17 -fno-rtti" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 #include <string_view>
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/char/1.cc
index fa2f1f91a46..c565cca8bb4 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/char/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/char/2.cc
index 8fa3e5ce6e5..7bf91c1ad83 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/char/2.cc
@@ -23,6 +23,7 @@ 
 // all of the string_view class.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 // { dg-require-fileio "" }
 
 #include <string_view>
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/char/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/char/3.cc
index 0d689c3eff4..69bb7732d07 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/char/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/char/3.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc
index 0ed6e8e4883..89e94f329ff 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/pod/10081-out.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc
index 9d632573c79..16eb9fe898a 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/wchar_t/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc
index 0d587e4bf04..ce75c89c824 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 // { dg-require-fileio "" }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc
index b1fe5bc3891..47861cbdd79 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/inserters/wchar_t/3.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/literals/types-char8_t.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/literals/types-char8_t.cc
index c84acfa6acd..8a155886f1a 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/literals/types-char8_t.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/literals/types-char8_t.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17 -fchar8_t" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/literals/types.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/literals/types.cc
index f0c1c2cd5d8..5d8fc1465e4 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/literals/types.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/literals/types.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/literals/values-char8_t.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/literals/values-char8_t.cc
index 9acf11117dd..4e2aa111080 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/literals/values-char8_t.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/literals/values-char8_t.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17 -fchar8_t" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/literals/values.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/literals/values.cc
index f01b2126697..f00778a82c9 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/literals/values.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/literals/values.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc
index 9c207ef0948..1f00688a915 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc
index aa7674fef37..fee59280959 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc
index 47bacd2dbf1..e222188b45a 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc
index 1548a81beb3..148c8d3150a 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/1.cc
index b4ef8c034f4..9bd3889584d 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc
index f1de99145a9..0c15eb2b7e6 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/char/13650.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc
index f609e9636ff..91eea8412f9 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/wchar_t/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc
index 58a3e9a6dcc..e4eef0fbb63 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/compare/wchar_t/13650.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/char/1.cc
index c672b7fa609..7dc6ed59768 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/char/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc
index fbe6c466163..ce909d2342f 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/wchar_t/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/data/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/data/char/1.cc
index 18fc9f5fe88..8a0dfd990bb 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/data/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/data/char/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2014 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc
index 6596db52899..f4c9a51cd50 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2014 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/1.cc
index 73f752eabd6..c3cb4466d2d 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/2.cc
index 8565b5ff450..4313ac6f761 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/2.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/3.cc
index 5f171e9dc20..3dad3623260 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/3.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/4.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/4.cc
index f4391e675d7..c95ded1254d 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/4.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/char/4.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc
index 6a2f3759beb..591d680f13b 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc
index ee0ed0941e0..947713dc306 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc
index 6b8d2b82d23..a9a07c3cc61 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc
index ac504ce4c09..0da4f05c434 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/find/wchar_t/4.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc
index 1e0b948912b..39e8b977a7b 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/char/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc
index fdca3fc0209..4e6affb803b 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/char/2.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc
index 809f015c3d5..f462a7b7e4d 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/char/3.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc
index ab3f80f4cd9..2246332e3d5 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc
index 8fb37930180..12fff465c10 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/2.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc
index 4e32edfe1c8..4f9e225bcc7 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/rfind/wchar_t/3.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc
index 806f5d4de67..8d853232ae9 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/string_conversion/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2014-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/substr/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/substr/char/1.cc
index 1c22d62063b..f67c119f0d8 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/substr/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/substr/char/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc
index 8a31bd5e035..a13b26dfb39 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/range_access/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/range_access/char/1.cc
index 3313cc6005e..e14faa22c61 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/range_access/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/range_access/char/1.cc
@@ -1,5 +1,5 @@ 
-// { dg-do compile }
 // { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc
index b899bd582bb..db53491a079 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc
@@ -1,5 +1,5 @@ 
-// { dg-do compile }
 // { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc
index 0cf21ad443b..b09d4ec663d 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc
@@ -20,7 +20,7 @@ 
 
 #include <string_view>
 
-// { dg-do compile }
 // { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
 
 template class std::basic_string_view<int, std::char_traits<int>>;
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc
index 0cf62561a07..a3eb2f34342 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc
@@ -1,5 +1,5 @@ 
-// { dg-do compile }
 // { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc
index 47fdd41aa9c..3d32915505b 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc
@@ -1,5 +1,5 @@ 
-// { dg-do compile }
 // { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc
index 7abd74b3500..5bb50e614ed 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc
@@ -1,5 +1,5 @@ 
-// { dg-do compile }
 // { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t/1.cc
index 4f31f19031d..a951f75e1b0 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t/1.cc
@@ -1,5 +1,5 @@ 
-// { dg-do compile }
 // { dg-options "-std=gnu++17 -fchar8_t" }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc
index 41a2add47c9..bfbb64e2a86 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc
@@ -1,5 +1,5 @@ 
-// { dg-do compile }
 // { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/typedefs.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/typedefs.cc
index 71299a919d9..f3236d1d0aa 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/requirements/typedefs.cc
@@ -1,6 +1,6 @@ 
 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2013-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/typedefs.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/typedefs.cc
index a0bbca1c89b..c1ece8381e7 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/typedefs.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/typedefs.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2014-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/types/1.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/types/1.cc
index b95036d133c..818c3bbe044 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/types/1.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/types/1.cc
@@ -18,7 +18,7 @@ 
 //
 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 #include <string_view>
 
diff --git a/libstdc++-v3/testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc b/libstdc++-v3/testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc
index 6831e3e3478..8ec631b287f 100644
--- a/libstdc++-v3/testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/extract.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/extract.cc
index 507ba6177f8..9f85811e2fa 100644
--- a/libstdc++-v3/testsuite/23_containers/map/modifiers/extract.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/extract.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <map>
 #include <algorithm>
diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/insert_or_assign/1.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/insert_or_assign/1.cc
index 118166c02fa..b32fb30afa2 100644
--- a/libstdc++-v3/testsuite/23_containers/map/modifiers/insert_or_assign/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/insert_or_assign/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2015-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/merge.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/merge.cc
index 950b65e1701..a2c816be5d8 100644
--- a/libstdc++-v3/testsuite/23_containers/map/modifiers/merge.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/merge.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <map>
 #include <algorithm>
diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/try_emplace/1.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/try_emplace/1.cc
index 4fb2adc9d36..3c3b111256e 100644
--- a/libstdc++-v3/testsuite/23_containers/map/modifiers/try_emplace/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/try_emplace/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2015-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/extract.cc b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/extract.cc
index ead4f71d678..3e7b6083a85 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/extract.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/extract.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <map>
 #include <algorithm>
diff --git a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/merge.cc b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/merge.cc
index a0dacf8c4a9..0c51e4b8242 100644
--- a/libstdc++-v3/testsuite/23_containers/multimap/modifiers/merge.cc
+++ b/libstdc++-v3/testsuite/23_containers/multimap/modifiers/merge.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <map>
 #include <algorithm>
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/extract.cc b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/extract.cc
index e0d67a5277d..6b819d9cb3e 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/extract.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/extract.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <set>
 #include <algorithm>
diff --git a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/merge.cc b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/merge.cc
index 0811bcc47c8..52543541c80 100644
--- a/libstdc++-v3/testsuite/23_containers/multiset/modifiers/merge.cc
+++ b/libstdc++-v3/testsuite/23_containers/multiset/modifiers/merge.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <set>
 #include <algorithm>
diff --git a/libstdc++-v3/testsuite/23_containers/set/modifiers/extract.cc b/libstdc++-v3/testsuite/23_containers/set/modifiers/extract.cc
index 467e63f9cfb..12c1b6aad8c 100644
--- a/libstdc++-v3/testsuite/23_containers/set/modifiers/extract.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/modifiers/extract.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <set>
 #include <algorithm>
diff --git a/libstdc++-v3/testsuite/23_containers/set/modifiers/merge.cc b/libstdc++-v3/testsuite/23_containers/set/modifiers/merge.cc
index 7e95de8bfe4..2f7cdc2b75b 100644
--- a/libstdc++-v3/testsuite/23_containers/set/modifiers/merge.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/modifiers/merge.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <set>
 #include <algorithm>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/extract.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/extract.cc
index d266b438664..38928826689 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/extract.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/extract.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <unordered_map>
 #include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc
index ae87a86375c..f7a6a1a94d0 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2015-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/merge.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/merge.cc
index e94acf70ed8..5bc0997c55b 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/merge.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/merge.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <unordered_map>
 #include <algorithm>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/try_emplace.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/try_emplace.cc
index c10c4b5a65c..684917ad8df 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/try_emplace.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/modifiers/try_emplace.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2015-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/extract.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/extract.cc
index 4f3d7838aa7..bf41e860599 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/extract.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/extract.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <unordered_map>
 #include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/merge.cc b/libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/merge.cc
index 404ad388a05..0efa2845c05 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/merge.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multimap/modifiers/merge.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <unordered_map>
 #include <algorithm>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/extract.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/extract.cc
index 65ec0f58c57..c593a74e11f 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/extract.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/extract.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <unordered_set>
 #include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/merge.cc b/libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/merge.cc
index deb5ef247c4..e22e6436554 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/merge.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_multiset/modifiers/merge.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <unordered_set>
 #include <algorithm>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/extract.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/extract.cc
index dbd02333fde..df17f1d37c3 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/extract.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/extract.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <unordered_set>
 #include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/merge.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/merge.cc
index 3a711099742..ddf13ccab5c 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/merge.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/modifiers/merge.cc
@@ -16,6 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 #include <unordered_set>
 #include <algorithm>
diff --git a/libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access_c++17.cc b/libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access_c++17.cc
index 9ac87817bee..4504d84af65 100644
--- a/libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access_c++17.cc
+++ b/libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access_c++17.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/24_iterators/headers/iterator/synopsis_c++17.cc b/libstdc++-v3/testsuite/24_iterators/headers/iterator/synopsis_c++17.cc
index 590f3050efc..e870fcf1266 100644
--- a/libstdc++-v3/testsuite/24_iterators/headers/iterator/synopsis_c++17.cc
+++ b/libstdc++-v3/testsuite/24_iterators/headers/iterator/synopsis_c++17.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 // { dg-require-normal-namespace "" }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
diff --git a/libstdc++-v3/testsuite/25_algorithms/clamp/1.cc b/libstdc++-v3/testsuite/25_algorithms/clamp/1.cc
index 8ab498bb036..1959152e872 100644
--- a/libstdc++-v3/testsuite/25_algorithms/clamp/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/clamp/1.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/25_algorithms/clamp/2.cc b/libstdc++-v3/testsuite/25_algorithms/clamp/2.cc
index 2d8011d5626..a7fa3e8e1e7 100644
--- a/libstdc++-v3/testsuite/25_algorithms/clamp/2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/clamp/2.cc
@@ -1,4 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
+// { dg-do run { target c++17 } }
 
 // Copyright (C) 2000-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/25_algorithms/clamp/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/clamp/constexpr.cc
index 2eea24ef604..84893b44f4b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/clamp/constexpr.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/clamp/constexpr.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc
index 0d23859e0d9..ded1bb116f8 100644
--- a/libstdc++-v3/testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/25_algorithms/clamp/requirements/explicit_instantiation/pod.cc b/libstdc++-v3/testsuite/25_algorithms/clamp/requirements/explicit_instantiation/pod.cc
index 96097ad7044..fc23abd6136 100644
--- a/libstdc++-v3/testsuite/25_algorithms/clamp/requirements/explicit_instantiation/pod.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/clamp/requirements/explicit_instantiation/pod.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 // Copyright (C) 2016-2020 Free Software Foundation, Inc.
 //
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/functions_std_c++17.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/functions_std_c++17.cc
index 1379813dc08..f2dfeb623a9 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/functions_std_c++17.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/functions_std_c++17.cc
@@ -16,7 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 #include <cmath>
 
diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cmath/special_functions_global.cc b/libstdc++-v3/testsuite/26_numerics/headers/cmath/special_functions_global.cc
index 0ba3248ca33..a3a96c60c83 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/special_functions_global.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/special_functions_global.cc
@@ -16,7 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 #undef __STDCPP_WANT_MATH_SPEC_FUNCS__
 #define __STDCPP_WANT_MATH_SPEC_FUNCS__ 0
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/lwg2221.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/lwg2221.cc
index b4ff52b7d2c..d7c6ad05212 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/lwg2221.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/lwg2221.cc
@@ -1,5 +1,5 @@ 
 // { dg-options "-std=gnu++17 -fno-inline" }
-// { dg-do link }
+// { dg-do link { target c++17 } }
 
 #include <iostream>
 
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/is_always_lock_free.cc b/libstdc++-v3/testsuite/29_atomics/atomic/is_always_lock_free.cc
index ae0f82369c0..ca6a08cd971 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/is_always_lock_free.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/is_always_lock_free.cc
@@ -16,7 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 #include <atomic>
 
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic_integral/is_always_lock_free.cc b/libstdc++-v3/testsuite/29_atomics/atomic_integral/is_always_lock_free.cc
index 7b9b6a73059..b6dc63e262e 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic_integral/is_always_lock_free.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic_integral/is_always_lock_free.cc
@@ -16,7 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 #include <atomic>
 
diff --git a/libstdc++-v3/testsuite/30_threads/shared_lock/70766.cc b/libstdc++-v3/testsuite/30_threads/shared_lock/70766.cc
index 37e0740e477..65fa865fa42 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_lock/70766.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_lock/70766.cc
@@ -16,7 +16,7 @@ 
 // <http://www.gnu.org/licenses/>.
 
 // { dg-options "-std=gnu++17" }
-// { dg-do compile }
+// { dg-do compile { target c++17 } }
 
 #include <shared_mutex>
 
diff --git a/libstdc++-v3/testsuite/30_threads/shared_mutex/cons/1.cc b/libstdc++-v3/testsuite/30_threads/shared_mutex/cons/1.cc
index a394bf121ca..ea177c08084 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_mutex/cons/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_mutex/cons/1.cc
@@ -1,5 +1,5 @@ 
-// { dg-do run }
 // { dg-options "-std=gnu++17 -pthread" }
+// { dg-do run { target c++17 } }
 // { dg-require-effective-target pthread }
 // { dg-require-gthreads "" }
 
diff --git a/libstdc++-v3/testsuite/30_threads/shared_mutex/cons/assign_neg.cc b/libstdc++-v3/testsuite/30_threads/shared_mutex/cons/assign_neg.cc
index 452e68494c3..64df497c85e 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_mutex/cons/assign_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_mutex/cons/assign_neg.cc
@@ -1,5 +1,5 @@ 
-// { dg-do compile }
 // { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
 // { dg-require-gthreads "" }
 
 // Copyright (C) 2015-2020 Free Software Foundation, Inc.
diff --git a/libstdc++-v3/testsuite/30_threads/shared_mutex/cons/copy_neg.cc b/libstdc++-v3/testsuite/30_threads/shared_mutex/cons/copy_neg.cc
index 97420b1ac17..aca2169b5b3 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_mutex/cons/copy_neg.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_mutex/cons/copy_neg.cc
@@ -1,5 +1,5 @@ 
-// { dg-do compile }
 // { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
 // { dg-require-gthreads "" }
 
 // Copyright (C) 2015-2020 Free Software Foundation, Inc.
diff --git a/libstdc++-v3/testsuite/30_threads/shared_mutex/requirements/standard_layout.cc b/libstdc++-v3/testsuite/30_threads/shared_mutex/requirements/standard_layout.cc
index 72f256fe6ae..1907a93334e 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_mutex/requirements/standard_layout.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_mutex/requirements/standard_layout.cc
@@ -1,5 +1,5 @@ 
-// { dg-do compile }
 // { dg-options "-std=gnu++17" }
+// { dg-do compile { target c++17 } }
 // { dg-require-gthreads "" }
 
 // Copyright (C) 2015-2020 Free Software Foundation, Inc.
diff --git a/libstdc++-v3/testsuite/30_threads/shared_mutex/try_lock/1.cc b/libstdc++-v3/testsuite/30_threads/shared_mutex/try_lock/1.cc
index 2c43cbfbc74..c1a3cd6cae6 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_mutex/try_lock/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_mutex/try_lock/1.cc
@@ -1,5 +1,5 @@ 
-// { dg-do run }
 // { dg-options "-std=gnu++17 -pthread" }
+// { dg-do run { target c++17 } }
 // { dg-require-effective-target pthread }
 // { dg-require-gthreads "" }
 
diff --git a/libstdc++-v3/testsuite/30_threads/shared_mutex/try_lock/2.cc b/libstdc++-v3/testsuite/30_threads/shared_mutex/try_lock/2.cc
index 5a5f39de6d4..d5d5e10084f 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_mutex/try_lock/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_mutex/try_lock/2.cc
@@ -1,5 +1,5 @@ 
-// { dg-do run }
 // { dg-options "-std=gnu++17 -pthread" }
+// { dg-do run { target c++17 } }
 // { dg-require-effective-target pthread }
 // { dg-require-gthreads "" }
 
diff --git a/libstdc++-v3/testsuite/30_threads/shared_mutex/unlock/1.cc b/libstdc++-v3/testsuite/30_threads/shared_mutex/unlock/1.cc
index 3c81dabec1c..146d8c20c60 100644
--- a/libstdc++-v3/testsuite/30_threads/shared_mutex/unlock/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/shared_mutex/unlock/1.cc
@@ -1,5 +1,5 @@ 
-// { dg-do run }
 // { dg-options "-std=gnu++17 -pthread" }
+// { dg-do run { target c++17 } }
 // { dg-require-effective-target pthread }
 // { dg-require-gthreads "" }