aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Oliva <oliva@adacore.com>2024-09-12 19:03:59 -0300
committerAlexandre Oliva <oliva@gnu.org>2024-09-12 19:03:59 -0300
commit4308c343b8eae789ef5aa4ac2e33a1d4e6aca32a (patch)
tree19bf2ed1b19f35c868c8b3770ac57aeae946d358
parentf5f55b6e732d119a5c4a1d8e48d1364eb94d9d1d (diff)
downloadgcc-4308c343b8eae789ef5aa4ac2e33a1d4e6aca32a.zip
gcc-4308c343b8eae789ef5aa4ac2e33a1d4e6aca32a.tar.gz
gcc-4308c343b8eae789ef5aa4ac2e33a1d4e6aca32a.tar.bz2
testsuite: introduce hostedlib effective target
Several C++ tests fail with --disable-hosted-libstdcxx, whether because stdc++exp gets linked in despite not being built, because standard headers are included but that are unavailable in this mode, or because headers are (mistakenly?) expected to introduce declarations such as for abort, malloc, etc, but in this mode they don't. This patch introduces an effective target for GCC test, equivalent to one that's available in the libstdc++-v3 testsuite, and arranges for all such tests to be skipped when libstdc++-v3 is not hosted. Co-Authored-By: Olivier Hainque <hainque@adacore.com> for gcc/ChangeLog * doc/sourcebuild.texi (hostedlib): New effective target. for gcc/testsuite/ChangeLog * lib/target-supports.exp (check_effective_target_hostedlib): New. * g++.dg/contracts/contracts-access1.C: Skip if !hostedlib because of libstdc++exp. * g++.dg/contracts/contracts-assume3.C: Likewise. * g++.dg/contracts/contracts-assume4.C: Likewise. * g++.dg/contracts/contracts-config1.C: Likewise. * g++.dg/contracts/contracts-constexpr1.C: Likewise. * g++.dg/contracts/contracts-deduced2.C: Likewise. * g++.dg/contracts/contracts-externC.C: Likewise. * g++.dg/contracts/contracts-friend1.C: Likewise. * g++.dg/contracts/contracts-multiline1.C: Likewise. * g++.dg/contracts/contracts-nested-class2.C: Likewise. * g++.dg/contracts/contracts-post2.C: Likewise. * g++.dg/contracts/contracts-post3.C: Likewise. * g++.dg/contracts/contracts-pre2a2.C: Likewise. * g++.dg/contracts/contracts10.C: Likewise. * g++.dg/contracts/contracts18.C: Likewise. * g++.dg/contracts/contracts19.C: Likewise. * g++.dg/contracts/contracts2.C: Likewise. * g++.dg/contracts/contracts24.C: Likewise. * g++.dg/contracts/contracts25.C: Likewise. * g++.dg/contracts/contracts3.C: Likewise. * g++.dg/contracts/contracts4.C: Likewise. * g++.dg/contracts/contracts5.C: Likewise. * g++.dg/contracts/contracts6.C: Likewise. * g++.dg/contracts/contracts7.C: Likewise. * g++.dg/contracts/contracts9.C: Likewise. * g++.dg/contracts/pr110159.C: Likewise. * g++.dg/contracts/pr115434.C: Likewise. Adjust line numbers. * c-c++-common/pr36513-2.c: Skip if !hostedlib because of unavailable headers. * c-c++-common/analyzer/pr93290.c: Likewise. * g++.dg/analyzer/pr93212.C: Likewise. * g++.dg/analyzer/vfunc-2.C: Likewise. * g++.dg/cdce3.C: Likewise. Adjust line numbers. * g++.dg/concepts/expression.C: Likewise. * g++.dg/concepts/fn3.C: Likewise. * g++.dg/concepts/fn9.C: Likewise. * g++.dg/concepts/generic-fn.C: Likewise. * g++.dg/contracts/contracts-assume2.C: Likewise. * g++.dg/contracts/contracts-ignore2.C: Likewise. * g++.dg/contracts/contracts-post7.C: Likewise. * g++.dg/contracts/contracts-pre10.C: Likewise. * g++.dg/contracts/contracts-pre2.C: Likewise. * g++.dg/contracts/contracts-pre3.C: Likewise. * g++.dg/contracts/contracts-pre4.C: Likewise. * g++.dg/contracts/contracts-pre5.C: Likewise. * g++.dg/contracts/contracts-pre7.C: Likewise. * g++.dg/contracts/contracts-pre9.C: Likewise. * g++.dg/contracts/contracts-redecl3.C: Likewise. * g++.dg/contracts/contracts-redecl4.C: Likewise. * g++.dg/contracts/contracts-redecl6.C: Likewise. * g++.dg/contracts/contracts-redecl7.C: Likewise. * g++.dg/contracts/contracts-tmpl-spec1.C: Likewise. * g++.dg/contracts/contracts-tmpl-spec2.C: Likewise. * g++.dg/contracts/contracts-tmpl-spec3.C: Likewise. * g++.dg/contracts/contracts14.C: Likewise. * g++.dg/contracts/contracts15.C: Likewise. * g++.dg/contracts/contracts16.C: Likewise. * g++.dg/contracts/contracts17.C: Likewise. * g++.dg/contracts/contracts22.C: Likewise. * g++.dg/contracts/contracts35.C: Likewise. * g++.dg/coroutines/pr100611.C: Likewise. * g++.dg/coroutines/pr100772-b.C: Likewise. * g++.dg/coroutines/pr101133.C: Likewise. * g++.dg/coroutines/pr101367.C: Likewise. * g++.dg/coroutines/pr101976.C: Likewise. * g++.dg/coroutines/pr102454.C: Likewise. * g++.dg/coroutines/pr104051.C: Likewise. * g++.dg/coroutines/pr110635.C: Likewise. * g++.dg/coroutines/pr110871.C: Likewise. Adjust line numbers. * g++.dg/coroutines/pr110872.C: Likewise. Likewise. * g++.dg/coroutines/pr94288.C: Likewise. * g++.dg/coroutines/pr95520.C: Likewise. * g++.dg/coroutines/pr95736.C: Likewise. * g++.dg/coroutines/pr97587.C: Likewise. * g++.dg/coroutines/pr99576_1.C: Likewise. * g++.dg/coroutines/pr99576_2.C: Likewise. * g++.dg/coroutines/ramp-return-a.C: Likewise. * g++.dg/coroutines/ramp-return-b.C: Likewise. * g++.dg/coroutines/ramp-return-c.C: Likewise. * g++.dg/coroutines/symmetric-transfer-00-basic.C: Likewise. * g++.dg/coroutines/torture/co-await-16-template-traits.C: Likewise. * g++.dg/coroutines/torture/co-ret-15-default-return_void.C: Likewise. * g++.dg/coroutines/torture/co-yield-04-complex-local-state.C: Likewise. * g++.dg/coroutines/torture/extern-c-coroutine.C: Likewise. * g++.dg/coroutines/torture/func-params-08.C: Likewise. * g++.dg/coroutines/torture/func-params-09-awaitable-parms.C: Likewise. * g++.dg/coroutines/torture/local-var-05-awaitable.C: Likewise. * g++.dg/coroutines/torture/pr95615-01.C: Likewise. * g++.dg/coroutines/torture/pr95615-02.C: Likewise. * g++.dg/coroutines/torture/pr95615-03.C: Likewise. * g++.dg/coroutines/torture/pr95615-04.C: Likewise. * g++.dg/coroutines/torture/pr95615-05.C: Likewise. * g++.dg/coroutines/torture/pr98704.C: Likewise. * g++.dg/cpp/pr80005.C: Likewise. * g++.dg/cpp0x/Wliteral-suffix.C: Likewise. * g++.dg/cpp0x/Wpessimizing-move2.C: Likewise. * g++.dg/cpp0x/constexpr-70001-3.C: Likewise. * g++.dg/cpp0x/constexpr-ice16.C: Likewise. * g++.dg/cpp0x/dc5.C: Likewise. * g++.dg/cpp0x/enum35.C: Likewise. * g++.dg/cpp0x/enum36.C: Likewise. * g++.dg/cpp0x/initlist-opt1.C: Likewise. * g++.dg/cpp0x/initlist-vect2.C: Likewise. * g++.dg/cpp0x/initlist13.C: Likewise. * g++.dg/cpp0x/initlist15.C: Likewise. * g++.dg/cpp0x/initlist25.C: Likewise. * g++.dg/cpp0x/initlist54.C: Likewise. * g++.dg/cpp0x/initlist92.C: Likewise. * g++.dg/cpp0x/lambda/lambda-capture-const-ref-neg.C: Likewise. * g++.dg/cpp0x/lambda/lambda-capture-const-ref.C: Likewise. * g++.dg/cpp0x/lambda/lambda-const-neg.C: Likewise. * g++.dg/cpp0x/lambda/lambda-const.C: Likewise. * g++.dg/cpp0x/lambda/lambda-deduce.C: Likewise. * g++.dg/cpp0x/lambda/lambda-in-class-neg.C: Likewise. * g++.dg/cpp0x/lambda/lambda-in-class.C: Likewise. * g++.dg/cpp0x/lambda/lambda-mixed.C: Likewise. * g++.dg/cpp0x/lambda/lambda-mutable.C: Likewise. * g++.dg/cpp0x/lambda/lambda-nested.C: Likewise. * g++.dg/cpp0x/lambda/lambda-non-const.C: Likewise. * g++.dg/cpp0x/lambda/lambda-nop.C: Likewise. * g++.dg/cpp0x/lambda/lambda-nullptr.C: Likewise. * g++.dg/cpp0x/lambda/lambda-pass.C: Likewise. * g++.dg/cpp0x/lambda/lambda-recursive.C: Likewise. * g++.dg/cpp0x/lambda/lambda-ref-default.C: Likewise. * g++.dg/cpp0x/lambda/lambda-ref.C: Likewise. * g++.dg/cpp0x/nullptr20.C: Likewise. * g++.dg/cpp0x/pr61038.C: Likewise. * g++.dg/cpp0x/rv-trivial-bug.C: Likewise. * g++.dg/cpp0x/udlit-concat-neg.C: Likewise. * g++.dg/cpp0x/udlit-concat.C: Likewise. * g++.dg/cpp0x/udlit-embed-quote.C: Likewise. * g++.dg/cpp0x/udlit-extended-id-1.C: Likewise. * g++.dg/cpp0x/udlit-general.C: Likewise. * g++.dg/cpp0x/udlit-namespace.C: Likewise. * g++.dg/cpp0x/udlit-raw-op.C: Likewise. * g++.dg/cpp0x/udlit-raw-str.C: Likewise. * g++.dg/cpp0x/udlit-resolve-char8_t.C: Likewise. * g++.dg/cpp0x/udlit-resolve.C: Likewise. * g++.dg/cpp0x/udlit-sfinae.C: Likewise. * g++.dg/cpp0x/udlit-string-literal.C: Likewise. * g++.dg/cpp0x/udlit-suffix-neg.C: Likewise. * g++.dg/cpp1y/udlit-userdef-string.C: Likewise. * g++.dg/cpp0x/udlit-template.C: Likewise. * g++.dg/cpp0x/variadic-bind.C: Likewise. * g++.dg/cpp0x/variadic-function.C: Likewise. * g++.dg/cpp0x/variadic-mem_fn.C: Likewise. * g++.dg/cpp0x/variadic-tuple.C: Likewise. * g++.dg/cpp1y/auto-fn45.C: Likewise. * g++.dg/cpp1y/complex_literals1.C: Likewise. * g++.dg/cpp1y/complex_literals1a.C: Likewise. * g++.dg/cpp1y/constexpr-66093.C: Likewise. * g++.dg/cpp1y/constexpr-assert1.C: Likewise. * g++.dg/cpp1y/constexpr-assert2.C: Likewise. * g++.dg/cpp1y/feat-cxx14.C: Likewise. * g++.dg/cpp1y/lambda-generic-69078-2.C: Likewise. * g++.dg/cpp1y/lambda-generic-x.C: Likewise. * g++.dg/cpp1y/lambda-init8.C: Likewise. * g++.dg/cpp1y/new2.C: Likewise. * g++.dg/cpp1y/nsdmi-aggr12.C: Likewise. * g++.dg/cpp1y/pr57640.C: Likewise. * g++.dg/cpp1y/pr77786.C: Likewise. * g++.dg/cpp1y/pr95226.C: Likewise. * g++.dg/cpp1y/udlit-char-template-sfinae.C: Likewise. * g++.dg/cpp1y/udlit-char-template-vs-std-literal-operator.C: Likewise. * g++.dg/cpp1z/class-deduction14.C: Likewise. * g++.dg/cpp1z/constexpr-asm-1.C: Likewise. * g++.dg/cpp1z/constexpr-asm-3.C: Likewise. * g++.dg/cpp1z/decomp37.C: Likewise. * g++.dg/cpp1z/eval-order2.C: Likewise. * g++.dg/cpp1z/feat-cxx1z.C: Likewise. * g++.dg/cpp1z/fold1.C: Likewise. * g++.dg/cpp1z/init-statement6.C: Likewise. * g++.dg/cpp1z/launder3.C: Likewise. * g++.dg/cpp1z/launder4.C: Likewise. * g++.dg/cpp1z/launder5.C: Likewise. * g++.dg/cpp1z/launder6.C: Likewise. * g++.dg/cpp1z/utf8.C: Likewise. * g++.dg/cpp23/ext-floating12.C: Likewise. * g++.dg/cpp23/feat-cxx2b.C: Likewise. * g++.dg/cpp26/constexpr-voidptr1.C: Likewise. * g++.dg/cpp26/feat-cxx26.C: Likewise. * g++.dg/cpp2a/concepts-cmath.C: Likewise. * g++.dg/cpp2a/concepts-explicit-spec1.C: Likewise. * g++.dg/cpp2a/concepts-explicit-spec4.C: Likewise. * g++.dg/cpp2a/concepts-explicit-spec5.C: Likewise. * g++.dg/cpp2a/concepts-memfun.C: Likewise. * g++.dg/cpp2a/concepts-pr67774.C: Likewise. * g++.dg/cpp2a/cond-triv2.C: Likewise. * g++.dg/cpp2a/feat-cxx2a.C: Likewise. * g++.dg/cpp2a/nontype-float1.C: Likewise. * g++.dg/diagnostic/disable.C: Likewise. * g++.dg/diagnostic/missing-header-pr110164.C: Likewise. * g++.dg/diagnostic/pr65923.C: Likewise. * g++.dg/eh/arm-vfp-unwind.C: Likewise. * g++.dg/eh/crossjump1.C: Likewise. * g++.dg/eh/omit-frame-pointer.C: Likewise. * g++.dg/eh/simd-3.C: Likewise. * g++.dg/ext/bases.C: Likewise. * g++.dg/ext/builtin-line1.C: Likewise. * g++.dg/ext/builtin10.C: Likewise. * g++.dg/ext/complex4.C: Likewise. * g++.dg/ext/has_nothrow_assign.C: Likewise. * g++.dg/ext/has_nothrow_assign_odr.C: Likewise. * g++.dg/ext/has_nothrow_constructor.C: Likewise. * g++.dg/ext/has_nothrow_constructor_odr.C: Likewise. * g++.dg/ext/has_nothrow_copy-1.C: Likewise. * g++.dg/ext/has_nothrow_copy-2.C: Likewise. * g++.dg/ext/has_nothrow_copy-3.C: Likewise. * g++.dg/ext/has_nothrow_copy-4.C: Likewise. * g++.dg/ext/has_nothrow_copy-5.C: Likewise. * g++.dg/ext/has_nothrow_copy-6.C: Likewise. * g++.dg/ext/has_nothrow_copy-7.C: Likewise. * g++.dg/ext/has_nothrow_copy_odr.C: Likewise. * g++.dg/ext/has_trivial_assign.C: Likewise. * g++.dg/ext/has_trivial_constructor.C: Likewise. * g++.dg/ext/has_trivial_copy.C: Likewise. * g++.dg/ext/has_trivial_destructor-1.C: Likewise. * g++.dg/ext/has_virtual_destructor.C: Likewise. * g++.dg/ext/is_abstract.C: Likewise. * g++.dg/ext/is_aggregate.C: Likewise. * g++.dg/ext/is_base_of.C: Likewise. * g++.dg/ext/is_class.C: Likewise. * g++.dg/ext/is_convertible2.C: Likewise. * g++.dg/ext/is_empty.C: Likewise. * g++.dg/ext/is_enum.C: Likewise. * g++.dg/ext/is_pod.C: Likewise. * g++.dg/ext/is_polymorphic.C: Likewise. * g++.dg/ext/is_union.C: Likewise. * g++.dg/ext/underlying_type10.C: Likewise. * g++.dg/ext/underlying_type4.C: Likewise. * g++.dg/gcov/gcov-14.C: Likewise. * g++.dg/gcov/gcov-18.C: Likewise. * g++.dg/gcov/pr88045.C: Likewise. * g++.dg/gcov/pr88263-2.C: Likewise. * g++.dg/gcov/pr88263.C: Likewise. * g++.dg/gomp/has_device_addr-non-lvalue-1.C: Likewise. * g++.dg/gomp/ind-base-3.C: Likewise. * g++.dg/gomp/map-assignment-1.C: Likewise. * g++.dg/gomp/map-lvalue-ref-1.C: Likewise. * g++.dg/gomp/map-ptrmem-1.C: Likewise. * g++.dg/gomp/map-ptrmem-2.C: Likewise. * g++.dg/gomp/map-static-cast-lvalue-1.C: Likewise. * g++.dg/gomp/map-ternary-1.C: Likewise. * g++.dg/gomp/member-array-2.C: Likewise. * g++.dg/gomp/pr71910.C: Likewise. * g++.dg/gomp/pr91118-1.C: Likewise. * g++.dg/gomp/sink-2.C: Likewise. * g++.dg/gomp/target-this-3.C: Likewise. * g++.dg/gomp/target-this-4.C: Likewise. * g++.dg/gomp/tile-1.C: Likewise. * g++.dg/gomp/tile-2.C: Likewise. * g++.dg/gomp/unroll-1.C: Likewise. * g++.dg/gomp/unroll-2.C: Likewise. * g++.dg/gomp/unroll-3.C: Likewise. * g++.dg/graphite/id-1.C: Likewise. * g++.dg/graphite/pr42130.C: Likewise. * g++.dg/inherit/virtual8.C: Likewise. * g++.dg/init/array4.C: Likewise. * g++.dg/init/new18.C: Likewise. * g++.dg/init/new39.C: Likewise. * g++.dg/init/new40.C: Likewise. * g++.dg/ipa/devirt-29.C: Likewise. * g++.dg/ipa/pr85549.C: Likewise. * g++.dg/lookup/missing-std-include-3.C: Likewise. * g++.dg/lookup/pr21802.C: Likewise. * g++.dg/lto/20091022-2_0.C: Likewise. * g++.dg/lto/20091219_0.C: Likewise. * g++.dg/lto/pr80287_0.C: Likewise. * g++.dg/lto/pr89358_0.C: Likewise. * g++.dg/lto/pr89358_1.C: Likewise. * g++.dg/modules/binding-1_a.H: Likewise. * g++.dg/modules/binding-1_b.H: Likewise. * g++.dg/modules/contracts-1_a.C: Likewise. * g++.dg/modules/contracts-1_b.C: Likewise. * g++.dg/modules/contracts-2_a.C: Likewise. * g++.dg/modules/contracts-2_b.C: Likewise. * g++.dg/modules/contracts-3_a.C: Likewise. * g++.dg/modules/contracts-3_b.C: Likewise. * g++.dg/modules/contracts-4_a.C: Likewise. * g++.dg/modules/contracts-4_d.C: Likewise. * g++.dg/modules/global-3_a.C: Likewise. * g++.dg/modules/hello-1_a.C: Likewise. * g++.dg/modules/hello-2_a.C: Likewise. * g++.dg/modules/hello-2_b.C: Likewise. * g++.dg/modules/iostream-1_a.H: Likewise. * g++.dg/modules/p1689-2.C: Likewise. * g++.dg/modules/part-5_c.C: Likewise. * g++.dg/modules/pr99023_a.X: Likewise. * g++.dg/modules/pr99166_a.X: Likewise. * g++.dg/modules/pr99166_b.C: Likewise. * g++.dg/modules/pr99425-2_a.X: Likewise. * g++.dg/modules/pr99425-2_b.X: Likewise. * g++.dg/modules/string-1_a.H: Likewise. * g++.dg/modules/string-1_b.C: Likewise. * g++.dg/modules/string-view1.C: Likewise. * g++.dg/modules/xtreme-header-1_a.H: Likewise. * g++.dg/modules/xtreme-header-1_b.C: Likewise. * g++.dg/modules/xtreme-header-2_a.H: Likewise. * g++.dg/modules/xtreme-header-2_b.C: Likewise. * g++.dg/modules/xtreme-header-3_a.H: Likewise. * g++.dg/modules/xtreme-header-3_b.C: Likewise. * g++.dg/modules/xtreme-header-4_a.H: Likewise. * g++.dg/modules/xtreme-header-4_b.C: Likewise. * g++.dg/modules/xtreme-header-5_a.H: Likewise. * g++.dg/modules/xtreme-header-5_b.C: Likewise. * g++.dg/modules/xtreme-header-6_a.H: Likewise. * g++.dg/modules/xtreme-header-6_b.C: Likewise. * g++.dg/modules/xtreme-header-7_a.H: Likewise. * g++.dg/modules/xtreme-header-7_b.C: Likewise. * g++.dg/modules/xtreme-header_a.H: Likewise. * g++.dg/modules/xtreme-header_b.C: Likewise. * g++.dg/modules/xtreme-tr1_a.H: Likewise. * g++.dg/modules/xtreme-tr1_b.C: Likewise. * g++.dg/opt/builtins2.C: Likewise. * g++.dg/opt/dtor4-aux.cc: Likewise. * g++.dg/opt/dtor4.C: Likewise. * g++.dg/opt/nrv17.C: Likewise. * g++.dg/opt/pr102970.C: Likewise. * g++.dg/opt/pr109434.C: Likewise. * g++.dg/opt/pr110879.C: Likewise. * g++.dg/opt/pr15551.C: Likewise. * g++.dg/opt/pr30965.C: Likewise. * g++.dg/opt/pr65074.C: Likewise. * g++.dg/opt/pr66119.C: Likewise. * g++.dg/opt/pr77844.C: Likewise. * g++.dg/opt/pr85393.C: Likewise. * g++.dg/opt/pr94223.C: Likewise. * g++.dg/other/final7.C: Likewise. * g++.dg/other/pr40561.C: Likewise. * g++.dg/parse/lookup1.C: Likewise. * g++.dg/parse/parse5.C: Likewise. * g++.dg/pch/system-1.C: Likewise. * g++.dg/pch/system-1.Hs: Likewise. * g++.dg/pch/system-2.C: Likewise. * g++.dg/pch/system-2.Hs: Likewise. * g++.dg/pr100253.C: Likewise. * g++.dg/pr104547.C: Likewise. * g++.dg/pr107087.C: Likewise. * g++.dg/pr71488.C: Likewise. * g++.dg/pr71655.C: Likewise. * g++.dg/pr79095-3.C: Likewise. * g++.dg/pr83239.C: Likewise. * g++.dg/pr99966.C: Likewise. * g++.dg/rtti/typeid4.C: Likewise. * g++.dg/spellcheck-inttypes.C: Likewise. * g++.dg/template/friend10.C: Likewise. * g++.dg/template/pr69961a.C: Likewise. * g++.dg/template/show-template-tree-3.C: Likewise. * g++.dg/tm/inherit2.C: Likewise. * g++.dg/tm/pr46270.C: Likewise. * g++.dg/torture/alias-1.C: Likewise. * g++.dg/torture/builtin-location.C: Likewise. * g++.dg/torture/pr103669.C: Likewise. * g++.dg/torture/pr104601.C: Likewise. * g++.dg/torture/pr106922.C: Likewise. * g++.dg/torture/pr111019.C: Likewise. * g++.dg/torture/pr33572.C: Likewise. * g++.dg/torture/pr33735.C: Likewise. * g++.dg/torture/pr34099.C: Likewise. * g++.dg/torture/pr39417.C: Likewise. * g++.dg/torture/pr44972.C: Likewise. * g++.dg/torture/pr46364.C: Likewise. * g++.dg/torture/pr49628.C: Likewise. * g++.dg/torture/pr49938.C: Likewise. * g++.dg/torture/pr51903.C: Likewise. * g++.dg/torture/pr54498.C: Likewise. * g++.dg/torture/pr60750.C: Likewise. * g++.dg/torture/pr67600.C: Likewise. * g++.dg/torture/pr82084.C: Likewise. * g++.dg/torture/pr86763.C: Likewise. * g++.dg/torture/pr95493-1.C: Likewise. * g++.dg/tree-ssa/allocator-opt1.C: Likewise. * g++.dg/tree-ssa/copyprop.C: Likewise. * g++.dg/tree-ssa/empty-loop.C: Likewise. * g++.dg/tree-ssa/initlist-opt1.C: Likewise. * g++.dg/tree-ssa/initlist-opt2.C: Likewise. * g++.dg/tree-ssa/initlist-opt3.C: Likewise. * g++.dg/tree-ssa/initlist-opt5.C: Likewise. * g++.dg/tree-ssa/loop-cond-split-1.C: Likewise. * g++.dg/tree-ssa/loop-split-1.C: Likewise. * g++.dg/tree-ssa/pr101839.C: Likewise. * g++.dg/tree-ssa/pr104529.C: Likewise. * g++.dg/tree-ssa/pr109849.C: Likewise. * g++.dg/tree-ssa/pr14703.C: Likewise. * g++.dg/tree-ssa/pr19786.C: Likewise. * g++.dg/tree-ssa/pr46228.C: Likewise. * g++.dg/tree-ssa/pr63841.C: Likewise. * g++.dg/tree-ssa/pr69336.C: Likewise. * g++.dg/tree-ssa/pr78847.C: Likewise. * g++.dg/tree-ssa/pr95638.C: Likewise. * g++.dg/uninit-pr105937.C: Likewise. * g++.dg/vect/pr102421.cc: Likewise. * g++.dg/vect/pr105053.cc: Likewise. * g++.dg/vect/pr33426-ivdep-4.cc: Likewise. * g++.dg/vect/pr64410.cc: Likewise. * g++.dg/vect/slp-pr87105.cc: Likewise. * g++.dg/vect/vect-novector-pragma.cc: Likewise. * g++.dg/warn/Warray-bounds-27.C: Likewise. * g++.dg/warn/Wdangling-pointer-pr110055.C: Likewise. * g++.dg/warn/Wdangling-reference10.C: Likewise. * g++.dg/warn/Wdangling-reference14.C: Likewise. * g++.dg/warn/Wdangling-reference17.C: Likewise. * g++.dg/warn/Wdangling-reference4.C: Likewise. * g++.dg/warn/Wdangling-reference5.C: Likewise. * g++.dg/warn/Wfree-nonheap-object-3.C: Likewise. * g++.dg/warn/Winline-3.C: Likewise. * g++.dg/warn/Wmemset-elt-size1.C: Likewise. * g++.dg/warn/Wparentheses-34.C: Likewise. * g++.dg/warn/Wstrict-aliasing-bogus-escape-2.C: Likewise. * g++.dg/warn/Wstrict-aliasing-bogus-escape.C: Likewise. * g++.dg/warn/Wstringop-overflow-6.C: Likewise. * g++.dg/warn/Wstringop-overflow-8.C: Likewise. * g++.dg/warn/Wstringop-overread-1.C: Likewise. * g++.dg/warn/Wuninitialized-33.C: Likewise. * g++.dg/warn/Wuninitialized-pr111123-1.C: Likewise. * g++.dg/warn/format1.C: Likewise. * g++.dg/warn/huge-val1.C: Likewise. * g++.dg/warn/string1.C: Likewise. * g++.dg/warn/uninit-pr105562.C: Likewise. * g++.old-deja/g++.benjamin/15071.C: Likewise. * g++.old-deja/g++.brendan/copy9.C: Likewise. * g++.old-deja/g++.brendan/crash15.C: Likewise. * g++.old-deja/g++.brendan/crash20.C: Likewise. * g++.old-deja/g++.brendan/crash30.C: Likewise. * g++.old-deja/g++.brendan/crash38.C: Likewise. * g++.old-deja/g++.brendan/crash39.C: Likewise. * g++.old-deja/g++.brendan/crash49.C: Likewise. * g++.old-deja/g++.brendan/crash52.C: Likewise. * g++.old-deja/g++.brendan/crash62.C: Likewise. * g++.old-deja/g++.brendan/cvt1.C: Likewise. * g++.old-deja/g++.brendan/err-msg3.C: Likewise. * g++.old-deja/g++.brendan/nest21.C: Likewise. * g++.old-deja/g++.brendan/ptolemy2.C: Likewise. * g++.old-deja/g++.jason/2371.C: Likewise. * g++.old-deja/g++.jason/template24.C: Likewise. * g++.old-deja/g++.jason/template31.C: Likewise. * g++.old-deja/g++.jason/typeid1.C: Likewise. * g++.old-deja/g++.law/arg1.C: Likewise. * g++.old-deja/g++.law/arg8.C: Likewise. * g++.old-deja/g++.law/arm12.C: Likewise. * g++.old-deja/g++.law/arm9.C: Likewise. * g++.old-deja/g++.law/bad-error7.C: Likewise. * g++.old-deja/g++.law/code-gen5.C: Likewise. * g++.old-deja/g++.law/ctors10.C: Likewise. * g++.old-deja/g++.law/ctors12.C: Likewise. * g++.old-deja/g++.law/ctors13.C: Likewise. * g++.old-deja/g++.law/ctors17.C: Likewise. * g++.old-deja/g++.law/ctors6.C: Likewise. * g++.old-deja/g++.law/cvt16.C: Likewise. * g++.old-deja/g++.law/cvt2.C: Likewise. * g++.old-deja/g++.law/cvt7.C: Likewise. * g++.old-deja/g++.law/except5.C: Likewise. * g++.old-deja/g++.law/missed-error2.C: Likewise. * g++.old-deja/g++.law/nest3.C: Likewise. * g++.old-deja/g++.law/operators32.C: Likewise. * g++.old-deja/g++.law/operators4.C: Likewise. * g++.old-deja/g++.law/vbase1.C: Likewise. * g++.old-deja/g++.law/virtual3.C: Likewise. * g++.old-deja/g++.law/visibility1.C: Likewise. * g++.old-deja/g++.law/visibility10.C: Likewise. * g++.old-deja/g++.law/visibility13.C: Likewise. * g++.old-deja/g++.law/visibility17.C: Likewise. * g++.old-deja/g++.law/visibility2.C: Likewise. * g++.old-deja/g++.law/visibility22.C: Likewise. * g++.old-deja/g++.law/visibility25.C: Likewise. * g++.old-deja/g++.law/visibility7.C: Likewise. * g++.old-deja/g++.law/weak.C: Likewise. * g++.old-deja/g++.martin/new1.C: Likewise. * g++.old-deja/g++.mike/dyncast7.C: Likewise. * g++.old-deja/g++.mike/eh13.C: Likewise. * g++.old-deja/g++.mike/eh2.C: Likewise. * g++.old-deja/g++.mike/net34.C: Likewise. * g++.old-deja/g++.mike/net46.C: Likewise. * g++.old-deja/g++.mike/p658.C: Likewise. * g++.old-deja/g++.mike/rtti1.C: Likewise. * g++.old-deja/g++.ns/using4.C: Likewise. * g++.old-deja/g++.ns/using6.C: Likewise. * g++.old-deja/g++.other/defarg6.C: Likewise. * g++.old-deja/g++.other/headers1.C: Likewise. * g++.old-deja/g++.other/init9.C: Likewise. * g++.old-deja/g++.other/inline14.C: Likewise. * g++.old-deja/g++.other/inline2.C: Likewise. * g++.old-deja/g++.other/inline7.C: Likewise. * g++.old-deja/g++.other/inline8.C: Likewise. * g++.old-deja/g++.other/optimize2.C: Likewise. * g++.old-deja/g++.other/sibcall1.C: Likewise. * g++.old-deja/g++.other/unchanging1.C: Likewise. * g++.old-deja/g++.pt/crash68.C: Likewise. * g++.old-deja/g++.pt/memtemp100.C: Likewise. * g++.old-deja/g++.robertl/eb109.C: Likewise. * g++.old-deja/g++.robertl/eb113.C: Likewise. * g++.old-deja/g++.robertl/eb115.C: Likewise. * g++.old-deja/g++.robertl/eb124.C: Likewise. * g++.old-deja/g++.robertl/eb127.C: Likewise. * g++.old-deja/g++.robertl/eb129.C: Likewise. * g++.old-deja/g++.robertl/eb129a.C: Likewise. * g++.old-deja/g++.robertl/eb130.C: Likewise. * g++.old-deja/g++.robertl/eb132.C: Likewise. * g++.old-deja/g++.robertl/eb15.C: Likewise. * g++.old-deja/g++.robertl/eb21.C: Likewise. * g++.old-deja/g++.robertl/eb24.C: Likewise. * g++.old-deja/g++.robertl/eb27.C: Likewise. * g++.old-deja/g++.robertl/eb28.C: Likewise. * g++.old-deja/g++.robertl/eb29.C: Likewise. * g++.old-deja/g++.robertl/eb3.C: Likewise. * g++.old-deja/g++.robertl/eb30.C: Likewise. * g++.old-deja/g++.robertl/eb31.C: Likewise. * g++.old-deja/g++.robertl/eb33.C: Likewise. * g++.old-deja/g++.robertl/eb36.C: Likewise. * g++.old-deja/g++.robertl/eb39.C: Likewise. * g++.old-deja/g++.robertl/eb4.C: Likewise. * g++.old-deja/g++.robertl/eb41.C: Likewise. * g++.old-deja/g++.robertl/eb43.C: Likewise. * g++.old-deja/g++.robertl/eb44.C: Likewise. * g++.old-deja/g++.robertl/eb46.C: Likewise. * g++.old-deja/g++.robertl/eb54.C: Likewise. * g++.old-deja/g++.robertl/eb55.C: Likewise. * g++.old-deja/g++.robertl/eb59.C: Likewise. * g++.old-deja/g++.robertl/eb60.C: Likewise. * g++.old-deja/g++.robertl/eb62.C: Likewise. * g++.old-deja/g++.robertl/eb66.C: Likewise. * g++.old-deja/g++.robertl/eb7.C: Likewise. * g++.old-deja/g++.robertl/eb73.C: Likewise. * g++.old-deja/g++.robertl/eb77.C: Likewise. * g++.old-deja/g++.robertl/eb79.C: Likewise. * g++.old-deja/g++.warn/iomanip.C: Likewise. * g++.target/i386/pr105638.C: Likewise. * g++.target/i386/pr110170.C: Likewise. * g++.target/i386/pr80566-1.C: Likewise. * g++.target/i386/pr80566-2.C: Likewise. * c-c++-common/analyzer/allocation-size-1.c: Skip if !hostedlib because of unavailable declarations. * c-c++-common/analyzer/allocation-size-2.c: Likewise. * c-c++-common/analyzer/allocation-size-3.c: Likewise. * c-c++-common/analyzer/allocation-size-4.c: Likewise. * c-c++-common/analyzer/analyzer-verbosity-0.c: Likewise. * c-c++-common/analyzer/analyzer-verbosity-1.c: Likewise. * c-c++-common/analyzer/analyzer-verbosity-2.c: Likewise. * c-c++-common/analyzer/analyzer-verbosity-3.c: Likewise. * c-c++-common/analyzer/call-summaries-1.c: Likewise. * c-c++-common/analyzer/call-summaries-malloc.c: Likewise. * c-c++-common/analyzer/callbacks-1.c: Likewise. * c-c++-common/analyzer/callbacks-2.c: Likewise. * c-c++-common/analyzer/capacity-1.c: Likewise. * c-c++-common/analyzer/capacity-2.c: Likewise. * c-c++-common/analyzer/capacity-3.c: Likewise. * c-c++-common/analyzer/compound-assignment-1.c: Likewise. * c-c++-common/analyzer/data-model-14.c: Likewise. * c-c++-common/analyzer/data-model-20.c: Likewise. * c-c++-common/analyzer/data-model-5d.c: Likewise. * c-c++-common/analyzer/disabling.c: Likewise. * c-c++-common/analyzer/dump-state.c: Likewise. * c-c++-common/analyzer/edges-2.c: Likewise. * c-c++-common/analyzer/first-field-2.c: Likewise. * c-c++-common/analyzer/flex-with-call-summaries.c: Likewise. * c-c++-common/analyzer/flex-without-call-summaries.c: Likewise. * c-c++-common/analyzer/flexible-array-member-1.c: Likewise. * c-c++-common/analyzer/function-ptr-2.c: Likewise. * c-c++-common/analyzer/function-ptr-3.c: Likewise. * c-c++-common/analyzer/function-ptr-4.c: Likewise. * c-c++-common/analyzer/gzio.c: Likewise. * c-c++-common/analyzer/imprecise-floating-point-1.c: Likewise. * c-c++-common/analyzer/leak-2.c: Likewise. * c-c++-common/analyzer/leak-3.c: Likewise. * c-c++-common/analyzer/leak-4.c: Likewise. * c-c++-common/analyzer/loop-0-up-to-n-by-1-with-iter-obj.c: Likewise. * c-c++-common/analyzer/loop-3.c: Likewise. * c-c++-common/analyzer/malloc-3.c: Likewise. * c-c++-common/analyzer/malloc-5.c: Likewise. * c-c++-common/analyzer/malloc-CWE-401-example.c: Likewise. * c-c++-common/analyzer/malloc-CWE-415-examples.c: Likewise. * c-c++-common/analyzer/malloc-CWE-416-examples.c: Likewise. * c-c++-common/analyzer/malloc-CWE-590-examples.c: Likewise. * c-c++-common/analyzer/malloc-callbacks.c: Likewise. * c-c++-common/analyzer/malloc-dce.c: Likewise. * c-c++-common/analyzer/malloc-dedupe-1.c: Likewise. * c-c++-common/analyzer/malloc-in-loop.c: Likewise. * c-c++-common/analyzer/malloc-ipa-1.c: Likewise. * c-c++-common/analyzer/malloc-ipa-10.c: Likewise. * c-c++-common/analyzer/malloc-ipa-11.c: Likewise. * c-c++-common/analyzer/malloc-ipa-12.c: Likewise. * c-c++-common/analyzer/malloc-ipa-13a.c: Likewise. * c-c++-common/analyzer/malloc-ipa-2.c: Likewise. * c-c++-common/analyzer/malloc-ipa-3.c: Likewise. * c-c++-common/analyzer/malloc-ipa-4.c: Likewise. * c-c++-common/analyzer/malloc-ipa-5.c: Likewise. * c-c++-common/analyzer/malloc-ipa-6.c: Likewise. * c-c++-common/analyzer/malloc-ipa-7.c: Likewise. * c-c++-common/analyzer/malloc-ipa-9.c: Likewise. * c-c++-common/analyzer/malloc-macro-inline-events.c: Likewise. * c-c++-common/analyzer/malloc-macro-separate-events.c: Likewise. * c-c++-common/analyzer/malloc-many-paths-3.c: Likewise. * c-c++-common/analyzer/malloc-meaning-1.c: Likewise. * c-c++-common/analyzer/malloc-paths-1.c: Likewise. * c-c++-common/analyzer/malloc-paths-2.c: Likewise. * c-c++-common/analyzer/malloc-paths-3.c: Likewise. * c-c++-common/analyzer/malloc-paths-4.c: Likewise. * c-c++-common/analyzer/malloc-paths-5.c: Likewise. * c-c++-common/analyzer/malloc-paths-6.c: Likewise. * c-c++-common/analyzer/malloc-paths-7.c: Likewise. * c-c++-common/analyzer/malloc-paths-8.c: Likewise. * c-c++-common/analyzer/malloc-paths-9-noexcept.c: Likewise. * c-c++-common/analyzer/malloc-sarif-1.c: Likewise. * c-c++-common/analyzer/malloc-vs-local-1a.c: Likewise. * c-c++-common/analyzer/malloc-vs-local-1b.c: Likewise. * c-c++-common/analyzer/malloc-vs-local-2.c: Likewise. * c-c++-common/analyzer/malloc-vs-local-3.c: Likewise. * c-c++-common/analyzer/out-of-bounds-1.c: Likewise. * c-c++-common/analyzer/out-of-bounds-2.c: Likewise. * c-c++-common/analyzer/out-of-bounds-diagram-3.c: Likewise. * c-c++-common/analyzer/out-of-bounds-diagram-8.c: Likewise. * c-c++-common/analyzer/paths-3.c: Likewise. * c-c++-common/analyzer/paths-6.c: Likewise. * c-c++-common/analyzer/paths-7.c: Likewise. * c-c++-common/analyzer/pr103526.c: Likewise. * c-c++-common/analyzer/pr106539.c: Likewise. * c-c++-common/analyzer/pr94399.c: Likewise. * c-c++-common/analyzer/pr94851-1.c: Likewise. * c-c++-common/analyzer/pr94851-2.c: Likewise. * c-c++-common/analyzer/pr94851-4.c: Likewise. * c-c++-common/analyzer/pr97608.c: Likewise. * c-c++-common/analyzer/pr98918.c: Likewise. * c-c++-common/analyzer/pr99716-2.c: Likewise. * c-c++-common/analyzer/pr99716-3.c: Likewise. * c-c++-common/analyzer/pragma-1.c: Likewise. * c-c++-common/analyzer/pragma-2.c: Likewise. * c-c++-common/analyzer/sarif-path-role.c: Likewise. * c-c++-common/analyzer/scope-1.c: Likewise. * c-c++-common/analyzer/strndup-1.c: Likewise. * c-c++-common/analyzer/taint-alloc-3.c: Likewise. * c-c++-common/analyzer/taint-realloc.c: Likewise. * c-c++-common/analyzer/use-after-free-3.c: Likewise. * c-c++-common/analyzer/zlib-4.c: Likewise. * c-c++-common/goacc/kernels-counter-vars-function-scope.c: Likewise. * c-c++-common/goacc/kernels-loop-2.c: Likewise. * c-c++-common/goacc/kernels-loop-3.c: Likewise. * c-c++-common/goacc/kernels-loop-data-2.c: Likewise. * c-c++-common/goacc/kernels-loop-data-enter-exit-2.c: Likewise. * c-c++-common/goacc/kernels-loop-data-enter-exit.c: Likewise. * c-c++-common/goacc/kernels-loop-data-update.c: Likewise. * c-c++-common/goacc/kernels-loop-data.c: Likewise. * c-c++-common/goacc/kernels-loop-g.c: Likewise. * c-c++-common/goacc/kernels-loop-mod-not-zero.c: Likewise. * c-c++-common/goacc/kernels-loop-n.c: Likewise. * c-c++-common/goacc/kernels-loop.c: Likewise. * c-c++-common/goacc/kernels-one-counter-var.c: Likewise. * c-c++-common/goacc/kernels-parallel-loop-data-enter-exit.c: Likewise. * c-c++-common/gomp/pr103642.c: Likewise. * c-c++-common/gomp/target-implicit-map-2.c: Likewise. * c-c++-common/simulate-thread/bitfields-4.c: Likewise. * c-c++-common/tm/malloc.c: Likewise. * g++.dg/abi/mangle36.C: Likewise. * g++.dg/abi/mangle40.C: Likewise. * g++.dg/abi/mangle41.C: Likewise. * g++.dg/analyzer/cstdlib.C: Likewise. * g++.dg/analyzer/fanalyzer-show-events-in-system-headers-default.C: Likewise. * g++.dg/analyzer/fanalyzer-show-events-in-system-headers-no.C: Likewise. * g++.dg/analyzer/fanalyzer-show-events-in-system-headers.C: Likewise. * g++.dg/analyzer/malloc.C: Likewise. * g++.dg/analyzer/new-vs-malloc.C: Likewise. * g++.dg/analyzer/placement-new-size.C: Likewise. * g++.dg/analyzer/vfunc-3.C: Likewise. * g++.dg/analyzer/vfunc-5.C: Likewise. * g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C: Likewise. * g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C: Likewise. * g++.dg/coroutines/pr101765.C: Likewise. * g++.dg/coroutines/pr95477.C: Likewise. * g++.dg/coroutines/pr95599.C: Likewise. * g++.dg/coroutines/pr95711.C: Likewise. * g++.dg/coroutines/torture/alloc-00-gro-on-alloc-fail.C: Likewise. * g++.dg/coroutines/torture/alloc-01-overload-newdel.C: Likewise. * g++.dg/coroutines/torture/alloc-02-fail-new-grooaf-check.C: Likewise. * g++.dg/coroutines/torture/alloc-03-overload-new-1.C: Likewise. * g++.dg/coroutines/torture/alloc-04-overload-del-use-two-args.C: Likewise. * g++.dg/coroutines/torture/call-00-co-aw-arg.C: Likewise. * g++.dg/coroutines/torture/call-01-multiple-co-aw.C: Likewise. * g++.dg/coroutines/torture/call-02-temp-co-aw.C: Likewise. * g++.dg/coroutines/torture/call-03-temp-ref-co-aw.C: Likewise. * g++.dg/coroutines/torture/class-00-co-ret.C: Likewise. * g++.dg/coroutines/torture/class-01-co-ret-parm.C: Likewise. * g++.dg/coroutines/torture/class-02-templ-parm.C: Likewise. * g++.dg/coroutines/torture/class-03-operator-templ-parm.C: Likewise. * g++.dg/coroutines/torture/class-04-lambda-1.C: Likewise. * g++.dg/coroutines/torture/class-05-lambda-capture-copy-local.C: Likewise. * g++.dg/coroutines/torture/class-06-lambda-capture-ref.C: Likewise. * g++.dg/coroutines/torture/class-07-data-member.C: Likewise. * g++.dg/coroutines/torture/co-await-00-trivial.C: Likewise. * g++.dg/coroutines/torture/co-await-01-with-value.C: Likewise. * g++.dg/coroutines/torture/co-await-02-xform.C: Likewise. * g++.dg/coroutines/torture/co-await-03-rhs-op.C: Likewise. * g++.dg/coroutines/torture/co-await-04-control-flow.C: Likewise. * g++.dg/coroutines/torture/co-await-05-loop.C: Likewise. * g++.dg/coroutines/torture/co-await-06-ovl.C: Likewise. * g++.dg/coroutines/torture/co-await-07-tmpl.C: Likewise. * g++.dg/coroutines/torture/co-await-08-cascade.C: Likewise. * g++.dg/coroutines/torture/co-await-09-pair.C: Likewise. * g++.dg/coroutines/torture/co-await-10-template-fn-arg.C: Likewise. * g++.dg/coroutines/torture/co-await-11-forwarding.C: Likewise. * g++.dg/coroutines/torture/co-await-12-operator-2.C: Likewise. * g++.dg/coroutines/torture/co-await-13-return-ref.C: Likewise. * g++.dg/coroutines/torture/co-await-14-return-ref-to-auto.C: Likewise. * g++.dg/coroutines/torture/co-await-15-return-non-triv.C: Likewise. * g++.dg/coroutines/torture/co-await-17-capture-comp-ref.C: Likewise. * g++.dg/coroutines/torture/co-await-18-if-cond.C: Likewise. * g++.dg/coroutines/torture/co-await-19-while-cond.C: Likewise. * g++.dg/coroutines/torture/co-await-20-do-while-cond.C: Likewise. * g++.dg/coroutines/torture/co-await-21-switch-value.C: Likewise. * g++.dg/coroutines/torture/co-await-22-truth-and-of-if.C: Likewise. * g++.dg/coroutines/torture/co-await-24-for-init.C: Likewise. * g++.dg/coroutines/torture/co-await-25-for-condition.C: Likewise. * g++.dg/coroutines/torture/co-await-26-for-iteration-expr.C: Likewise. * g++.dg/coroutines/torture/co-ret-00-void-return-is-ready.C: Likewise. * g++.dg/coroutines/torture/co-ret-01-void-return-is-suspend.C: Likewise. * g++.dg/coroutines/torture/co-ret-03-different-GRO-type.C: Likewise. * g++.dg/coroutines/torture/co-ret-04-GRO-nontriv.C: Likewise. * g++.dg/coroutines/torture/co-ret-05-return-value.C: Likewise. * g++.dg/coroutines/torture/co-ret-06-template-promise-val-1.C: Likewise. * g++.dg/coroutines/torture/co-ret-07-void-cast-expr.C: Likewise. * g++.dg/coroutines/torture/co-ret-08-template-cast-ret.C: Likewise. * g++.dg/coroutines/torture/co-ret-09-bool-await-susp.C: Likewise. * g++.dg/coroutines/torture/co-ret-10-expression-evaluates-once.C: Likewise. * g++.dg/coroutines/torture/co-ret-11-co-ret-co-await.C: Likewise. * g++.dg/coroutines/torture/co-ret-12-co-ret-fun-co-await.C: Likewise. * g++.dg/coroutines/torture/co-ret-13-template-2.C: Likewise. * g++.dg/coroutines/torture/co-ret-14-template-3.C: Likewise. * g++.dg/coroutines/torture/co-ret-16-simple-control-flow.C: Likewise. * g++.dg/coroutines/torture/co-ret-17-void-ret-coro.C: Likewise. * g++.dg/coroutines/torture/co-yield-00-triv.C: Likewise. * g++.dg/coroutines/torture/co-yield-01-multi.C: Likewise. * g++.dg/coroutines/torture/co-yield-02-loop.C: Likewise. * g++.dg/coroutines/torture/co-yield-03-tmpl.C: Likewise. * g++.dg/coroutines/torture/co-yield-03-tmpl-nondependent.C: Likewise. * g++.dg/coroutines/torture/co-yield-05-co-aw.C: Likewise. * g++.dg/coroutines/torture/co-yield-06-fun-parm.C: Likewise. * g++.dg/coroutines/torture/co-yield-07-template-fn-param.C: Likewise. * g++.dg/coroutines/torture/co-yield-08-more-refs.C: Likewise. * g++.dg/coroutines/torture/co-yield-09-more-templ-refs.C: Likewise. * g++.dg/coroutines/torture/exceptions-test-0.C: Likewise. * g++.dg/coroutines/torture/exceptions-test-01-n4849-a.C: Likewise. * g++.dg/coroutines/torture/func-params-00.C: Likewise. * g++.dg/coroutines/torture/func-params-01.C: Likewise. * g++.dg/coroutines/torture/func-params-02.C: Likewise. * g++.dg/coroutines/torture/func-params-03.C: Likewise. * g++.dg/coroutines/torture/func-params-04.C: Likewise. * g++.dg/coroutines/torture/func-params-05.C: Likewise. * g++.dg/coroutines/torture/func-params-06.C: Likewise. * g++.dg/coroutines/torture/func-params-07.C: Likewise. * g++.dg/coroutines/torture/lambda-00-co-ret.C: Likewise. * g++.dg/coroutines/torture/lambda-01-co-ret-parm.C: Likewise. * g++.dg/coroutines/torture/lambda-02-co-yield-values.C: Likewise. * g++.dg/coroutines/torture/lambda-03-auto-parm-1.C: Likewise. * g++.dg/coroutines/torture/lambda-04-templ-parm.C: Likewise. * g++.dg/coroutines/torture/lambda-05-capture-copy-local.C: Likewise. * g++.dg/coroutines/torture/lambda-06-multi-capture.C: Likewise. * g++.dg/coroutines/torture/lambda-07-multi-yield.C: Likewise. * g++.dg/coroutines/torture/lambda-08-co-ret-parm-ref.C: Likewise. * g++.dg/coroutines/torture/lambda-09-init-captures.C: Likewise. * g++.dg/coroutines/torture/lambda-10-mutable.C: Likewise. * g++.dg/coroutines/torture/local-var-00-const.C: Likewise. * g++.dg/coroutines/torture/local-var-01-single.C: Likewise. * g++.dg/coroutines/torture/local-var-02-conditional.C: Likewise. * g++.dg/coroutines/torture/local-var-03-with-awaits.C: Likewise. * g++.dg/coroutines/torture/local-var-04-hiding-nested-scopes.C: Likewise. * g++.dg/coroutines/torture/local-var-06-structured-binding.C: Likewise. * g++.dg/coroutines/torture/mid-suspend-destruction-0.C: Likewise. * g++.dg/coroutines/torture/pr95003.C: Likewise. * g++.dg/coroutines/torture/pr95519-00-return_void.C: Likewise. * g++.dg/coroutines/torture/pr95519-01-initial-suspend.C: Likewise. * g++.dg/coroutines/torture/pr95519-02-final_suspend.C: Likewise. * g++.dg/coroutines/torture/pr95519-03-return-value.C: Likewise. * g++.dg/coroutines/torture/pr95519-04-yield-value.C: Likewise. * g++.dg/coroutines/torture/pr95519-05-gro.C: Likewise. * g++.dg/coroutines/torture/pr95519-06-grooaf.C: Likewise. * g++.dg/coroutines/torture/pr95519-07-unhandled-exception.C: Likewise. * g++.dg/cpp0x/lambda/lambda-std-function.C: Likewise. * g++.dg/cpp0x/lambda/lambda-this8.C: Likewise. * g++.dg/cpp0x/pr70887.C: Likewise. * g++.dg/cpp1y/lambda-generic-variadic2.C: Likewise. * g++.dg/cpp23/subscript5.C: Likewise. * g++.dg/cpp23/subscript6.C: Likewise. * g++.dg/cpp26/constexpr-new2.C: Likewise. * g++.dg/cpp2a/destroying-delete5.C: Likewise. * g++.dg/eh/filter2.C: Likewise. * g++.dg/eh/uncaught1.C: Likewise. * g++.dg/eh/uncaught2.C: Likewise. * g++.dg/expr/anew1.C: Likewise. * g++.dg/expr/anew2.C: Likewise. * g++.dg/expr/anew3.C: Likewise. * g++.dg/expr/anew4.C: Likewise. * g++.dg/ext/cleanup-10.C: Likewise. * g++.dg/ext/cleanup-11.C: Likewise. * g++.dg/ext/cleanup-5.C: Likewise. * g++.dg/ext/cleanup-8.C: Likewise. * g++.dg/ext/cleanup-9.C: Likewise. * g++.dg/ext/is_invocable2.C: Likewise. * g++.dg/goacc/pr107028-2.C: Likewise. * g++.dg/gomp/target-lambda-2.C: Likewise. * g++.dg/init/new11.C: Likewise. * g++.dg/init/value3.C: Likewise. * g++.dg/lto/pr66180_0.C: Likewise. * g++.dg/opt/eh4.C: Likewise. * g++.dg/opt/pr103989.C: Likewise. * g++.dg/opt/pr80385.C: Likewise. * g++.dg/opt/reload3.C: Likewise. * g++.dg/other/i386-1.C: Likewise. * g++.dg/other/i386-11.C: Likewise. * g++.dg/other/i386-2.C: Likewise. * g++.dg/other/i386-3.C: Likewise. * g++.dg/other/i386-4.C: Likewise. * g++.dg/other/i386-7.C: Likewise. * g++.dg/other/i386-8.C: Likewise. * g++.dg/other/mmintrin.C: Likewise. * g++.dg/other/pr34435.C: Likewise. * g++.dg/other/pr40446.C: Likewise. * g++.dg/other/pr49133.C: Likewise. * g++.dg/other/ucnid-1-utf8.C: Likewise. * g++.dg/other/ucnid-1.C: Likewise. * g++.dg/pr80481.C: Likewise. * g++.dg/torture/pr10148.C: Likewise. * g++.dg/torture/pr91334.C: Likewise. * g++.dg/torture/pr91606.C: Likewise. * g++.dg/tree-ssa/pr102216-2.C: Likewise. * g++.dg/vect/slp-pr98855.cc: Likewise. * g++.dg/warn/Wsystem-headers1a.C: Likewise. * g++.dg/warn/noreturn-1.C: Likewise. * g++.old-deja/g++.abi/arraynew.C: Likewise. * g++.old-deja/g++.abi/cxa_vec.C: Likewise. * g++.old-deja/g++.brendan/new3.C: Likewise. * g++.old-deja/g++.eh/new1.C: Likewise. * g++.old-deja/g++.eh/new2.C: Likewise. * g++.old-deja/g++.jason/template44.C: Likewise. * g++.old-deja/g++.law/arm13.C: Likewise. * g++.old-deja/g++.law/scope2.C: Likewise. * g++.old-deja/g++.mike/eh47.C: Likewise. * g++.old-deja/g++.mike/ns15.C: Likewise. * g++.old-deja/g++.mike/p710.C: Likewise. * g++.old-deja/g++.mike/p9706.C: Likewise. * g++.old-deja/g++.oliva/new1.C: Likewise. * g++.old-deja/g++.other/delete8.C: Likewise. * g++.target/i386/avx-pr54700-1.C: Likewise. * g++.target/i386/avx-pr54700-2.C: Likewise. * g++.target/i386/avx2-pr54700-1.C: Likewise. * g++.target/i386/avx2-pr54700-2.C: Likewise. * g++.target/i386/avx512bw-pr96246-2.C: Likewise. * g++.target/i386/avx512vl-pr54700-1a.C: Likewise. * g++.target/i386/avx512vl-pr54700-1b.C: Likewise. * g++.target/i386/avx512vl-pr54700-2a.C: Likewise. * g++.target/i386/avx512vl-pr54700-2b.C: Likewise. * g++.target/i386/avx512vl-pr96246-2.C: Likewise. * g++.target/i386/mvc4.C: Likewise. * g++.target/i386/pr100885.C: Likewise. * g++.target/i386/pr102166.C: Likewise. * g++.target/i386/pr103750-fwprop-1.C: Likewise. * g++.target/i386/pr105593.C: Likewise. * g++.target/i386/pr112443.C: Likewise. * g++.target/i386/pr113560.C: Likewise. * g++.target/i386/pr88152.C: Likewise. * g++.target/i386/pr88998.C: Likewise. * g++.target/i386/pr94046-1.C: Likewise. * g++.target/i386/pr94046-2.C: Likewise. * g++.target/i386/sse4_1-pr54700-1.C: Likewise. * g++.target/i386/sse4_1-pr54700-2.C: Likewise. * g++.dg/tree-ssa/pr20458.C: Skip if !hostedlib because of unavailable library definitions.
-rw-r--r--gcc/doc/sourcebuild.texi4
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/allocation-size-2.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/allocation-size-3.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/allocation-size-4.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/analyzer-verbosity-0.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/analyzer-verbosity-1.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/analyzer-verbosity-2.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/analyzer-verbosity-3.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/call-summaries-1.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/call-summaries-malloc.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/callbacks-1.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/callbacks-2.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/capacity-1.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/capacity-2.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/capacity-3.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/compound-assignment-1.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/data-model-14.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/data-model-20.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/data-model-5d.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/disabling.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/dump-state.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/edges-2.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/first-field-2.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/flex-with-call-summaries.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/flex-without-call-summaries.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/flexible-array-member-1.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/function-ptr-3.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/function-ptr-4.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/gzio.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/imprecise-floating-point-1.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/leak-2.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/leak-3.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/leak-4.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/loop-0-up-to-n-by-1-with-iter-obj.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/loop-3.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-3.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-5.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-CWE-401-example.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-CWE-415-examples.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-CWE-416-examples.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-CWE-590-examples.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-callbacks.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-dce.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-dedupe-1.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-in-loop.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-ipa-1.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-ipa-10.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-ipa-11.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-ipa-12.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-ipa-13a.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-ipa-2.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-ipa-3.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-ipa-4.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-ipa-5.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-ipa-6.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-ipa-7.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-ipa-9.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-macro-inline-events.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-macro-separate-events.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-many-paths-3.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-meaning-1.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-paths-1.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-paths-2.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-paths-3.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-paths-4.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-paths-5.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-paths-6.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-paths-7.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-paths-8.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-paths-9-noexcept.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-sarif-1.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-vs-local-1a.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-vs-local-1b.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-vs-local-2.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/malloc-vs-local-3.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/out-of-bounds-1.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/out-of-bounds-2.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/out-of-bounds-diagram-3.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/out-of-bounds-diagram-8.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/paths-3.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/paths-6.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/paths-7.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/pr103526.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/pr106539.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/pr93290.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/pr94399.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/pr94851-1.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/pr94851-2.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/pr94851-4.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/pr97608.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/pr98918.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/pr99716-2.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/pr99716-3.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/pragma-1.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/pragma-2.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/sarif-path-role.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/scope-1.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/strndup-1.c1
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/taint-alloc-3.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/taint-realloc.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/use-after-free-3.c2
-rw-r--r--gcc/testsuite/c-c++-common/analyzer/zlib-4.c2
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-counter-vars-function-scope.c1
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-loop-2.c1
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-loop-3.c1
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-loop-data-2.c1
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-loop-data-enter-exit-2.c1
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-loop-data-enter-exit.c1
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-loop-data-update.c1
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-loop-data.c1
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-loop-g.c1
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-loop-mod-not-zero.c1
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-loop-n.c1
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-loop.c1
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-one-counter-var.c1
-rw-r--r--gcc/testsuite/c-c++-common/goacc/kernels-parallel-loop-data-enter-exit.c1
-rw-r--r--gcc/testsuite/c-c++-common/gomp/pr103642.c1
-rw-r--r--gcc/testsuite/c-c++-common/gomp/target-implicit-map-2.c2
-rw-r--r--gcc/testsuite/c-c++-common/pr36513-2.c1
-rw-r--r--gcc/testsuite/c-c++-common/simulate-thread/bitfields-4.c1
-rw-r--r--gcc/testsuite/c-c++-common/tm/malloc.c1
-rw-r--r--gcc/testsuite/g++.dg/abi/mangle36.C1
-rw-r--r--gcc/testsuite/g++.dg/abi/mangle40.C1
-rw-r--r--gcc/testsuite/g++.dg/abi/mangle41.C1
-rw-r--r--gcc/testsuite/g++.dg/analyzer/cstdlib.C2
-rw-r--r--gcc/testsuite/g++.dg/analyzer/fanalyzer-show-events-in-system-headers-default.C1
-rw-r--r--gcc/testsuite/g++.dg/analyzer/fanalyzer-show-events-in-system-headers-no.C1
-rw-r--r--gcc/testsuite/g++.dg/analyzer/fanalyzer-show-events-in-system-headers.C1
-rw-r--r--gcc/testsuite/g++.dg/analyzer/malloc.C1
-rw-r--r--gcc/testsuite/g++.dg/analyzer/new-vs-malloc.C2
-rw-r--r--gcc/testsuite/g++.dg/analyzer/placement-new-size.C1
-rw-r--r--gcc/testsuite/g++.dg/analyzer/pr93212.C1
-rw-r--r--gcc/testsuite/g++.dg/analyzer/vfunc-2.C1
-rw-r--r--gcc/testsuite/g++.dg/analyzer/vfunc-3.C2
-rw-r--r--gcc/testsuite/g++.dg/analyzer/vfunc-5.C1
-rw-r--r--gcc/testsuite/g++.dg/cdce3.C5
-rw-r--r--gcc/testsuite/g++.dg/concepts/expression.C1
-rw-r--r--gcc/testsuite/g++.dg/concepts/fn3.C1
-rw-r--r--gcc/testsuite/g++.dg/concepts/fn9.C1
-rw-r--r--gcc/testsuite/g++.dg/concepts/generic-fn.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-access1.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-assume2.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-assume3.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-assume4.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-config1.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-constexpr1.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-deduced2.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-externC.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-friend1.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-ignore2.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-multiline1.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-nested-class2.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-post2.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-post3.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-post7.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-pre10.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-pre2.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-pre2a2.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-pre3.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-pre4.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-pre5.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-pre7.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-pre9.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-redecl3.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-redecl4.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-redecl6.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-redecl7.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-tmpl-spec1.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-tmpl-spec2.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts-tmpl-spec3.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts10.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts14.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts15.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts16.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts17.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts18.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts19.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts2.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts22.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts24.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts25.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts3.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts35.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts4.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts5.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts6.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts7.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/contracts9.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/pr110159.C1
-rw-r--r--gcc/testsuite/g++.dg/contracts/pr115434.C3
-rw-r--r--gcc/testsuite/g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C2
-rw-r--r--gcc/testsuite/g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C2
-rw-r--r--gcc/testsuite/g++.dg/coroutines/pr100611.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/pr100772-b.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/pr101133.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/pr101367.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/pr101765.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/pr101976.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/pr102454.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/pr104051.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/pr110635.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/pr110871.C4
-rw-r--r--gcc/testsuite/g++.dg/coroutines/pr110872.C3
-rw-r--r--gcc/testsuite/g++.dg/coroutines/pr94288.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/pr95477.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/pr95520.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/pr95599.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/pr95711.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/pr95736.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/pr97587.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/pr99576_1.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/pr99576_2.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/ramp-return-a.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/ramp-return-b.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/ramp-return-c.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/symmetric-transfer-00-basic.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/alloc-00-gro-on-alloc-fail.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/alloc-01-overload-newdel.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/alloc-02-fail-new-grooaf-check.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/alloc-03-overload-new-1.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/alloc-04-overload-del-use-two-args.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/call-00-co-aw-arg.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/call-01-multiple-co-aw.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/call-02-temp-co-aw.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/call-03-temp-ref-co-aw.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/class-00-co-ret.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/class-01-co-ret-parm.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/class-02-templ-parm.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/class-03-operator-templ-parm.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/class-04-lambda-1.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/class-05-lambda-capture-copy-local.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/class-06-lambda-capture-ref.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/class-07-data-member.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-00-trivial.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-01-with-value.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-02-xform.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-03-rhs-op.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-04-control-flow.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-05-loop.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-06-ovl.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-07-tmpl.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-08-cascade.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-09-pair.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-10-template-fn-arg.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-11-forwarding.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-12-operator-2.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-13-return-ref.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-14-return-ref-to-auto.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-15-return-non-triv.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-16-template-traits.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-17-capture-comp-ref.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-18-if-cond.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-19-while-cond.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-20-do-while-cond.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-21-switch-value.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-22-truth-and-of-if.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-24-for-init.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-25-for-condition.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-await-26-for-iteration-expr.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-ret-00-void-return-is-ready.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-ret-01-void-return-is-suspend.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-ret-03-different-GRO-type.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-ret-04-GRO-nontriv.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-ret-05-return-value.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-ret-06-template-promise-val-1.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-ret-07-void-cast-expr.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-ret-08-template-cast-ret.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-ret-09-bool-await-susp.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-ret-10-expression-evaluates-once.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-ret-11-co-ret-co-await.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-ret-12-co-ret-fun-co-await.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-ret-13-template-2.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-ret-14-template-3.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-ret-15-default-return_void.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-ret-16-simple-control-flow.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-ret-17-void-ret-coro.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-yield-00-triv.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-yield-01-multi.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-yield-02-loop.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-yield-03-tmpl-nondependent.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-yield-03-tmpl.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-yield-04-complex-local-state.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-yield-05-co-aw.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-yield-06-fun-parm.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-yield-07-template-fn-param.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-yield-08-more-refs.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/co-yield-09-more-templ-refs.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/exceptions-test-0.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/exceptions-test-01-n4849-a.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/extern-c-coroutine.C2
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/func-params-00.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/func-params-01.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/func-params-02.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/func-params-03.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/func-params-04.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/func-params-05.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/func-params-06.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/func-params-07.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/func-params-08.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/func-params-09-awaitable-parms.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/lambda-00-co-ret.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/lambda-01-co-ret-parm.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/lambda-02-co-yield-values.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/lambda-03-auto-parm-1.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/lambda-04-templ-parm.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/lambda-05-capture-copy-local.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/lambda-06-multi-capture.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/lambda-07-multi-yield.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/lambda-08-co-ret-parm-ref.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/lambda-09-init-captures.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/lambda-10-mutable.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/local-var-00-const.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/local-var-01-single.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/local-var-02-conditional.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/local-var-03-with-awaits.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/local-var-04-hiding-nested-scopes.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/local-var-05-awaitable.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/local-var-06-structured-binding.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/mid-suspend-destruction-0.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/pr95003.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/pr95519-00-return_void.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/pr95519-01-initial-suspend.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/pr95519-02-final_suspend.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/pr95519-03-return-value.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/pr95519-04-yield-value.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/pr95519-05-gro.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/pr95519-06-grooaf.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/pr95519-07-unhandled-exception.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/pr95615-01.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/pr95615-02.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/pr95615-03.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/pr95615-04.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/pr95615-05.C1
-rw-r--r--gcc/testsuite/g++.dg/coroutines/torture/pr98704.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp/pr80005.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/Wliteral-suffix.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/Wpessimizing-move2.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/constexpr-70001-3.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/constexpr-ice16.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/dc5.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/enum35.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/enum36.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/initlist-opt1.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/initlist-vect2.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/initlist13.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/initlist15.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/initlist25.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/initlist54.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/initlist92.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-capture-const-ref-neg.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-capture-const-ref.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const-neg.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-deduce.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-in-class-neg.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-in-class.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-mixed.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-mutable.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nested.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-non-const.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nop.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nullptr.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-pass.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-recursive.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ref-default.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ref.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-std-function.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this8.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/nullptr20.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/pr61038.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/pr70887.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/rv-trivial-bug.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/udlit-concat-neg.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/udlit-concat.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/udlit-embed-quote.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/udlit-extended-id-1.C2
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/udlit-general.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/udlit-namespace.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/udlit-raw-op.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/udlit-raw-str.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/udlit-resolve-char8_t.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/udlit-resolve.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/udlit-sfinae.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/udlit-string-literal.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/udlit-suffix-neg.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/udlit-template.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/variadic-bind.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/variadic-function.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/variadic-mem_fn.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/variadic-tuple.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/auto-fn45.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/complex_literals1.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/complex_literals1a.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/constexpr-66093.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/constexpr-assert1.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/constexpr-assert2.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/feat-cxx14.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/lambda-generic-69078-2.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic2.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/lambda-generic-x.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/lambda-init8.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/new2.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/nsdmi-aggr12.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/pr57640.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/pr77786.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/pr95226.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/udlit-char-template-sfinae.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/udlit-char-template-vs-std-literal-operator.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1y/udlit-userdef-string.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/class-deduction14.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/constexpr-asm-1.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/constexpr-asm-3.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/decomp37.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/eval-order2.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/fold1.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/init-statement6.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/launder3.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/launder4.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/launder5.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/launder6.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp1z/utf8.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp23/ext-floating12.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp23/feat-cxx2b.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp23/subscript5.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp23/subscript6.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp26/constexpr-new2.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp26/constexpr-voidptr1.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp26/feat-cxx26.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/concepts-cmath.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/concepts-explicit-spec1.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/concepts-explicit-spec4.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/concepts-explicit-spec5.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/concepts-memfun.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/concepts-pr67774.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/cond-triv2.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/destroying-delete5.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/feat-cxx2a.C1
-rw-r--r--gcc/testsuite/g++.dg/cpp2a/nontype-float1.C1
-rw-r--r--gcc/testsuite/g++.dg/diagnostic/disable.C1
-rw-r--r--gcc/testsuite/g++.dg/diagnostic/missing-header-pr110164.C1
-rw-r--r--gcc/testsuite/g++.dg/diagnostic/pr65923.C1
-rw-r--r--gcc/testsuite/g++.dg/eh/arm-vfp-unwind.C1
-rw-r--r--gcc/testsuite/g++.dg/eh/crossjump1.C1
-rw-r--r--gcc/testsuite/g++.dg/eh/filter2.C1
-rw-r--r--gcc/testsuite/g++.dg/eh/omit-frame-pointer.C1
-rw-r--r--gcc/testsuite/g++.dg/eh/simd-3.C1
-rw-r--r--gcc/testsuite/g++.dg/eh/uncaught1.C1
-rw-r--r--gcc/testsuite/g++.dg/eh/uncaught2.C1
-rw-r--r--gcc/testsuite/g++.dg/expr/anew1.C2
-rw-r--r--gcc/testsuite/g++.dg/expr/anew2.C2
-rw-r--r--gcc/testsuite/g++.dg/expr/anew3.C2
-rw-r--r--gcc/testsuite/g++.dg/expr/anew4.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/bases.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/builtin-line1.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/builtin10.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/cleanup-10.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/cleanup-11.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/cleanup-5.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/cleanup-8.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/cleanup-9.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/complex4.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/has_nothrow_assign.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/has_nothrow_assign_odr.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/has_nothrow_constructor.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/has_nothrow_constructor_odr.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/has_nothrow_copy-1.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/has_nothrow_copy-2.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/has_nothrow_copy-3.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/has_nothrow_copy-4.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/has_nothrow_copy-5.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/has_nothrow_copy-6.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/has_nothrow_copy-7.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/has_nothrow_copy_odr.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/has_trivial_assign.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/has_trivial_constructor.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/has_trivial_copy.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/has_trivial_destructor-1.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/has_virtual_destructor.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/is_abstract.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/is_aggregate.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/is_base_of.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/is_class.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/is_convertible2.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/is_empty.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/is_enum.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/is_invocable2.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/is_pod.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/is_polymorphic.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/is_union.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/underlying_type10.C1
-rw-r--r--gcc/testsuite/g++.dg/ext/underlying_type4.C1
-rw-r--r--gcc/testsuite/g++.dg/gcov/gcov-14.C1
-rw-r--r--gcc/testsuite/g++.dg/gcov/gcov-18.C1
-rw-r--r--gcc/testsuite/g++.dg/gcov/pr88045.C1
-rw-r--r--gcc/testsuite/g++.dg/gcov/pr88263-2.C1
-rw-r--r--gcc/testsuite/g++.dg/gcov/pr88263.C1
-rw-r--r--gcc/testsuite/g++.dg/goacc/pr107028-2.C1
-rw-r--r--gcc/testsuite/g++.dg/gomp/has_device_addr-non-lvalue-1.C1
-rw-r--r--gcc/testsuite/g++.dg/gomp/ind-base-3.C2
-rw-r--r--gcc/testsuite/g++.dg/gomp/map-assignment-1.C2
-rw-r--r--gcc/testsuite/g++.dg/gomp/map-lvalue-ref-1.C2
-rw-r--r--gcc/testsuite/g++.dg/gomp/map-ptrmem-1.C2
-rw-r--r--gcc/testsuite/g++.dg/gomp/map-ptrmem-2.C2
-rw-r--r--gcc/testsuite/g++.dg/gomp/map-static-cast-lvalue-1.C2
-rw-r--r--gcc/testsuite/g++.dg/gomp/map-ternary-1.C2
-rw-r--r--gcc/testsuite/g++.dg/gomp/member-array-2.C2
-rw-r--r--gcc/testsuite/g++.dg/gomp/pr71910.C1
-rw-r--r--gcc/testsuite/g++.dg/gomp/pr91118-1.C1
-rw-r--r--gcc/testsuite/g++.dg/gomp/sink-2.C1
-rw-r--r--gcc/testsuite/g++.dg/gomp/target-lambda-2.C2
-rw-r--r--gcc/testsuite/g++.dg/gomp/target-this-3.C2
-rw-r--r--gcc/testsuite/g++.dg/gomp/target-this-4.C2
-rw-r--r--gcc/testsuite/g++.dg/gomp/tile-1.C1
-rw-r--r--gcc/testsuite/g++.dg/gomp/tile-2.C1
-rw-r--r--gcc/testsuite/g++.dg/gomp/unroll-1.C1
-rw-r--r--gcc/testsuite/g++.dg/gomp/unroll-2.C1
-rw-r--r--gcc/testsuite/g++.dg/gomp/unroll-3.C1
-rw-r--r--gcc/testsuite/g++.dg/graphite/id-1.C2
-rw-r--r--gcc/testsuite/g++.dg/graphite/pr42130.C5
-rw-r--r--gcc/testsuite/g++.dg/inherit/virtual8.C1
-rw-r--r--gcc/testsuite/g++.dg/init/array4.C1
-rw-r--r--gcc/testsuite/g++.dg/init/new11.C1
-rw-r--r--gcc/testsuite/g++.dg/init/new18.C1
-rw-r--r--gcc/testsuite/g++.dg/init/new39.C1
-rw-r--r--gcc/testsuite/g++.dg/init/new40.C1
-rw-r--r--gcc/testsuite/g++.dg/init/value3.C1
-rw-r--r--gcc/testsuite/g++.dg/ipa/devirt-29.C1
-rw-r--r--gcc/testsuite/g++.dg/ipa/pr85549.C1
-rw-r--r--gcc/testsuite/g++.dg/lookup/missing-std-include-3.C1
-rw-r--r--gcc/testsuite/g++.dg/lookup/pr21802.C2
-rw-r--r--gcc/testsuite/g++.dg/lto/20091022-2_0.C1
-rw-r--r--gcc/testsuite/g++.dg/lto/20091219_0.C1
-rw-r--r--gcc/testsuite/g++.dg/lto/pr66180_0.C2
-rw-r--r--gcc/testsuite/g++.dg/lto/pr80287_0.C1
-rw-r--r--gcc/testsuite/g++.dg/lto/pr89358_0.C1
-rw-r--r--gcc/testsuite/g++.dg/lto/pr89358_1.C1
-rw-r--r--gcc/testsuite/g++.dg/modules/binding-1_a.H1
-rw-r--r--gcc/testsuite/g++.dg/modules/binding-1_b.H1
-rw-r--r--gcc/testsuite/g++.dg/modules/contracts-1_a.C1
-rw-r--r--gcc/testsuite/g++.dg/modules/contracts-1_b.C2
-rw-r--r--gcc/testsuite/g++.dg/modules/contracts-2_a.C1
-rw-r--r--gcc/testsuite/g++.dg/modules/contracts-2_b.C1
-rw-r--r--gcc/testsuite/g++.dg/modules/contracts-3_a.C1
-rw-r--r--gcc/testsuite/g++.dg/modules/contracts-3_b.C2
-rw-r--r--gcc/testsuite/g++.dg/modules/contracts-4_a.C1
-rw-r--r--gcc/testsuite/g++.dg/modules/contracts-4_d.C2
-rw-r--r--gcc/testsuite/g++.dg/modules/global-3_a.C1
-rw-r--r--gcc/testsuite/g++.dg/modules/hello-1_a.C1
-rw-r--r--gcc/testsuite/g++.dg/modules/hello-2_a.C1
-rw-r--r--gcc/testsuite/g++.dg/modules/hello-2_b.C1
-rw-r--r--gcc/testsuite/g++.dg/modules/iostream-1_a.H1
-rw-r--r--gcc/testsuite/g++.dg/modules/p1689-2.C1
-rw-r--r--gcc/testsuite/g++.dg/modules/part-5_c.C1
-rw-r--r--gcc/testsuite/g++.dg/modules/pr99023_a.X1
-rw-r--r--gcc/testsuite/g++.dg/modules/pr99166_a.X1
-rw-r--r--gcc/testsuite/g++.dg/modules/pr99166_b.C2
-rw-r--r--gcc/testsuite/g++.dg/modules/pr99425-2_a.X1
-rw-r--r--gcc/testsuite/g++.dg/modules/pr99425-2_b.X1
-rw-r--r--gcc/testsuite/g++.dg/modules/string-1_a.H1
-rw-r--r--gcc/testsuite/g++.dg/modules/string-1_b.C1
-rw-r--r--gcc/testsuite/g++.dg/modules/string-view1.C1
-rw-r--r--gcc/testsuite/g++.dg/modules/xtreme-header-1_a.H1
-rw-r--r--gcc/testsuite/g++.dg/modules/xtreme-header-1_b.C1
-rw-r--r--gcc/testsuite/g++.dg/modules/xtreme-header-2_a.H1
-rw-r--r--gcc/testsuite/g++.dg/modules/xtreme-header-2_b.C1
-rw-r--r--gcc/testsuite/g++.dg/modules/xtreme-header-3_a.H1
-rw-r--r--gcc/testsuite/g++.dg/modules/xtreme-header-3_b.C1
-rw-r--r--gcc/testsuite/g++.dg/modules/xtreme-header-4_a.H1
-rw-r--r--gcc/testsuite/g++.dg/modules/xtreme-header-4_b.C1
-rw-r--r--gcc/testsuite/g++.dg/modules/xtreme-header-5_a.H1
-rw-r--r--gcc/testsuite/g++.dg/modules/xtreme-header-5_b.C1
-rw-r--r--gcc/testsuite/g++.dg/modules/xtreme-header-6_a.H1
-rw-r--r--gcc/testsuite/g++.dg/modules/xtreme-header-6_b.C1
-rw-r--r--gcc/testsuite/g++.dg/modules/xtreme-header-7_a.H1
-rw-r--r--gcc/testsuite/g++.dg/modules/xtreme-header-7_b.C1
-rw-r--r--gcc/testsuite/g++.dg/modules/xtreme-header_a.H1
-rw-r--r--gcc/testsuite/g++.dg/modules/xtreme-header_b.C1
-rw-r--r--gcc/testsuite/g++.dg/modules/xtreme-tr1_a.H1
-rw-r--r--gcc/testsuite/g++.dg/modules/xtreme-tr1_b.C1
-rw-r--r--gcc/testsuite/g++.dg/opt/builtins2.C1
-rw-r--r--gcc/testsuite/g++.dg/opt/dtor4-aux.cc1
-rw-r--r--gcc/testsuite/g++.dg/opt/dtor4.C1
-rw-r--r--gcc/testsuite/g++.dg/opt/eh4.C1
-rw-r--r--gcc/testsuite/g++.dg/opt/nrv17.C1
-rw-r--r--gcc/testsuite/g++.dg/opt/pr102970.C1
-rw-r--r--gcc/testsuite/g++.dg/opt/pr103989.C1
-rw-r--r--gcc/testsuite/g++.dg/opt/pr109434.C1
-rw-r--r--gcc/testsuite/g++.dg/opt/pr110879.C1
-rw-r--r--gcc/testsuite/g++.dg/opt/pr15551.C1
-rw-r--r--gcc/testsuite/g++.dg/opt/pr30965.C1
-rw-r--r--gcc/testsuite/g++.dg/opt/pr65074.C1
-rw-r--r--gcc/testsuite/g++.dg/opt/pr66119.C1
-rw-r--r--gcc/testsuite/g++.dg/opt/pr77844.C1
-rw-r--r--gcc/testsuite/g++.dg/opt/pr80385.C1
-rw-r--r--gcc/testsuite/g++.dg/opt/pr85393.C1
-rw-r--r--gcc/testsuite/g++.dg/opt/pr94223.C1
-rw-r--r--gcc/testsuite/g++.dg/opt/reload3.C1
-rw-r--r--gcc/testsuite/g++.dg/other/final7.C1
-rw-r--r--gcc/testsuite/g++.dg/other/i386-1.C1
-rw-r--r--gcc/testsuite/g++.dg/other/i386-11.C1
-rw-r--r--gcc/testsuite/g++.dg/other/i386-2.C1
-rw-r--r--gcc/testsuite/g++.dg/other/i386-3.C1
-rw-r--r--gcc/testsuite/g++.dg/other/i386-4.C1
-rw-r--r--gcc/testsuite/g++.dg/other/i386-7.C1
-rw-r--r--gcc/testsuite/g++.dg/other/i386-8.C1
-rw-r--r--gcc/testsuite/g++.dg/other/mmintrin.C1
-rw-r--r--gcc/testsuite/g++.dg/other/pr34435.C1
-rw-r--r--gcc/testsuite/g++.dg/other/pr40446.C1
-rw-r--r--gcc/testsuite/g++.dg/other/pr40561.C1
-rw-r--r--gcc/testsuite/g++.dg/other/pr49133.C1
-rw-r--r--gcc/testsuite/g++.dg/other/ucnid-1-utf8.C1
-rw-r--r--gcc/testsuite/g++.dg/other/ucnid-1.C1
-rw-r--r--gcc/testsuite/g++.dg/parse/lookup1.C1
-rw-r--r--gcc/testsuite/g++.dg/parse/parse5.C1
-rw-r--r--gcc/testsuite/g++.dg/pch/system-1.C2
-rw-r--r--gcc/testsuite/g++.dg/pch/system-1.Hs2
-rw-r--r--gcc/testsuite/g++.dg/pch/system-2.C2
-rw-r--r--gcc/testsuite/g++.dg/pch/system-2.Hs2
-rw-r--r--gcc/testsuite/g++.dg/pr100253.C1
-rw-r--r--gcc/testsuite/g++.dg/pr104547.C1
-rw-r--r--gcc/testsuite/g++.dg/pr107087.C1
-rw-r--r--gcc/testsuite/g++.dg/pr71488.C1
-rw-r--r--gcc/testsuite/g++.dg/pr71655.C1
-rw-r--r--gcc/testsuite/g++.dg/pr79095-3.C1
-rw-r--r--gcc/testsuite/g++.dg/pr80481.C1
-rw-r--r--gcc/testsuite/g++.dg/pr83239.C1
-rw-r--r--gcc/testsuite/g++.dg/pr99966.C1
-rw-r--r--gcc/testsuite/g++.dg/rtti/typeid4.C1
-rw-r--r--gcc/testsuite/g++.dg/spellcheck-inttypes.C1
-rw-r--r--gcc/testsuite/g++.dg/template/friend10.C1
-rw-r--r--gcc/testsuite/g++.dg/template/pr69961a.C1
-rw-r--r--gcc/testsuite/g++.dg/template/show-template-tree-3.C1
-rw-r--r--gcc/testsuite/g++.dg/tm/inherit2.C1
-rw-r--r--gcc/testsuite/g++.dg/tm/pr46270.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/alias-1.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/builtin-location.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr10148.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr103669.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr104601.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr106922.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr111019.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr33572.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr33735.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr34099.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr39417.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr44972.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr46364.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr49628.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr49938.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr51903.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr54498.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr60750.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr67600.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr82084.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr86763.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr91334.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr91606.C1
-rw-r--r--gcc/testsuite/g++.dg/torture/pr95493-1.C1
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/allocator-opt1.C1
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/copyprop.C1
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/empty-loop.C1
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/initlist-opt1.C1
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/initlist-opt2.C1
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/initlist-opt3.C1
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/initlist-opt5.C1
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/loop-cond-split-1.C1
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/loop-split-1.C2
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/pr101839.C1
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/pr102216-2.C2
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/pr104529.C1
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/pr109849.C1
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/pr14703.C1
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/pr19786.C1
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/pr20458.C1
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/pr46228.C1
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/pr63841.C1
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/pr69336.C1
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/pr78847.C1
-rw-r--r--gcc/testsuite/g++.dg/tree-ssa/pr95638.C1
-rw-r--r--gcc/testsuite/g++.dg/uninit-pr105937.C1
-rw-r--r--gcc/testsuite/g++.dg/vect/pr102421.cc1
-rw-r--r--gcc/testsuite/g++.dg/vect/pr105053.cc1
-rw-r--r--gcc/testsuite/g++.dg/vect/pr33426-ivdep-4.cc1
-rw-r--r--gcc/testsuite/g++.dg/vect/pr64410.cc1
-rw-r--r--gcc/testsuite/g++.dg/vect/slp-pr87105.cc1
-rw-r--r--gcc/testsuite/g++.dg/vect/slp-pr98855.cc1
-rw-r--r--gcc/testsuite/g++.dg/vect/vect-novector-pragma.cc1
-rw-r--r--gcc/testsuite/g++.dg/warn/Warray-bounds-27.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/Wdangling-pointer-pr110055.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/Wdangling-reference10.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/Wdangling-reference14.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/Wdangling-reference17.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/Wdangling-reference4.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/Wdangling-reference5.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/Wfree-nonheap-object-3.C3
-rw-r--r--gcc/testsuite/g++.dg/warn/Winline-3.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/Wmemset-elt-size1.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/Wparentheses-34.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/Wstrict-aliasing-bogus-escape-2.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/Wstrict-aliasing-bogus-escape.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/Wstringop-overflow-6.C3
-rw-r--r--gcc/testsuite/g++.dg/warn/Wstringop-overflow-8.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/Wstringop-overread-1.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/Wsystem-headers1a.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/Wuninitialized-33.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/Wuninitialized-pr111123-1.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/format1.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/huge-val1.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/noreturn-1.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/string1.C1
-rw-r--r--gcc/testsuite/g++.dg/warn/uninit-pr105562.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.abi/arraynew.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/15071.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/copy9.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash15.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash20.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash30.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash38.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash39.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash49.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash52.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash62.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/cvt1.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/err-msg3.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/nest21.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/new3.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/ptolemy2.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/new1.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/new2.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/2371.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template24.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template31.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/template44.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/typeid1.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arg1.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arg8.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arm12.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arm13.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/arm9.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/bad-error7.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/code-gen5.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors10.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors12.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors13.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors17.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/ctors6.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt16.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt2.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/cvt7.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/except5.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/missed-error2.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/nest3.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators32.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators4.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/scope2.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/vbase1.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/virtual3.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility1.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility10.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility13.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility17.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility2.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility22.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility25.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/visibility7.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/weak.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.martin/new1.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/dyncast7.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh13.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh2.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/eh47.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net34.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net46.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/ns15.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p658.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p710.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p9706.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/rtti1.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/using4.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.ns/using6.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.oliva/new1.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/defarg6.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/delete8.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/headers1.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/init9.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/inline14.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/inline2.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/inline7.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/inline8.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/optimize2.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/sibcall1.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/unchanging1.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/crash68.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp100.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb109.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb113.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb115.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb124.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb127.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb129.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb129a.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb130.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb132.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb15.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb21.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb24.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb27.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb28.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb29.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb3.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb30.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb31.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb33.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb36.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb39.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb4.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb41.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb43.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb44.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb46.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb54.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb55.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb59.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb60.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb62.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb66.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb7.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb73.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb77.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.robertl/eb79.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.warn/iomanip.C1
-rw-r--r--gcc/testsuite/g++.target/i386/avx-pr54700-1.C1
-rw-r--r--gcc/testsuite/g++.target/i386/avx-pr54700-2.C1
-rw-r--r--gcc/testsuite/g++.target/i386/avx2-pr54700-1.C1
-rw-r--r--gcc/testsuite/g++.target/i386/avx2-pr54700-2.C1
-rw-r--r--gcc/testsuite/g++.target/i386/avx512bw-pr96246-2.C1
-rw-r--r--gcc/testsuite/g++.target/i386/avx512vl-pr54700-1a.C1
-rw-r--r--gcc/testsuite/g++.target/i386/avx512vl-pr54700-1b.C1
-rw-r--r--gcc/testsuite/g++.target/i386/avx512vl-pr54700-2a.C1
-rw-r--r--gcc/testsuite/g++.target/i386/avx512vl-pr54700-2b.C1
-rw-r--r--gcc/testsuite/g++.target/i386/avx512vl-pr96246-2.C1
-rw-r--r--gcc/testsuite/g++.target/i386/mvc4.C1
-rw-r--r--gcc/testsuite/g++.target/i386/pr100885.C1
-rw-r--r--gcc/testsuite/g++.target/i386/pr102166.C1
-rw-r--r--gcc/testsuite/g++.target/i386/pr103750-fwprop-1.C1
-rw-r--r--gcc/testsuite/g++.target/i386/pr105593.C1
-rw-r--r--gcc/testsuite/g++.target/i386/pr105638.C1
-rw-r--r--gcc/testsuite/g++.target/i386/pr110170.C2
-rw-r--r--gcc/testsuite/g++.target/i386/pr112443.C1
-rw-r--r--gcc/testsuite/g++.target/i386/pr113560.C1
-rw-r--r--gcc/testsuite/g++.target/i386/pr80566-1.C1
-rw-r--r--gcc/testsuite/g++.target/i386/pr80566-2.C1
-rw-r--r--gcc/testsuite/g++.target/i386/pr88152.C1
-rw-r--r--gcc/testsuite/g++.target/i386/pr88998.C1
-rw-r--r--gcc/testsuite/g++.target/i386/pr94046-1.C1
-rw-r--r--gcc/testsuite/g++.target/i386/pr94046-2.C1
-rw-r--r--gcc/testsuite/g++.target/i386/sse4_1-pr54700-1.C1
-rw-r--r--gcc/testsuite/g++.target/i386/sse4_1-pr54700-2.C1
-rw-r--r--gcc/testsuite/lib/target-supports.exp18
863 files changed, 1003 insertions, 9 deletions
diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi
index 6ba72fd..a21a97f 100644
--- a/gcc/doc/sourcebuild.texi
+++ b/gcc/doc/sourcebuild.texi
@@ -2819,6 +2819,10 @@ Target is @samp{freestanding} as defined in section 4 of the C99 standard.
Effectively, it is a target which supports no extra headers or libraries
other than what is considered essential.
+@item hostedlib
+Target is not @samp{freestanding}, and, if the language is C++,
+@code{libstdc++}'s hosted mode is not disabled.
+
@item gettimeofday
Target supports @code{gettimeofday}.
diff --git a/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c b/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c
index 5b4e739..a9d375d 100644
--- a/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c
+++ b/gcc/testsuite/c-c++-common/analyzer/allocation-size-1.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include <stdio.h>
#include <stdint.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/allocation-size-2.c b/gcc/testsuite/c-c++-common/analyzer/allocation-size-2.c
index a9f92cf..cee9208 100644
--- a/gcc/testsuite/c-c++-common/analyzer/allocation-size-2.c
+++ b/gcc/testsuite/c-c++-common/analyzer/allocation-size-2.c
@@ -1,4 +1,5 @@
/* { dg-additional-options "-fanalyzer-fine-grained" }
+ { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } }
-fanalyzer-fine-grained is currently required; see PR analyzer/107851. */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/allocation-size-3.c b/gcc/testsuite/c-c++-common/analyzer/allocation-size-3.c
index 4e99e88..9d06d4b 100644
--- a/gcc/testsuite/c-c++-common/analyzer/allocation-size-3.c
+++ b/gcc/testsuite/c-c++-common/analyzer/allocation-size-3.c
@@ -1,4 +1,5 @@
/* { dg-additional-options "-fanalyzer-fine-grained" }
+ { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } }
-fanalyzer-fine-grained is currently required; see PR analyzer/107851. */
/* { dg-additional-options -Wno-analyzer-out-of-bounds } */
diff --git a/gcc/testsuite/c-c++-common/analyzer/allocation-size-4.c b/gcc/testsuite/c-c++-common/analyzer/allocation-size-4.c
index 7d07ba6..3dbf13e 100644
--- a/gcc/testsuite/c-c++-common/analyzer/allocation-size-4.c
+++ b/gcc/testsuite/c-c++-common/analyzer/allocation-size-4.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include <stdint.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/analyzer-verbosity-0.c b/gcc/testsuite/c-c++-common/analyzer/analyzer-verbosity-0.c
index acc4156..c1a3ca7 100644
--- a/gcc/testsuite/c-c++-common/analyzer/analyzer-verbosity-0.c
+++ b/gcc/testsuite/c-c++-common/analyzer/analyzer-verbosity-0.c
@@ -1,4 +1,5 @@
/* { dg-additional-options "-fdiagnostics-show-line-numbers -fdiagnostics-path-format=inline-events -fdiagnostics-show-caret -fanalyzer-verbosity=0" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
/* { dg-enable-nn-line-numbers "" } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/analyzer-verbosity-1.c b/gcc/testsuite/c-c++-common/analyzer/analyzer-verbosity-1.c
index 27b885d..ac8df5f 100644
--- a/gcc/testsuite/c-c++-common/analyzer/analyzer-verbosity-1.c
+++ b/gcc/testsuite/c-c++-common/analyzer/analyzer-verbosity-1.c
@@ -1,4 +1,5 @@
/* { dg-additional-options "-fdiagnostics-show-line-numbers -fdiagnostics-path-format=inline-events -fdiagnostics-show-caret -fanalyzer-verbosity=1" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
/* { dg-enable-nn-line-numbers "" } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/analyzer-verbosity-2.c b/gcc/testsuite/c-c++-common/analyzer/analyzer-verbosity-2.c
index d2dc522..e03e3cd 100644
--- a/gcc/testsuite/c-c++-common/analyzer/analyzer-verbosity-2.c
+++ b/gcc/testsuite/c-c++-common/analyzer/analyzer-verbosity-2.c
@@ -1,4 +1,5 @@
/* { dg-additional-options "-fdiagnostics-show-line-numbers -fdiagnostics-path-format=inline-events -fdiagnostics-show-caret -fanalyzer-verbosity=2" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
/* { dg-enable-nn-line-numbers "" } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/analyzer-verbosity-3.c b/gcc/testsuite/c-c++-common/analyzer/analyzer-verbosity-3.c
index 3661f1f..dd8226f 100644
--- a/gcc/testsuite/c-c++-common/analyzer/analyzer-verbosity-3.c
+++ b/gcc/testsuite/c-c++-common/analyzer/analyzer-verbosity-3.c
@@ -1,4 +1,5 @@
/* { dg-additional-options "-fdiagnostics-show-line-numbers -fdiagnostics-path-format=inline-events -fdiagnostics-show-caret -fanalyzer-verbosity=3" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
/* { dg-enable-nn-line-numbers "" } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/call-summaries-1.c b/gcc/testsuite/c-c++-common/analyzer/call-summaries-1.c
index a64b230..643a316 100644
--- a/gcc/testsuite/c-c++-common/analyzer/call-summaries-1.c
+++ b/gcc/testsuite/c-c++-common/analyzer/call-summaries-1.c
@@ -1,4 +1,5 @@
/* { dg-additional-options "-fanalyzer-call-summaries" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/call-summaries-malloc.c b/gcc/testsuite/c-c++-common/analyzer/call-summaries-malloc.c
index 15c4c2e..6522c37 100644
--- a/gcc/testsuite/c-c++-common/analyzer/call-summaries-malloc.c
+++ b/gcc/testsuite/c-c++-common/analyzer/call-summaries-malloc.c
@@ -1,4 +1,5 @@
/* { dg-additional-options "-fanalyzer-call-summaries --param analyzer-min-snodes-for-call-summary=0" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
/* There need to be at least two calls to a function for the
call-summarization code to be used.
diff --git a/gcc/testsuite/c-c++-common/analyzer/callbacks-1.c b/gcc/testsuite/c-c++-common/analyzer/callbacks-1.c
index 52c8fde..763027c 100644
--- a/gcc/testsuite/c-c++-common/analyzer/callbacks-1.c
+++ b/gcc/testsuite/c-c++-common/analyzer/callbacks-1.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
+
/* Reproducer for PR analyzer/97258: we should report the double-free
inside a static callback if the callback escapes. */
diff --git a/gcc/testsuite/c-c++-common/analyzer/callbacks-2.c b/gcc/testsuite/c-c++-common/analyzer/callbacks-2.c
index 98915ee..7721873 100644
--- a/gcc/testsuite/c-c++-common/analyzer/callbacks-2.c
+++ b/gcc/testsuite/c-c++-common/analyzer/callbacks-2.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
+
/* Reproducer for PR analyzer/97258: we should report the double-free
inside a static callback if the callback is accessible via a global
initializer. */
diff --git a/gcc/testsuite/c-c++-common/analyzer/capacity-1.c b/gcc/testsuite/c-c++-common/analyzer/capacity-1.c
index cfee115..76905a6 100644
--- a/gcc/testsuite/c-c++-common/analyzer/capacity-1.c
+++ b/gcc/testsuite/c-c++-common/analyzer/capacity-1.c
@@ -1,5 +1,6 @@
/* { dg-require-effective-target alloca } */
/* { dg-skip-if "" { powerpc*-*-aix* } } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
#include "../../gcc.dg/analyzer/analyzer-decls.h"
diff --git a/gcc/testsuite/c-c++-common/analyzer/capacity-2.c b/gcc/testsuite/c-c++-common/analyzer/capacity-2.c
index fbdb61a..7d2de4e 100644
--- a/gcc/testsuite/c-c++-common/analyzer/capacity-2.c
+++ b/gcc/testsuite/c-c++-common/analyzer/capacity-2.c
@@ -1,4 +1,5 @@
/* { dg-skip-if "" { powerpc*-*-aix* } } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib size_t" { ! hostedlib } } */
#include <stdlib.h>
#include "analyzer-decls.h"
diff --git a/gcc/testsuite/c-c++-common/analyzer/capacity-3.c b/gcc/testsuite/c-c++-common/analyzer/capacity-3.c
index c099ff5..2fcf707 100644
--- a/gcc/testsuite/c-c++-common/analyzer/capacity-3.c
+++ b/gcc/testsuite/c-c++-common/analyzer/capacity-3.c
@@ -1,4 +1,5 @@
/* { dg-require-effective-target alloca } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib size_t" { ! hostedlib } } */
#include <stdlib.h>
#include "analyzer-decls.h"
diff --git a/gcc/testsuite/c-c++-common/analyzer/compound-assignment-1.c b/gcc/testsuite/c-c++-common/analyzer/compound-assignment-1.c
index b7389e2..9ff95d3 100644
--- a/gcc/testsuite/c-c++-common/analyzer/compound-assignment-1.c
+++ b/gcc/testsuite/c-c++-common/analyzer/compound-assignment-1.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
struct ptr_wrapper
diff --git a/gcc/testsuite/c-c++-common/analyzer/data-model-14.c b/gcc/testsuite/c-c++-common/analyzer/data-model-14.c
index 1dbcb70..9400ae2 100644
--- a/gcc/testsuite/c-c++-common/analyzer/data-model-14.c
+++ b/gcc/testsuite/c-c++-common/analyzer/data-model-14.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
void *global_ptr;
diff --git a/gcc/testsuite/c-c++-common/analyzer/data-model-20.c b/gcc/testsuite/c-c++-common/analyzer/data-model-20.c
index 59f6285..dd7996b 100644
--- a/gcc/testsuite/c-c++-common/analyzer/data-model-20.c
+++ b/gcc/testsuite/c-c++-common/analyzer/data-model-20.c
@@ -1,4 +1,5 @@
/* { dg-additional-options "-Wno-analyzer-too-complex" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/data-model-5d.c b/gcc/testsuite/c-c++-common/analyzer/data-model-5d.c
index b4d77a9..a86d506 100644
--- a/gcc/testsuite/c-c++-common/analyzer/data-model-5d.c
+++ b/gcc/testsuite/c-c++-common/analyzer/data-model-5d.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
/* A toy re-implementation of CPython's object model. */
#include <stddef.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/disabling.c b/gcc/testsuite/c-c++-common/analyzer/disabling.c
index a696d1e..6f3a50e 100644
--- a/gcc/testsuite/c-c++-common/analyzer/disabling.c
+++ b/gcc/testsuite/c-c++-common/analyzer/disabling.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
+
/* Verify that we can override -fanalyzer with -fno-analyzer. */
/* { dg-additional-options "-fno-analyzer" } */
diff --git a/gcc/testsuite/c-c++-common/analyzer/dump-state.c b/gcc/testsuite/c-c++-common/analyzer/dump-state.c
index 618a5a9..09490be 100644
--- a/gcc/testsuite/c-c++-common/analyzer/dump-state.c
+++ b/gcc/testsuite/c-c++-common/analyzer/dump-state.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
/* Verify that __analyzer_dump_state works as expected. */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/edges-2.c b/gcc/testsuite/c-c++-common/analyzer/edges-2.c
index 847a708..7e4543c 100644
--- a/gcc/testsuite/c-c++-common/analyzer/edges-2.c
+++ b/gcc/testsuite/c-c++-common/analyzer/edges-2.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
int foo ();
diff --git a/gcc/testsuite/c-c++-common/analyzer/first-field-2.c b/gcc/testsuite/c-c++-common/analyzer/first-field-2.c
index 8661e6e..52b9df2 100644
--- a/gcc/testsuite/c-c++-common/analyzer/first-field-2.c
+++ b/gcc/testsuite/c-c++-common/analyzer/first-field-2.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
/* A toy re-implementation of CPython's object model. */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/flex-with-call-summaries.c b/gcc/testsuite/c-c++-common/analyzer/flex-with-call-summaries.c
index cbb953a..b4124c9 100644
--- a/gcc/testsuite/c-c++-common/analyzer/flex-with-call-summaries.c
+++ b/gcc/testsuite/c-c++-common/analyzer/flex-with-call-summaries.c
@@ -7,6 +7,7 @@
/* { dg-additional-options "-Wno-analyzer-too-complex" } */
/* { dg-additional-options "-Wno-analyzer-symbol-too-complex" } */
/* { dg-additional-options "-D_POSIX_SOURCE" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
/* A lexical scanner generated by flex */
diff --git a/gcc/testsuite/c-c++-common/analyzer/flex-without-call-summaries.c b/gcc/testsuite/c-c++-common/analyzer/flex-without-call-summaries.c
index c6ecb25d..092d784 100644
--- a/gcc/testsuite/c-c++-common/analyzer/flex-without-call-summaries.c
+++ b/gcc/testsuite/c-c++-common/analyzer/flex-without-call-summaries.c
@@ -6,6 +6,8 @@
/* { dg-additional-options "-Wno-analyzer-too-complex" } */
/* { dg-additional-options "-D_POSIX_SOURCE" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
/* A lexical scanner generated by flex */
diff --git a/gcc/testsuite/c-c++-common/analyzer/flexible-array-member-1.c b/gcc/testsuite/c-c++-common/analyzer/flexible-array-member-1.c
index d794336..72df154 100644
--- a/gcc/testsuite/c-c++-common/analyzer/flexible-array-member-1.c
+++ b/gcc/testsuite/c-c++-common/analyzer/flexible-array-member-1.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include <string.h>
#include "../../gcc.dg/analyzer/analyzer-decls.h"
diff --git a/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c b/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c
index 0a1e845..76f5bd0 100644
--- a/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c
+++ b/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
+
#include <stdlib.h>
#include "../../gcc.dg/analyzer/analyzer-decls.h"
diff --git a/gcc/testsuite/c-c++-common/analyzer/function-ptr-3.c b/gcc/testsuite/c-c++-common/analyzer/function-ptr-3.c
index 348ee4a..62ba89e 100644
--- a/gcc/testsuite/c-c++-common/analyzer/function-ptr-3.c
+++ b/gcc/testsuite/c-c++-common/analyzer/function-ptr-3.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib size_t" { ! hostedlib } } */
+
#include <stdlib.h>
typedef void *(*alloc_func_t) (size_t);
diff --git a/gcc/testsuite/c-c++-common/analyzer/function-ptr-4.c b/gcc/testsuite/c-c++-common/analyzer/function-ptr-4.c
index 016351a..1ba080d 100644
--- a/gcc/testsuite/c-c++-common/analyzer/function-ptr-4.c
+++ b/gcc/testsuite/c-c++-common/analyzer/function-ptr-4.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
+
/* Test to see if the analyzer detect and analyze calls via
function pointers or not. */
diff --git a/gcc/testsuite/c-c++-common/analyzer/gzio.c b/gcc/testsuite/c-c++-common/analyzer/gzio.c
index 54efa77..4351170 100644
--- a/gcc/testsuite/c-c++-common/analyzer/gzio.c
+++ b/gcc/testsuite/c-c++-common/analyzer/gzio.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
typedef struct z_stream_s {
unsigned char *next_out;
diff --git a/gcc/testsuite/c-c++-common/analyzer/imprecise-floating-point-1.c b/gcc/testsuite/c-c++-common/analyzer/imprecise-floating-point-1.c
index cbe2658..b093a3c 100644
--- a/gcc/testsuite/c-c++-common/analyzer/imprecise-floating-point-1.c
+++ b/gcc/testsuite/c-c++-common/analyzer/imprecise-floating-point-1.c
@@ -1,4 +1,5 @@
/* { dg-require-effective-target alloca } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/leak-2.c b/gcc/testsuite/c-c++-common/analyzer/leak-2.c
index d12850c..3bba413 100644
--- a/gcc/testsuite/c-c++-common/analyzer/leak-2.c
+++ b/gcc/testsuite/c-c++-common/analyzer/leak-2.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include "../../gcc.dg/analyzer/analyzer-decls.h"
diff --git a/gcc/testsuite/c-c++-common/analyzer/leak-3.c b/gcc/testsuite/c-c++-common/analyzer/leak-3.c
index d11cc03..a386d88 100644
--- a/gcc/testsuite/c-c++-common/analyzer/leak-3.c
+++ b/gcc/testsuite/c-c++-common/analyzer/leak-3.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
/* Reduced from Juliet 1.3's CWE415_Double_Free__malloc_free_char_67a.c
diff --git a/gcc/testsuite/c-c++-common/analyzer/leak-4.c b/gcc/testsuite/c-c++-common/analyzer/leak-4.c
index ba5f2d2..5ee3c31 100644
--- a/gcc/testsuite/c-c++-common/analyzer/leak-4.c
+++ b/gcc/testsuite/c-c++-common/analyzer/leak-4.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
/* Various tests of memory leak detection. */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/loop-0-up-to-n-by-1-with-iter-obj.c b/gcc/testsuite/c-c++-common/analyzer/loop-0-up-to-n-by-1-with-iter-obj.c
index 1b65769..e169cd4 100644
--- a/gcc/testsuite/c-c++-common/analyzer/loop-0-up-to-n-by-1-with-iter-obj.c
+++ b/gcc/testsuite/c-c++-common/analyzer/loop-0-up-to-n-by-1-with-iter-obj.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include "../../gcc.dg/analyzer/analyzer-decls.h"
diff --git a/gcc/testsuite/c-c++-common/analyzer/loop-3.c b/gcc/testsuite/c-c++-common/analyzer/loop-3.c
index 0bcf707..a07f0f4 100644
--- a/gcc/testsuite/c-c++-common/analyzer/loop-3.c
+++ b/gcc/testsuite/c-c++-common/analyzer/loop-3.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
void test(int c)
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-3.c b/gcc/testsuite/c-c++-common/analyzer/malloc-3.c
index f4e647b..becdafa 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-3.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-3.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
/* Don't complain about leaks due to exiting from "main". */
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-5.c b/gcc/testsuite/c-c++-common/analyzer/malloc-5.c
index 3b2a452..af7aca8 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-5.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-5.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
void test (void)
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-CWE-401-example.c b/gcc/testsuite/c-c++-common/analyzer/malloc-CWE-401-example.c
index cfb5e86..4caa5a0 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-CWE-401-example.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-CWE-401-example.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
/* Example adapted from https://cwe.mitre.org/data/definitions/401.html
which states "Copyright © 2006–2022, The MITRE Corporation. CWE, CWSS, CWRAF, and the CWE logo are trademarks of The MITRE Corporation."
and which has this on:
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-CWE-415-examples.c b/gcc/testsuite/c-c++-common/analyzer/malloc-CWE-415-examples.c
index 51d878a..4fb2788 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-CWE-415-examples.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-CWE-415-examples.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
/* Example adapted from https://cwe.mitre.org/data/definitions/415.html
which states "Copyright © 2006–2022, The MITRE Corporation. CWE, CWSS, CWRAF, and the CWE logo are trademarks of The MITRE Corporation."
and which has this on:
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-CWE-416-examples.c b/gcc/testsuite/c-c++-common/analyzer/malloc-CWE-416-examples.c
index 3f5e5e2..bf8878c 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-CWE-416-examples.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-CWE-416-examples.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
/* Examples adapted from https://cwe.mitre.org/data/definitions/416.html
which states "Copyright © 2006–2022, The MITRE Corporation. CWE, CWSS, CWRAF, and the CWE logo are trademarks of The MITRE Corporation."
and which has this on:
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-CWE-590-examples.c b/gcc/testsuite/c-c++-common/analyzer/malloc-CWE-590-examples.c
index 11ab017..f9d2da1 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-CWE-590-examples.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-CWE-590-examples.c
@@ -1,5 +1,6 @@
/* { dg-additional-options "-Wno-free-nonheap-object" } */
/* { dg-require-effective-target size32plus } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
/* Examples adapted from https://cwe.mitre.org/data/definitions/590.html
which states "Copyright © 2006–2022, The MITRE Corporation. CWE, CWSS, CWRAF, and the CWE logo are trademarks of The MITRE Corporation."
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-callbacks.c b/gcc/testsuite/c-c++-common/analyzer/malloc-callbacks.c
index ccd6c01..0ba4f38 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-callbacks.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-callbacks.c
@@ -1,4 +1,5 @@
/* { dg-require-effective-target alloca } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-dce.c b/gcc/testsuite/c-c++-common/analyzer/malloc-dce.c
index 1b4b878..7f5ec67 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-dce.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-dce.c
@@ -1,4 +1,5 @@
/* { dg-additional-options "-O2" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-dedupe-1.c b/gcc/testsuite/c-c++-common/analyzer/malloc-dedupe-1.c
index 233ab48..8653c67 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-dedupe-1.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-dedupe-1.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
extern void foo (void);
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-in-loop.c b/gcc/testsuite/c-c++-common/analyzer/malloc-in-loop.c
index b107157..e7179f0 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-in-loop.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-in-loop.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include "../../gcc.dg/analyzer/analyzer-decls.h"
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-1.c b/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-1.c
index ad536ce..ee6e0e0 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-1.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-1.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
void *
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-10.c b/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-10.c
index f3a5be5..e3d4f6a 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-10.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-10.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
+
#include <stdlib.h>
void
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-11.c b/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-11.c
index 6050103..e1bd584 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-11.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-11.c
@@ -1,4 +1,5 @@
/* { dg-additional-options "-fdiagnostics-show-line-numbers -fdiagnostics-path-format=inline-events -fdiagnostics-show-caret" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
/* { dg-enable-nn-line-numbers "" } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-12.c b/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-12.c
index 3813c9a..6bdbcc47 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-12.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-12.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
+
#include <stdlib.h>
void recursive_free (void *ptr)
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-13a.c b/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-13a.c
index d74ef59..0b5304e 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-13a.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-13a.c
@@ -1,4 +1,5 @@
/* { dg-additional-options "-fanalyzer-verbosity=1" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-2.c b/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-2.c
index 800dd63..f2496c3 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-2.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-2.c
@@ -1,4 +1,5 @@
/* { dg-additional-options "-fanalyzer-verbosity=1" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-3.c b/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-3.c
index 3dcfae8..7ff42b8 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-3.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-3.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
void *
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-4.c b/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-4.c
index bd03d60..535979c 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-4.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-4.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
+
#include <stdlib.h>
static void calls_free(int *q)
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-5.c b/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-5.c
index ca8e6a5..5c1cc1a 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-5.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-5.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
static int *calls_malloc(void)
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-6.c b/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-6.c
index 62f8b55..ad22a36 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-6.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-6.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
void *
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-7.c b/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-7.c
index 1fe70dd..b80ae03 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-7.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-7.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
+
#include <stdlib.h>
/**************************************************************************/
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-9.c b/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-9.c
index a0c78fd..455f6ec 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-9.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-ipa-9.c
@@ -1,4 +1,5 @@
/* { dg-additional-options "-fdiagnostics-path-format=none -fanalyzer-verbosity=1" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-macro-inline-events.c b/gcc/testsuite/c-c++-common/analyzer/malloc-macro-inline-events.c
index 8620bc9..8e71c41 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-macro-inline-events.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-macro-inline-events.c
@@ -1,6 +1,7 @@
/* Test path-printing in the face of macros. */
/* { dg-additional-options "-fdiagnostics-show-line-numbers -fdiagnostics-path-format=inline-events -fdiagnostics-show-caret" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
/* { dg-enable-nn-line-numbers "" } */
#include "malloc-macro.h"
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-macro-separate-events.c b/gcc/testsuite/c-c++-common/analyzer/malloc-macro-separate-events.c
index 647b29c..2ab169e 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-macro-separate-events.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-macro-separate-events.c
@@ -1,6 +1,7 @@
/* Test path-printing in the face of macros. */
/* { dg-additional-options "-fdiagnostics-path-format=separate-events" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
#include "malloc-macro.h"
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-many-paths-3.c b/gcc/testsuite/c-c++-common/analyzer/malloc-many-paths-3.c
index e5d27a4..6ee30f3 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-many-paths-3.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-many-paths-3.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
extern int foo (void);
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-meaning-1.c b/gcc/testsuite/c-c++-common/analyzer/malloc-meaning-1.c
index 4964e25..a0bc30a 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-meaning-1.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-meaning-1.c
@@ -1,4 +1,5 @@
/* { dg-additional-options "-fanalyzer-verbose-state-changes" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-paths-1.c b/gcc/testsuite/c-c++-common/analyzer/malloc-paths-1.c
index 0436928..2c09c11 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-paths-1.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-paths-1.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
/* Verify that we emit sane paths for state machine errors. */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-paths-2.c b/gcc/testsuite/c-c++-common/analyzer/malloc-paths-2.c
index 27098da..af57085 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-paths-2.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-paths-2.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
+
/* Verify that we emit sane paths for state machine errors. */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-paths-3.c b/gcc/testsuite/c-c++-common/analyzer/malloc-paths-3.c
index 8f9e4cf..22fabbd 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-paths-3.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-paths-3.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
/* Verify that we emit sane paths for state machine errors. */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-paths-4.c b/gcc/testsuite/c-c++-common/analyzer/malloc-paths-4.c
index 7b7803e..6976fce 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-paths-4.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-paths-4.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
/* Verify that we emit sane paths for state machine errors. */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-paths-5.c b/gcc/testsuite/c-c++-common/analyzer/malloc-paths-5.c
index ca8d22b..f03f978 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-paths-5.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-paths-5.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdio.h>
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-paths-6.c b/gcc/testsuite/c-c++-common/analyzer/malloc-paths-6.c
index 1df6964..dfed45d 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-paths-6.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-paths-6.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
+
#include <stdlib.h>
void test (void *ptr)
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-paths-7.c b/gcc/testsuite/c-c++-common/analyzer/malloc-paths-7.c
index f6b99e3..766bbe7 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-paths-7.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-paths-7.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
extern int foo (void);
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-paths-8.c b/gcc/testsuite/c-c++-common/analyzer/malloc-paths-8.c
index 4988f53..ca48834 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-paths-8.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-paths-8.c
@@ -1,5 +1,6 @@
/* { dg-additional-options "-fanalyzer-transitivity" } */
/* { dg-require-effective-target alloca } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stddef.h>
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-paths-9-noexcept.c b/gcc/testsuite/c-c++-common/analyzer/malloc-paths-9-noexcept.c
index 57d25f4..fc453b1 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-paths-9-noexcept.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-paths-9-noexcept.c
@@ -1,4 +1,5 @@
/* { dg-additional-options "-fdiagnostics-show-line-numbers -fdiagnostics-path-format=inline-events -fdiagnostics-show-caret -fno-exceptions" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
/* { dg-enable-nn-line-numbers "" } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-sarif-1.c b/gcc/testsuite/c-c++-common/analyzer/malloc-sarif-1.c
index 19ac89f..cee6788 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-sarif-1.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-sarif-1.c
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-additional-options " -fno-diagnostics-json-formatting -fdiagnostics-format=sarif-file" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-vs-local-1a.c b/gcc/testsuite/c-c++-common/analyzer/malloc-vs-local-1a.c
index bf77862..4e40833 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-vs-local-1a.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-vs-local-1a.c
@@ -1,4 +1,5 @@
/* { dg-additional-options "-fno-analyzer-call-summaries -fanalyzer-transitivity" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
#include "analyzer-decls.h"
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-vs-local-1b.c b/gcc/testsuite/c-c++-common/analyzer/malloc-vs-local-1b.c
index a30b8c0..f4d6311 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-vs-local-1b.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-vs-local-1b.c
@@ -1,4 +1,5 @@
/* { dg-additional-options "-fanalyzer-call-summaries" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
#include "analyzer-decls.h"
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-vs-local-2.c b/gcc/testsuite/c-c++-common/analyzer/malloc-vs-local-2.c
index 9001fe6..36ec510 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-vs-local-2.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-vs-local-2.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include "analyzer-decls.h"
diff --git a/gcc/testsuite/c-c++-common/analyzer/malloc-vs-local-3.c b/gcc/testsuite/c-c++-common/analyzer/malloc-vs-local-3.c
index 0196389..70b3edd 100644
--- a/gcc/testsuite/c-c++-common/analyzer/malloc-vs-local-3.c
+++ b/gcc/testsuite/c-c++-common/analyzer/malloc-vs-local-3.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include "analyzer-decls.h"
diff --git a/gcc/testsuite/c-c++-common/analyzer/out-of-bounds-1.c b/gcc/testsuite/c-c++-common/analyzer/out-of-bounds-1.c
index 868b8ee..16b2271 100644
--- a/gcc/testsuite/c-c++-common/analyzer/out-of-bounds-1.c
+++ b/gcc/testsuite/c-c++-common/analyzer/out-of-bounds-1.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/out-of-bounds-2.c b/gcc/testsuite/c-c++-common/analyzer/out-of-bounds-2.c
index e696146..0e1aba5 100644
--- a/gcc/testsuite/c-c++-common/analyzer/out-of-bounds-2.c
+++ b/gcc/testsuite/c-c++-common/analyzer/out-of-bounds-2.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/out-of-bounds-diagram-3.c b/gcc/testsuite/c-c++-common/analyzer/out-of-bounds-diagram-3.c
index 43df956..e75ce12 100644
--- a/gcc/testsuite/c-c++-common/analyzer/out-of-bounds-diagram-3.c
+++ b/gcc/testsuite/c-c++-common/analyzer/out-of-bounds-diagram-3.c
@@ -2,6 +2,7 @@
{ dg-require-effective-target lp64 } */
/* { dg-additional-options "-fdiagnostics-text-art-charset=unicode" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
#include <string.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/out-of-bounds-diagram-8.c b/gcc/testsuite/c-c++-common/analyzer/out-of-bounds-diagram-8.c
index 81cd4ff..c8ff2fd 100644
--- a/gcc/testsuite/c-c++-common/analyzer/out-of-bounds-diagram-8.c
+++ b/gcc/testsuite/c-c++-common/analyzer/out-of-bounds-diagram-8.c
@@ -1,4 +1,5 @@
/* { dg-additional-options "-fdiagnostics-text-art-charset=unicode" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib size_t" { ! hostedlib } } */
#include <stdlib.h>
#include <stdint.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/paths-3.c b/gcc/testsuite/c-c++-common/analyzer/paths-3.c
index b5ab810..1a4a813 100644
--- a/gcc/testsuite/c-c++-common/analyzer/paths-3.c
+++ b/gcc/testsuite/c-c++-common/analyzer/paths-3.c
@@ -1,4 +1,5 @@
/* { dg-additional-options "-fanalyzer-transitivity" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
#include "analyzer-decls.h"
diff --git a/gcc/testsuite/c-c++-common/analyzer/paths-6.c b/gcc/testsuite/c-c++-common/analyzer/paths-6.c
index ef1a4e6..766db4c 100644
--- a/gcc/testsuite/c-c++-common/analyzer/paths-6.c
+++ b/gcc/testsuite/c-c++-common/analyzer/paths-6.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include "analyzer-decls.h"
diff --git a/gcc/testsuite/c-c++-common/analyzer/paths-7.c b/gcc/testsuite/c-c++-common/analyzer/paths-7.c
index 8caaee8..2743de5 100644
--- a/gcc/testsuite/c-c++-common/analyzer/paths-7.c
+++ b/gcc/testsuite/c-c++-common/analyzer/paths-7.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include "analyzer-decls.h"
diff --git a/gcc/testsuite/c-c++-common/analyzer/pr103526.c b/gcc/testsuite/c-c++-common/analyzer/pr103526.c
index 0388fc1..ce8fa22 100644
--- a/gcc/testsuite/c-c++-common/analyzer/pr103526.c
+++ b/gcc/testsuite/c-c++-common/analyzer/pr103526.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include <string.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/pr106539.c b/gcc/testsuite/c-c++-common/analyzer/pr106539.c
index 8745c1d..1f49f91 100644
--- a/gcc/testsuite/c-c++-common/analyzer/pr106539.c
+++ b/gcc/testsuite/c-c++-common/analyzer/pr106539.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
void *test (void)
diff --git a/gcc/testsuite/c-c++-common/analyzer/pr93290.c b/gcc/testsuite/c-c++-common/analyzer/pr93290.c
index fa35629..4fcc4cb 100644
--- a/gcc/testsuite/c-c++-common/analyzer/pr93290.c
+++ b/gcc/testsuite/c-c++-common/analyzer/pr93290.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for cmath" { ! hostedlib } } */
+
#include <math.h>
int test_1 (void)
diff --git a/gcc/testsuite/c-c++-common/analyzer/pr94399.c b/gcc/testsuite/c-c++-common/analyzer/pr94399.c
index e897c04..70270c3 100644
--- a/gcc/testsuite/c-c++-common/analyzer/pr94399.c
+++ b/gcc/testsuite/c-c++-common/analyzer/pr94399.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
+
#include <stdlib.h>
#define _cleanup_(f) __attribute__((cleanup(f)))
diff --git a/gcc/testsuite/c-c++-common/analyzer/pr94851-1.c b/gcc/testsuite/c-c++-common/analyzer/pr94851-1.c
index 7407efa..dc2bc3a 100644
--- a/gcc/testsuite/c-c++-common/analyzer/pr94851-1.c
+++ b/gcc/testsuite/c-c++-common/analyzer/pr94851-1.c
@@ -1,5 +1,6 @@
/* { dg-skip-if "" { powerpc*-*-aix* } } */
/* { dg-additional-options "-O2" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdio.h>
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/pr94851-2.c b/gcc/testsuite/c-c++-common/analyzer/pr94851-2.c
index 62176bd..af838de 100644
--- a/gcc/testsuite/c-c++-common/analyzer/pr94851-2.c
+++ b/gcc/testsuite/c-c++-common/analyzer/pr94851-2.c
@@ -2,6 +2,7 @@
an unknown function (PR analyzer/98575). */
/* { dg-additional-options "-O2" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdio.h>
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/pr94851-4.c b/gcc/testsuite/c-c++-common/analyzer/pr94851-4.c
index a5130c5..d05d458 100644
--- a/gcc/testsuite/c-c++-common/analyzer/pr94851-4.c
+++ b/gcc/testsuite/c-c++-common/analyzer/pr94851-4.c
@@ -1,4 +1,5 @@
/* { dg-additional-options "-O2 -Wno-analyzer-symbol-too-complex" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/pr97608.c b/gcc/testsuite/c-c++-common/analyzer/pr97608.c
index a2bc130..ddfa009 100644
--- a/gcc/testsuite/c-c++-common/analyzer/pr97608.c
+++ b/gcc/testsuite/c-c++-common/analyzer/pr97608.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
void *f (void)
diff --git a/gcc/testsuite/c-c++-common/analyzer/pr98918.c b/gcc/testsuite/c-c++-common/analyzer/pr98918.c
index c3bbce3..eddc4e3 100644
--- a/gcc/testsuite/c-c++-common/analyzer/pr98918.c
+++ b/gcc/testsuite/c-c++-common/analyzer/pr98918.c
@@ -1,4 +1,5 @@
/* { dg-additional-options "-Wno-analyzer-symbol-too-complex" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/pr99716-2.c b/gcc/testsuite/c-c++-common/analyzer/pr99716-2.c
index adc9819..ef7cc5f 100644
--- a/gcc/testsuite/c-c++-common/analyzer/pr99716-2.c
+++ b/gcc/testsuite/c-c++-common/analyzer/pr99716-2.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib rand" { ! hostedlib } } */
+
/* Reduced from
https://github.com/libguestfs/libguestfs/blob/e0a11061035d47b118c95706240bcc17fd576edc/tests/mount-local/test-parallel-mount-local.c#L299-L335
which is GPLv2 or later. */
diff --git a/gcc/testsuite/c-c++-common/analyzer/pr99716-3.c b/gcc/testsuite/c-c++-common/analyzer/pr99716-3.c
index 77d450e..414d57e 100644
--- a/gcc/testsuite/c-c++-common/analyzer/pr99716-3.c
+++ b/gcc/testsuite/c-c++-common/analyzer/pr99716-3.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
extern void foo (void *);
diff --git a/gcc/testsuite/c-c++-common/analyzer/pragma-1.c b/gcc/testsuite/c-c++-common/analyzer/pragma-1.c
index 2e53348..821266a 100644
--- a/gcc/testsuite/c-c++-common/analyzer/pragma-1.c
+++ b/gcc/testsuite/c-c++-common/analyzer/pragma-1.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
+
/* Verify that we can disable analyzer warnings via pragmas. */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/pragma-2.c b/gcc/testsuite/c-c++-common/analyzer/pragma-2.c
index 2453223..bd96a25 100644
--- a/gcc/testsuite/c-c++-common/analyzer/pragma-2.c
+++ b/gcc/testsuite/c-c++-common/analyzer/pragma-2.c
@@ -1,6 +1,7 @@
/* { dg-skip-if "" { powerpc*-*-aix* } } */
/* Verify that we can disable -Wanalyzer-too-complex via pragmas. */
/* { dg-additional-options "-Wanalyzer-too-complex -Werror=analyzer-too-complex -fno-analyzer-state-merge -g" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/sarif-path-role.c b/gcc/testsuite/c-c++-common/analyzer/sarif-path-role.c
index d0f6cef..c559277 100644
--- a/gcc/testsuite/c-c++-common/analyzer/sarif-path-role.c
+++ b/gcc/testsuite/c-c++-common/analyzer/sarif-path-role.c
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-additional-options " -fno-diagnostics-json-formatting -fdiagnostics-format=sarif-file" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/scope-1.c b/gcc/testsuite/c-c++-common/analyzer/scope-1.c
index 09e62d4..7e53a19 100644
--- a/gcc/testsuite/c-c++-common/analyzer/scope-1.c
+++ b/gcc/testsuite/c-c++-common/analyzer/scope-1.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
int test_1 (void)
diff --git a/gcc/testsuite/c-c++-common/analyzer/strndup-1.c b/gcc/testsuite/c-c++-common/analyzer/strndup-1.c
index 577ece0..3f90afe 100644
--- a/gcc/testsuite/c-c++-common/analyzer/strndup-1.c
+++ b/gcc/testsuite/c-c++-common/analyzer/strndup-1.c
@@ -1,5 +1,6 @@
/* { dg-skip-if "no strndup in libc" { *-*-darwin[789]* *-*-darwin10* hppa*-*-hpux* *-*-mingw* *-*-vxworks* } } */
/* { dg-additional-options "-D_POSIX_C_SOURCE=200809L" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
#include <string.h>
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/taint-alloc-3.c b/gcc/testsuite/c-c++-common/analyzer/taint-alloc-3.c
index ce6a327..34bae28 100644
--- a/gcc/testsuite/c-c++-common/analyzer/taint-alloc-3.c
+++ b/gcc/testsuite/c-c++-common/analyzer/taint-alloc-3.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include "analyzer-decls.h"
#include <stdio.h>
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/taint-realloc.c b/gcc/testsuite/c-c++-common/analyzer/taint-realloc.c
index aeefb7d..d5ccb28 100644
--- a/gcc/testsuite/c-c++-common/analyzer/taint-realloc.c
+++ b/gcc/testsuite/c-c++-common/analyzer/taint-realloc.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib realloc" { ! hostedlib } } */
+
#include "analyzer-decls.h"
#include <stdio.h>
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/analyzer/use-after-free-3.c b/gcc/testsuite/c-c++-common/analyzer/use-after-free-3.c
index b19fd3d..d8eeb17 100644
--- a/gcc/testsuite/c-c++-common/analyzer/use-after-free-3.c
+++ b/gcc/testsuite/c-c++-common/analyzer/use-after-free-3.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
void test_1 (int x, int y, int *out)
diff --git a/gcc/testsuite/c-c++-common/analyzer/zlib-4.c b/gcc/testsuite/c-c++-common/analyzer/zlib-4.c
index ae2f6c9..32d5991 100644
--- a/gcc/testsuite/c-c++-common/analyzer/zlib-4.c
+++ b/gcc/testsuite/c-c++-common/analyzer/zlib-4.c
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for stdlib calloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include <string.h>
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-counter-vars-function-scope.c b/gcc/testsuite/c-c++-common/goacc/kernels-counter-vars-function-scope.c
index bce17a1..dedf848 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-counter-vars-function-scope.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-counter-vars-function-scope.c
@@ -1,6 +1,7 @@
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-2.c b/gcc/testsuite/c-c++-common/goacc/kernels-loop-2.c
index 456a954..9d3d6b3 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-loop-2.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-2.c
@@ -1,6 +1,7 @@
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-3.c b/gcc/testsuite/c-c++-common/goacc/kernels-loop-3.c
index ef0c481..24e5d02 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-loop-3.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-3.c
@@ -1,6 +1,7 @@
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-2.c b/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-2.c
index a640078..a9bae83 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-2.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-2.c
@@ -1,6 +1,7 @@
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-enter-exit-2.c b/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-enter-exit-2.c
index d46bba8..aeeeb51 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-enter-exit-2.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-enter-exit-2.c
@@ -1,6 +1,7 @@
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-enter-exit.c b/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-enter-exit.c
index 6698980..843c5a7 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-enter-exit.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-enter-exit.c
@@ -1,6 +1,7 @@
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-update.c b/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-update.c
index 9c6997f..57e440f 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-update.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-update.c
@@ -1,6 +1,7 @@
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-data.c b/gcc/testsuite/c-c++-common/goacc/kernels-loop-data.c
index 0ef5765..896b456 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-loop-data.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-data.c
@@ -1,6 +1,7 @@
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-g.c b/gcc/testsuite/c-c++-common/goacc/kernels-loop-g.c
index cf9f1ee..6b89b3b 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-loop-g.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-g.c
@@ -5,6 +5,7 @@
/*TODO PR100400 { dg-additional-options -fcompare-debug } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include "kernels-loop.c"
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-mod-not-zero.c b/gcc/testsuite/c-c++-common/goacc/kernels-loop-mod-not-zero.c
index eea9a73..f2787d0 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-loop-mod-not-zero.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-mod-not-zero.c
@@ -1,6 +1,7 @@
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-n.c b/gcc/testsuite/c-c++-common/goacc/kernels-loop-n.c
index a63ed8a..caa0572 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-loop-n.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-n.c
@@ -1,6 +1,7 @@
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop.c b/gcc/testsuite/c-c++-common/goacc/kernels-loop.c
index 2602081..75cbeed 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-loop.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop.c
@@ -1,6 +1,7 @@
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-one-counter-var.c b/gcc/testsuite/c-c++-common/goacc/kernels-one-counter-var.c
index 0d9c875..67c19ec 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-one-counter-var.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-one-counter-var.c
@@ -1,6 +1,7 @@
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-parallel-loop-data-enter-exit.c b/gcc/testsuite/c-c++-common/goacc/kernels-parallel-loop-data-enter-exit.c
index 1dcd32f..b2ba14d 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-parallel-loop-data-enter-exit.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-parallel-loop-data-enter-exit.c
@@ -1,6 +1,7 @@
/* { dg-additional-options "-O2" } */
/* { dg-additional-options "-fdump-tree-parloops1-all" } */
/* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/gomp/pr103642.c b/gcc/testsuite/c-c++-common/gomp/pr103642.c
index bbd0896..bc6d7ac 100644
--- a/gcc/testsuite/c-c++-common/gomp/pr103642.c
+++ b/gcc/testsuite/c-c++-common/gomp/pr103642.c
@@ -1,5 +1,6 @@
/* PR middle-end/103642 */
/* { dg-do compile } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/gomp/target-implicit-map-2.c b/gcc/testsuite/c-c++-common/gomp/target-implicit-map-2.c
index 222272d..b3df466 100644
--- a/gcc/testsuite/c-c++-common/gomp/target-implicit-map-2.c
+++ b/gcc/testsuite/c-c++-common/gomp/target-implicit-map-2.c
@@ -1,5 +1,7 @@
/* { dg-do compile } */
/* { dg-additional-options "-fdump-tree-gimple" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#define N 10
diff --git a/gcc/testsuite/c-c++-common/pr36513-2.c b/gcc/testsuite/c-c++-common/pr36513-2.c
index d81c81d..ca93f41 100644
--- a/gcc/testsuite/c-c++-common/pr36513-2.c
+++ b/gcc/testsuite/c-c++-common/pr36513-2.c
@@ -1,6 +1,7 @@
/* PR 36513: -Wlogical-op warns about strchr */
/* { dg-do compile } */
/* { dg-options "-Wlogical-op" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } } */
#ifdef __cplusplus
#include <cstring>
#else
diff --git a/gcc/testsuite/c-c++-common/simulate-thread/bitfields-4.c b/gcc/testsuite/c-c++-common/simulate-thread/bitfields-4.c
index 84aad5e..6ee91aa 100644
--- a/gcc/testsuite/c-c++-common/simulate-thread/bitfields-4.c
+++ b/gcc/testsuite/c-c++-common/simulate-thread/bitfields-4.c
@@ -1,6 +1,7 @@
/* { dg-do link } */
/* { dg-options "-fno-allow-store-data-races" } */
/* { dg-final { simulate-thread } } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib calloc" { ! hostedlib } } */
#include <stdio.h>
#include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/tm/malloc.c b/gcc/testsuite/c-c++-common/tm/malloc.c
index 4312765..f8ab689 100644
--- a/gcc/testsuite/c-c++-common/tm/malloc.c
+++ b/gcc/testsuite/c-c++-common/tm/malloc.c
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-fgnu-tm -fdump-tree-tmmark" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/g++.dg/abi/mangle36.C b/gcc/testsuite/g++.dg/abi/mangle36.C
index 1acfc87..d0f2b37 100644
--- a/gcc/testsuite/g++.dg/abi/mangle36.C
+++ b/gcc/testsuite/g++.dg/abi/mangle36.C
@@ -1,6 +1,7 @@
// PR c++/41959
// { dg-do compile { target i?86-*-* x86_64-*-* } }
// { dg-options "-mavx -fabi-version=4 -fabi-compat-version=4" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } }
// { dg-final { scan-assembler "_Z1fDv4_f" } }
// { dg-final { scan-assembler "_Z1fDv8_f" } }
diff --git a/gcc/testsuite/g++.dg/abi/mangle40.C b/gcc/testsuite/g++.dg/abi/mangle40.C
index 898565a..98a1ff0 100644
--- a/gcc/testsuite/g++.dg/abi/mangle40.C
+++ b/gcc/testsuite/g++.dg/abi/mangle40.C
@@ -3,6 +3,7 @@
// { dg-require-weak "" }
// { dg-require-alias "" }
// { dg-options "-mavx -Wabi -fabi-version=2 -fabi-compat-version=0" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } }
// { dg-final { scan-assembler "(weak|glob)\[^\n\]*_Z1fIDv4_fEvT_" } }
// { dg-final { scan-assembler "(weak|glob)\[^\n\]*_Z1fIU8__vectorfEvT_" } }
// { dg-final { scan-assembler "(weak|glob)\[^\n\]*_ZN1AIDv4_fE1tE" } }
diff --git a/gcc/testsuite/g++.dg/abi/mangle41.C b/gcc/testsuite/g++.dg/abi/mangle41.C
index 9da72f1..d11f454 100644
--- a/gcc/testsuite/g++.dg/abi/mangle41.C
+++ b/gcc/testsuite/g++.dg/abi/mangle41.C
@@ -1,6 +1,7 @@
// PR c++/41959
// { dg-do compile { target i?86-*-* x86_64-*-* } }
// { dg-options "-mavx -fabi-version=2" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } }
#include <x86intrin.h>
void f(__m128) { } // { dg-message "previous mangling" }
diff --git a/gcc/testsuite/g++.dg/analyzer/cstdlib.C b/gcc/testsuite/g++.dg/analyzer/cstdlib.C
index ec6327b..072ac45 100644
--- a/gcc/testsuite/g++.dg/analyzer/cstdlib.C
+++ b/gcc/testsuite/g++.dg/analyzer/cstdlib.C
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib free" { ! hostedlib } } */
+
#include <cstdlib>
void test_1 (void *ptr)
diff --git a/gcc/testsuite/g++.dg/analyzer/fanalyzer-show-events-in-system-headers-default.C b/gcc/testsuite/g++.dg/analyzer/fanalyzer-show-events-in-system-headers-default.C
index 26f047d..483cefd 100644
--- a/gcc/testsuite/g++.dg/analyzer/fanalyzer-show-events-in-system-headers-default.C
+++ b/gcc/testsuite/g++.dg/analyzer/fanalyzer-show-events-in-system-headers-default.C
@@ -1,4 +1,5 @@
/* { dg-skip-if "no shared_ptr in C++98" { c++98_only } } */
+/* { dg-skip-if "requires hosted libstdc++ for memory shared_ptr" { ! hostedlib } } */
#include <memory>
diff --git a/gcc/testsuite/g++.dg/analyzer/fanalyzer-show-events-in-system-headers-no.C b/gcc/testsuite/g++.dg/analyzer/fanalyzer-show-events-in-system-headers-no.C
index fd0df31..10d220f 100644
--- a/gcc/testsuite/g++.dg/analyzer/fanalyzer-show-events-in-system-headers-no.C
+++ b/gcc/testsuite/g++.dg/analyzer/fanalyzer-show-events-in-system-headers-no.C
@@ -1,5 +1,6 @@
/* { dg-additional-options "-fno-analyzer-show-events-in-system-headers" } */
/* { dg-skip-if "no shared_ptr in C++98" { c++98_only } } */
+/* { dg-skip-if "requires hosted libstdc++ for memory shared_ptr" { ! hostedlib } } */
#include <memory>
diff --git a/gcc/testsuite/g++.dg/analyzer/fanalyzer-show-events-in-system-headers.C b/gcc/testsuite/g++.dg/analyzer/fanalyzer-show-events-in-system-headers.C
index aa964f9..cc177e3 100644
--- a/gcc/testsuite/g++.dg/analyzer/fanalyzer-show-events-in-system-headers.C
+++ b/gcc/testsuite/g++.dg/analyzer/fanalyzer-show-events-in-system-headers.C
@@ -1,5 +1,6 @@
/* { dg-additional-options "-fanalyzer-show-events-in-system-headers" } */
/* { dg-skip-if "no shared_ptr in C++98" { c++98_only } } */
+/* { dg-skip-if "requires hosted libstdc++ for memory shared_ptr" { ! hostedlib } } */
#include <memory>
diff --git a/gcc/testsuite/g++.dg/analyzer/malloc.C b/gcc/testsuite/g++.dg/analyzer/malloc.C
index 76baab9..d4ef831 100644
--- a/gcc/testsuite/g++.dg/analyzer/malloc.C
+++ b/gcc/testsuite/g++.dg/analyzer/malloc.C
@@ -1,4 +1,5 @@
// { dg-do compile }
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
#include <stdlib.h>
diff --git a/gcc/testsuite/g++.dg/analyzer/new-vs-malloc.C b/gcc/testsuite/g++.dg/analyzer/new-vs-malloc.C
index cb0b324..943ffe0 100644
--- a/gcc/testsuite/g++.dg/analyzer/new-vs-malloc.C
+++ b/gcc/testsuite/g++.dg/analyzer/new-vs-malloc.C
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib free" { ! hostedlib } } */
+
#include <cstdlib>
struct s {};
diff --git a/gcc/testsuite/g++.dg/analyzer/placement-new-size.C b/gcc/testsuite/g++.dg/analyzer/placement-new-size.C
index f6c7bd4..6744ad7 100644
--- a/gcc/testsuite/g++.dg/analyzer/placement-new-size.C
+++ b/gcc/testsuite/g++.dg/analyzer/placement-new-size.C
@@ -1,4 +1,5 @@
/* { dg-additional-options "-Wno-placement-new -Wno-analyzer-use-of-uninitialized-value" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <new>
#include <stdlib.h>
diff --git a/gcc/testsuite/g++.dg/analyzer/pr93212.C b/gcc/testsuite/g++.dg/analyzer/pr93212.C
index 1029e8d..0c7c134 100644
--- a/gcc/testsuite/g++.dg/analyzer/pr93212.C
+++ b/gcc/testsuite/g++.dg/analyzer/pr93212.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
auto lol()
diff --git a/gcc/testsuite/g++.dg/analyzer/vfunc-2.C b/gcc/testsuite/g++.dg/analyzer/vfunc-2.C
index 46b68e5..ba2ac65 100644
--- a/gcc/testsuite/g++.dg/analyzer/vfunc-2.C
+++ b/gcc/testsuite/g++.dg/analyzer/vfunc-2.C
@@ -1,3 +1,4 @@
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
#include <cstdio>
#include <cstdlib>
diff --git a/gcc/testsuite/g++.dg/analyzer/vfunc-3.C b/gcc/testsuite/g++.dg/analyzer/vfunc-3.C
index 03d3cdc..aaaf376 100644
--- a/gcc/testsuite/g++.dg/analyzer/vfunc-3.C
+++ b/gcc/testsuite/g++.dg/analyzer/vfunc-3.C
@@ -1,3 +1,5 @@
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
+
#include <cstdlib>
struct A
diff --git a/gcc/testsuite/g++.dg/analyzer/vfunc-5.C b/gcc/testsuite/g++.dg/analyzer/vfunc-5.C
index 2af8465..89e0c93 100644
--- a/gcc/testsuite/g++.dg/analyzer/vfunc-5.C
+++ b/gcc/testsuite/g++.dg/analyzer/vfunc-5.C
@@ -1,4 +1,5 @@
/* { dg-additional-options "-fdiagnostics-show-line-numbers -fdiagnostics-path-format=inline-events -fanalyzer-checker=malloc -fdiagnostics-show-caret" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
/* { dg-enable-nn-line-numbers "" } */
#include <cstdlib>
diff --git a/gcc/testsuite/g++.dg/cdce3.C b/gcc/testsuite/g++.dg/cdce3.C
index 4b547b5..2543317 100644
--- a/gcc/testsuite/g++.dg/cdce3.C
+++ b/gcc/testsuite/g++.dg/cdce3.C
@@ -4,9 +4,9 @@
/* { dg-additional-options "-DLARGE_LONG_DOUBLE" { target large_long_double } } */
/* { dg-additional-options "-DGNU_EXTENSION" { target pow10 } } */
/* { dg-add-options ieee } */
-/* { dg-final { scan-tree-dump "cdce3.C:91: .* function call is shrink-wrapped into error conditions\." "cdce" { target pow10 } } } */
+/* { dg-skip-if "requires hosted libstdc++ for cmath" { ! hostedlib } } */
/* { dg-final { scan-tree-dump "cdce3.C:92: .* function call is shrink-wrapped into error conditions\." "cdce" { target pow10 } } } */
-/* { dg-final { scan-tree-dump "cdce3.C:94: .* function call is shrink-wrapped into error conditions\." "cdce" } } */
+/* { dg-final { scan-tree-dump "cdce3.C:93: .* function call is shrink-wrapped into error conditions\." "cdce" { target pow10 } } } */
/* { dg-final { scan-tree-dump "cdce3.C:95: .* function call is shrink-wrapped into error conditions\." "cdce" } } */
/* { dg-final { scan-tree-dump "cdce3.C:96: .* function call is shrink-wrapped into error conditions\." "cdce" } } */
/* { dg-final { scan-tree-dump "cdce3.C:97: .* function call is shrink-wrapped into error conditions\." "cdce" } } */
@@ -20,6 +20,7 @@
/* { dg-final { scan-tree-dump "cdce3.C:105: .* function call is shrink-wrapped into error conditions\." "cdce" } } */
/* { dg-final { scan-tree-dump "cdce3.C:106: .* function call is shrink-wrapped into error conditions\." "cdce" } } */
/* { dg-final { scan-tree-dump "cdce3.C:107: .* function call is shrink-wrapped into error conditions\." "cdce" } } */
+/* { dg-final { scan-tree-dump "cdce3.C:108: .* function call is shrink-wrapped into error conditions\." "cdce" } } */
#include <stdlib.h>
#include <math.h>
diff --git a/gcc/testsuite/g++.dg/concepts/expression.C b/gcc/testsuite/g++.dg/concepts/expression.C
index 90ee7ce..08d84b4 100644
--- a/gcc/testsuite/g++.dg/concepts/expression.C
+++ b/gcc/testsuite/g++.dg/concepts/expression.C
@@ -1,5 +1,6 @@
// { dg-do run { target c++17 } }
// { dg-options "-fconcepts" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
#include <iostream>
diff --git a/gcc/testsuite/g++.dg/concepts/fn3.C b/gcc/testsuite/g++.dg/concepts/fn3.C
index 546fa7e..f8a992c 100644
--- a/gcc/testsuite/g++.dg/concepts/fn3.C
+++ b/gcc/testsuite/g++.dg/concepts/fn3.C
@@ -1,5 +1,6 @@
// { dg-do compile { target c++17 } }
// { dg-options "-fconcepts" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/concepts/fn9.C b/gcc/testsuite/g++.dg/concepts/fn9.C
index 63c3b5a..7f191e8 100644
--- a/gcc/testsuite/g++.dg/concepts/fn9.C
+++ b/gcc/testsuite/g++.dg/concepts/fn9.C
@@ -1,5 +1,6 @@
// { dg-do compile { target c++17 } }
// { dg-options "-fconcepts" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/concepts/generic-fn.C b/gcc/testsuite/g++.dg/concepts/generic-fn.C
index 9af1794..42a5302 100644
--- a/gcc/testsuite/g++.dg/concepts/generic-fn.C
+++ b/gcc/testsuite/g++.dg/concepts/generic-fn.C
@@ -1,5 +1,6 @@
// { dg-do compile { target c++17 } }
// { dg-options "-fconcepts" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
#include <type_traits>
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-access1.C b/gcc/testsuite/g++.dg/contracts/contracts-access1.C
index fdad7b1..7f6759e 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-access1.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-access1.C
@@ -107,6 +107,7 @@ int main()
return 0;
}
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
// { dg-output "contract violation in function Base::b at .*.C:11: .*(\n|\r\n|\r)" }
// { dg-output "contract violation in function Base::b at .*.C:12: .*(\n|\r\n|\r)" }
// { dg-output "contract violation in function Base::b at .*.C:13: .*(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-assume2.C b/gcc/testsuite/g++.dg/contracts/contracts-assume2.C
index 3323244..8b2f721 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-assume2.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-assume2.C
@@ -10,6 +10,7 @@
// main -- unlike contracts-ignore2 which expects a failing return code
// { dg-do run }
// { dg-options "-std=c++2a -fcontracts -fcontract-role=default:never,assume,ignore -O1" }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
#include <cstdio>
int fun(int x) {
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-assume3.C b/gcc/testsuite/g++.dg/contracts/contracts-assume3.C
index 8dad6bb..ae6845a 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-assume3.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-assume3.C
@@ -2,6 +2,7 @@
// a link failure
// { dg-do run }
// { dg-options "-std=c++2a -fcontracts" }
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
int f(int t);
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-assume4.C b/gcc/testsuite/g++.dg/contracts/contracts-assume4.C
index 7954f53..6d06403 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-assume4.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-assume4.C
@@ -2,6 +2,7 @@
// not cause constexpr eval failure
// { dg-do run }
// { dg-options "-std=c++2a -fcontracts" }
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
constexpr int f(int t); // { dg-warning "used but never defined" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-config1.C b/gcc/testsuite/g++.dg/contracts/contracts-config1.C
index 2f4fa3d..eb4b54d 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-config1.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-config1.C
@@ -24,6 +24,7 @@ int main(int, char **)
return 0;
}
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
// { dg-output {contract violation in function main at .*:14: false(\n|\r\n|\r)} }
// { dg-output {\[continue:on\](\n|\r\n|\r)} }
// { dg-output {contract violation in function main at .*:15: false(\n|\r\n|\r)} }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-constexpr1.C b/gcc/testsuite/g++.dg/contracts/contracts-constexpr1.C
index 9d0233b..f37d3d3 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-constexpr1.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-constexpr1.C
@@ -63,6 +63,7 @@ int main(int, char **) {
return 0;
}
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
// { dg-output "contract violation in function ffun at .*.C:14: .*(\n|\r\n|\r)" }
// { dg-output "contract violation in function ffun at .*.C:15: .*(\n|\r\n|\r)" }
// { dg-output "contract violation in function ftfun<int> at .*.C:38: .*(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-deduced2.C b/gcc/testsuite/g++.dg/contracts/contracts-deduced2.C
index e67ba36..9920b5c 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-deduced2.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-deduced2.C
@@ -71,6 +71,7 @@ int main(int, char**) {
return 0;
}
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
// { dg-output "contract violation in function g0 at .*.C:5: .*(\n|\r\n|\r)" }
// { dg-output "contract violation in function g0 at .*.C:5: .*(\n|\r\n|\r)" }
// { dg-output "contract violation in function g1 at .*.C:12: .*(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-externC.C b/gcc/testsuite/g++.dg/contracts/contracts-externC.C
index 873056b..f27eb43 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-externC.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-externC.C
@@ -2,6 +2,7 @@
// when wrapping functions in pre- and postconditions.
// { dg-do link }
// { dg-options "-std=c++2a -fcontracts -fcontract-continuation-mode=on" }
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
volatile int x = 10;
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-friend1.C b/gcc/testsuite/g++.dg/contracts/contracts-friend1.C
index 28e269f..33ef2dd 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-friend1.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-friend1.C
@@ -33,6 +33,7 @@ int main(int, char**) {
return 0;
}
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
// { dg-output "contract violation in function fn0 at .*.C:6: .*(\n|\r\n|\r)" }
// { dg-output "contract violation in function fn2 at .*.C:19: .*(\n|\r\n|\r)" }
// { dg-output "contract violation in function X::fns0 at .*.C:9: .*(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-ignore2.C b/gcc/testsuite/g++.dg/contracts/contracts-ignore2.C
index 5cf800a..c085852 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-ignore2.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-ignore2.C
@@ -2,6 +2,7 @@
// assumptions; see contracts-assume2 for the assumed case
// { dg-do run }
// { dg-options "-std=c++2a -fcontracts" }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
#include <cstdio>
int fun(int x) {
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-multiline1.C b/gcc/testsuite/g++.dg/contracts/contracts-multiline1.C
index c587477..b2364e4 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-multiline1.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-multiline1.C
@@ -16,4 +16,5 @@ int main(int, char **)
]];
}
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
// { dg-output "contract violation in function main at .*.C:8: x < 10 && y > 123.*(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-nested-class2.C b/gcc/testsuite/g++.dg/contracts/contracts-nested-class2.C
index 43e75ed..f058938 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-nested-class2.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-nested-class2.C
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-options "-std=c++2a -fcontracts -fcontract-continuation-mode=on" }
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
void gfn3(int n) [[ pre: n > 0 ]];
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-post2.C b/gcc/testsuite/g++.dg/contracts/contracts-post2.C
index 7665f82..5255d2b 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-post2.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-post2.C
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-options "-std=c++2a -fcontracts" }
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
int f1(int n)
[[post r: r == n]]
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-post3.C b/gcc/testsuite/g++.dg/contracts/contracts-post3.C
index 1292328..38f9e64 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-post3.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-post3.C
@@ -2,6 +2,7 @@
// { dg-options "-std=c++2a -fcontracts" }
// { dg-shouldfail "assert violation" }
// { dg-output "contract violation in function f1" }
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
int f1(int n)
[[post r: r > n]]
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-post7.C b/gcc/testsuite/g++.dg/contracts/contracts-post7.C
index 1c33181..5830c5e 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-post7.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-post7.C
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-options "-std=c++2a -fcontracts" }
+/* { dg-skip-if "requires hosted libstdc++ for cwchar" { ! hostedlib } } */
#include <experimental/contract>
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-pre10.C b/gcc/testsuite/g++.dg/contracts/contracts-pre10.C
index fe85566..2b4acdf 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-pre10.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-pre10.C
@@ -140,6 +140,7 @@ int main(int, char**)
return 0;
}
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// { dg-output {=================================(\n|\r\n|\r)} }
// { dg-output {contract violation in function M::f<int> at .*:7: a > 0(\n|\r\n|\r)} }
// { dg-output {\[continue:on\](\n|\r\n|\r)} }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-pre2.C b/gcc/testsuite/g++.dg/contracts/contracts-pre2.C
index d63d071..fc78c33 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-pre2.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-pre2.C
@@ -174,6 +174,7 @@ namespace nonnullary
}
}
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// { dg-output "contract violation in function nullary::fun at .*.C:12: .*(\n|\r\n|\r)" }
// { dg-output "fun::x: 10(\n|\r\n|\r)" }
// { dg-output "contract violation in function nullary::fun2 at .*.C:18: .*(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-pre2a2.C b/gcc/testsuite/g++.dg/contracts/contracts-pre2a2.C
index f4319bf..461fb6f 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-pre2a2.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-pre2a2.C
@@ -16,6 +16,7 @@ int main()
return 0;
}
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
// { dg-output "contract violation in function f at .*\\.C:6: .*(\n|\r\n|\r)" }
// { dg-output "contract violation in function f at .*\\.C:9: .*(\n|\r\n|\r)" }
// { dg-output "contract violation in function f at .*\\.C:7: .*(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-pre3.C b/gcc/testsuite/g++.dg/contracts/contracts-pre3.C
index 70df318..ff312f9 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-pre3.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-pre3.C
@@ -403,6 +403,7 @@ member::S member::T1::funend(int m, double n)
return s;
}
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// { dg-output "contract violation in function member::T1::vfun at .*.C:37: .*(\n|\r\n|\r)" }
// { dg-output "contract violation in function member::T1::vfun at .*.C:38: .*(\n|\r\n|\r)" }
// { dg-output "vfun::x: 10(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-pre4.C b/gcc/testsuite/g++.dg/contracts/contracts-pre4.C
index ec26c02..f658123 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-pre4.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-pre4.C
@@ -77,6 +77,7 @@ int main(int, char**)
return 0;
}
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// { dg-output "contract violation in function Base::f at .*.C:7: .*(\n|\r\n|\r)" }
// { dg-output "Base: 0(\n|\r\n|\r)" }
// { dg-output "contract violation in function Base::f at .*.C:7: .*(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-pre5.C b/gcc/testsuite/g++.dg/contracts/contracts-pre5.C
index 5030cec3..7675101 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-pre5.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-pre5.C
@@ -56,6 +56,7 @@ int main(int, char**)
return 0;
}
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// { dg-output "contract violation in function body<int> at .*.C:8: .*(\n|\r\n|\r)" }
// { dg-output "-2(\n|\r\n|\r)" }
// { dg-output "contract violation in function body<double> at .*.C:8: .*(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-pre7.C b/gcc/testsuite/g++.dg/contracts/contracts-pre7.C
index 715a2c6..5674448 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-pre7.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-pre7.C
@@ -108,6 +108,7 @@ int main(int, char**)
return 0;
}
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// { dg-output "contract violation in function ns0::f<int> at .*.C:13: .*(\n|\r\n|\r)" }
// { dg-output "1(\n|\r\n|\r)" }
// { dg-output "contract violation in function ns0::ns1::f<int> at .*.C:28: .*(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-pre9.C b/gcc/testsuite/g++.dg/contracts/contracts-pre9.C
index 4613be4..3a509bc 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-pre9.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-pre9.C
@@ -108,6 +108,7 @@ int main(int, char**)
return 0;
}
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// { dg-output "contract violation in function S<int>::f at .*.C:14: .*(\n|\r\n|\r)" }
// { dg-output "s_int.f.-10.: 10(\n|\r\n|\r)" }
// { dg-output "contract violation in function S<int>::g at .*.C:10: .*(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-redecl3.C b/gcc/testsuite/g++.dg/contracts/contracts-redecl3.C
index ef6b123..1cf9293 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-redecl3.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-redecl3.C
@@ -160,6 +160,7 @@ namespace nondefining
}
}
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// { dg-output "contract violation in function defining::T1::vfun at .*.C:25: .*(\n|\r\n|\r)" }
// { dg-output "contract violation in function defining::T1::vfun at .*.C:26: .*(\n|\r\n|\r)" }
// { dg-output "vfun::x: 10(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-redecl4.C b/gcc/testsuite/g++.dg/contracts/contracts-redecl4.C
index e0a0c69..5f36159 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-redecl4.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-redecl4.C
@@ -33,6 +33,7 @@ int main(int, char **)
printf("=====\n");
}
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// { dg-output "contract violation in function f at .*.C:10: .*(\n|\r\n|\r)" }
// { dg-output "contract violation in function f at .*.C:11: .*(\n|\r\n|\r)" }
// { dg-output "contract violation in function f at .*.C:12: .*(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-redecl6.C b/gcc/testsuite/g++.dg/contracts/contracts-redecl6.C
index 131f039..f8eb084 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-redecl6.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-redecl6.C
@@ -160,6 +160,7 @@ namespace nondefining
}
}
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// { dg-output "contract violation in function defining::T1::vfun at .*.C:25: .*(\n|\r\n|\r)" }
// { dg-output "contract violation in function defining::T1::vfun at .*.C:26: .*(\n|\r\n|\r)" }
// { dg-output "vfun::x: 10(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-redecl7.C b/gcc/testsuite/g++.dg/contracts/contracts-redecl7.C
index b7999b4..4ac76ba 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-redecl7.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-redecl7.C
@@ -77,6 +77,7 @@ int main(int, char**)
return 0;
}
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// { dg-output "contract violation in function S::now at .*.C:9: .*(\n|\r\n|\r)" }
// { dg-output "S::now: a: -10, t->pri: -10(\n|\r\n|\r)" }
// { dg-output "contract violation in function now at .*.C:15: .*(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-tmpl-spec1.C b/gcc/testsuite/g++.dg/contracts/contracts-tmpl-spec1.C
index 1460b93..8f3733f 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-tmpl-spec1.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-tmpl-spec1.C
@@ -94,6 +94,7 @@ int main(int, char**)
return 0;
}
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// { dg-output "contract violation in function body<int> at .*.C:8: .*(\n|\r\n|\r)" }
// { dg-output "-2(\n|\r\n|\r)" }
// { dg-output "contract violation in function body<double> at .*.C:16: .*(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-tmpl-spec2.C b/gcc/testsuite/g++.dg/contracts/contracts-tmpl-spec2.C
index fd3a25b..5669a4a 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-tmpl-spec2.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-tmpl-spec2.C
@@ -304,6 +304,7 @@ int main(int, char**)
return 0;
}
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// { dg-output {contract violation in function body<int> at .*:9: a > 0(\n|\r\n|\r)} }
// { dg-output {\[continue:on\](\n|\r\n|\r)} }
// { dg-output {-2(\n|\r\n|\r)} }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-tmpl-spec3.C b/gcc/testsuite/g++.dg/contracts/contracts-tmpl-spec3.C
index 090c134..4b293de 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-tmpl-spec3.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-tmpl-spec3.C
@@ -32,6 +32,7 @@ int main(int, char**) {
return 0;
}
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// { dg-output {G5 full double double, f gen R(\n|\r\n|\r)} }
// { dg-output {G5 full double double, f gen R(\n|\r\n|\r)} }
// { dg-output {contract violation in function G5<int, double>::f<int> at .*:10: t > 0(\n|\r\n|\r)} }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts10.C b/gcc/testsuite/g++.dg/contracts/contracts10.C
index 585af99..7e371c3 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts10.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts10.C
@@ -62,6 +62,7 @@ int main()
return 0;
}
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
// { dg-output "contract violation in function main at .*.C:47: .*(\n|\r\n|\r)" }
// { dg-output "contract violation in function main at .*.C:48: .*(\n|\r\n|\r)" }
// { dg-output "contract violation in function main at .*.C:49: .*(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts14.C b/gcc/testsuite/g++.dg/contracts/contracts14.C
index d9156d6..6154953 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts14.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts14.C
@@ -48,6 +48,7 @@ int main(int, char**) {
return 0;
}
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// { dg-output "custom std::handle_contract_violation called: 30 .*/contracts14.C(\n|\r\n|\r)" }
// { dg-output "synth caught direct: -30(\n|\r\n|\r)" }
// { dg-output "custom std::handle_contract_violation called: 18 .*/contracts14.C(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts15.C b/gcc/testsuite/g++.dg/contracts/contracts15.C
index ef52a0e..d538bd4 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts15.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts15.C
@@ -48,6 +48,7 @@ int main(int, char**) {
return 0;
}
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// { dg-output "custom std::handle_contract_violation called: 30 .*/contracts15.C(\n|\r\n|\r)" }
// { dg-output "synth caught direct: -30(\n|\r\n|\r)" }
// { dg-output "custom std::handle_contract_violation called: 18 .*/contracts15.C(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts16.C b/gcc/testsuite/g++.dg/contracts/contracts16.C
index 5d58ab8..2770401 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts16.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts16.C
@@ -29,6 +29,7 @@ int main(int, char**) {
return 0;
}
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// { dg-output "custom std::handle_contract_violation called: 18 .*/contracts16.C(\n|\r\n|\r)" }
// { dg-output "synth caught indirect: -18(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts17.C b/gcc/testsuite/g++.dg/contracts/contracts17.C
index f2db433..2a8f65a 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts17.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts17.C
@@ -30,6 +30,7 @@ int main(int, char**) {
return 0;
}
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// { dg-output "custom std::handle_contract_violation called: 19 .*/contracts17.C(\n|\r\n|\r)" }
// { dg-shouldfail "throwing in noexcept" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts18.C b/gcc/testsuite/g++.dg/contracts/contracts18.C
index e8163ba..1676ea4 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts18.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts18.C
@@ -3,6 +3,7 @@
// (axiom level contracts are never checked at runtime)
// { dg-do run }
// { dg-options "-std=c++2a -fcontracts -fcontract-role=custom:never,ignore,ignore" }
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
int main()
{
diff --git a/gcc/testsuite/g++.dg/contracts/contracts19.C b/gcc/testsuite/g++.dg/contracts/contracts19.C
index 009942d..1e39c24 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts19.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts19.C
@@ -14,6 +14,7 @@ int main()
return 0;
}
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
// { dg-output "contract violation in function main at .*.C:11: .*(\n|\r\n|\r)" }
// { dg-output "contract violation in function main at .*.C:12: .*(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts2.C b/gcc/testsuite/g++.dg/contracts/contracts2.C
index 9535e07..0de587e 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts2.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts2.C
@@ -3,6 +3,7 @@
// (axiom level contracts are never checked at runtime)
// { dg-do run }
// { dg-options "-std=c++2a -fcontracts" }
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
int main()
{
diff --git a/gcc/testsuite/g++.dg/contracts/contracts22.C b/gcc/testsuite/g++.dg/contracts/contracts22.C
index 91e32b9..df71f92 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts22.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts22.C
@@ -3,6 +3,7 @@
// { dg-do run }
// { dg-options "-std=c++2a -fcontracts -fcontract-mode=off" }
// { dg-output "returning from main" }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
#include <cstdio>
int constexpr f()
diff --git a/gcc/testsuite/g++.dg/contracts/contracts24.C b/gcc/testsuite/g++.dg/contracts/contracts24.C
index 70a54f9..0157097 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts24.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts24.C
@@ -3,6 +3,7 @@
// (axiom level contracts are never checked at runtime)
// { dg-do run }
// { dg-options "-std=c++2a -fcontracts -fcontract-semantic=default:never -fcontract-semantic=audit:ignore -fcontract-semantic=axiom:ignore" }
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
int main()
{
diff --git a/gcc/testsuite/g++.dg/contracts/contracts25.C b/gcc/testsuite/g++.dg/contracts/contracts25.C
index e954cd1..2d46ce5 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts25.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts25.C
@@ -50,6 +50,7 @@ int main(int, char **) {
return 0;
}
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
// { dg-output "contract violation in function ffun at .*.C:12: .*(\n|\r\n|\r)" }
// { dg-output "contract violation in function ftfun<int> at .*.C:30: .*(\n|\r\n|\r)" }
// { dg-output "contract violation in function explicitfn at .*.C:36: .*(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts3.C b/gcc/testsuite/g++.dg/contracts/contracts3.C
index 73dc7a1..5efa4c0 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts3.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts3.C
@@ -4,6 +4,7 @@
// { dg-options "-std=c++2a -fcontracts" }
// { dg-shouldfail "assert violation" }
// { dg-output "contract violation in function main" }
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
int main()
{
diff --git a/gcc/testsuite/g++.dg/contracts/contracts35.C b/gcc/testsuite/g++.dg/contracts/contracts35.C
index 4435ab7..d75640f 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts35.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts35.C
@@ -32,6 +32,7 @@ int main(int, char **) {
return 0;
}
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// { dg-output "contract violation in function S::S<int> at .*.C:8: .*(\n|\r\n|\r)" }
// { dg-output "contract violation in function S::S<int> at .*.C:8: .*(\n|\r\n|\r)" }
// { dg-output "S::S.T.: -1(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/contracts/contracts4.C b/gcc/testsuite/g++.dg/contracts/contracts4.C
index a43fb9f..d3231e5 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts4.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts4.C
@@ -2,6 +2,7 @@
// error during runtime when the contract build level is default
// { dg-do run }
// { dg-options "-std=c++2a -fcontracts" }
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
int main()
{
diff --git a/gcc/testsuite/g++.dg/contracts/contracts5.C b/gcc/testsuite/g++.dg/contracts/contracts5.C
index 3c59183..ecd854a 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts5.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts5.C
@@ -4,6 +4,7 @@
// { dg-options "-std=c++2a -fcontracts -fcontract-build-level=audit" }
// { dg-shouldfail "assert violation" }
// { dg-output "contract violation in function main" }
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
int main()
{
diff --git a/gcc/testsuite/g++.dg/contracts/contracts6.C b/gcc/testsuite/g++.dg/contracts/contracts6.C
index 59c010e..42622fd 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts6.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts6.C
@@ -2,6 +2,7 @@
// error during runtime when the contract build level is off
// { dg-do run }
// { dg-options "-std=c++2a -fcontracts -fcontract-build-level=off" }
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
int main()
{
diff --git a/gcc/testsuite/g++.dg/contracts/contracts7.C b/gcc/testsuite/g++.dg/contracts/contracts7.C
index 9e7cae9..0828f82 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts7.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts7.C
@@ -5,6 +5,7 @@
// { dg-do run }
// { dg-options "-std=c++2a -fcontracts -fcontract-continuation-mode=on" }
// { dg-output "contract violation in function main" }
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
int main()
{
diff --git a/gcc/testsuite/g++.dg/contracts/contracts9.C b/gcc/testsuite/g++.dg/contracts/contracts9.C
index 58b60ac..112af6c 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts9.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts9.C
@@ -35,6 +35,7 @@ int main()
// return 0;
}
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
// { dg-output {contract violation in function fun1<int> at .*:12: \(long long\)b > 0(\n|\r\n|\r)} }
// { dg-output {\[continue:on\](\n|\r\n|\r)} }
// { dg-output {contract violation in function fun1<double> at .*:11: a > 0(\n|\r\n|\r)} }
diff --git a/gcc/testsuite/g++.dg/contracts/pr110159.C b/gcc/testsuite/g++.dg/contracts/pr110159.C
index 614b466..3cf5967 100644
--- a/gcc/testsuite/g++.dg/contracts/pr110159.C
+++ b/gcc/testsuite/g++.dg/contracts/pr110159.C
@@ -1,6 +1,7 @@
// check that contracts can be handled even when exceptions are disabled
// { dg-do run }
// { dg-options "-std=c++2a -fcontracts -fno-exceptions " }
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
// { dg-output "contract violation in function f at .* a<5" }
#include <exception>
diff --git a/gcc/testsuite/g++.dg/contracts/pr115434.C b/gcc/testsuite/g++.dg/contracts/pr115434.C
index e9c847f..b21f5ae 100644
--- a/gcc/testsuite/g++.dg/contracts/pr115434.C
+++ b/gcc/testsuite/g++.dg/contracts/pr115434.C
@@ -2,6 +2,7 @@
// { dg-do run }
// { dg-options "-std=c++20 -fcontracts -fcontract-continuation-mode=on" }
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
void foo (const int b)
@@ -13,4 +14,4 @@ int main()
foo(3);
}
-// { dg-output "contract violation in function foo at .*.C:8: b == 9.*(\n|\r\n|\r)" }
+// { dg-output "contract violation in function foo at .*.C:9: b == 9.*(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C b/gcc/testsuite/g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C
index 605a213..639d859 100644
--- a/gcc/testsuite/g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C
+++ b/gcc/testsuite/g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
+
// Test handling of the case where we have a class g-r-o and a non-void
// and non-class-type ramp return.
diff --git a/gcc/testsuite/g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C b/gcc/testsuite/g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C
index a7e3f3d..680e7c3 100644
--- a/gcc/testsuite/g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C
+++ b/gcc/testsuite/g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
+
// Test handling of the case where we have a void g-r-o and a non-void
// and non-class-type ramp return.
diff --git a/gcc/testsuite/g++.dg/coroutines/pr100611.C b/gcc/testsuite/g++.dg/coroutines/pr100611.C
index 14edf48..9f0228e 100644
--- a/gcc/testsuite/g++.dg/coroutines/pr100611.C
+++ b/gcc/testsuite/g++.dg/coroutines/pr100611.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
/*
Test that instances created in capture clauses within co_await statements do not
get 'promoted'. This would lead to the members destructor getting called more
diff --git a/gcc/testsuite/g++.dg/coroutines/pr100772-b.C b/gcc/testsuite/g++.dg/coroutines/pr100772-b.C
index 4ef80a9..5ffd3a4 100644
--- a/gcc/testsuite/g++.dg/coroutines/pr100772-b.C
+++ b/gcc/testsuite/g++.dg/coroutines/pr100772-b.C
@@ -1,3 +1,4 @@
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
#if !__has_include(<coroutine>) \
&& __has_include(<experimental/coroutine>) // for __clang__
#include <experimental/coroutine>
diff --git a/gcc/testsuite/g++.dg/coroutines/pr101133.C b/gcc/testsuite/g++.dg/coroutines/pr101133.C
index 6c6bc16..5bc9103 100644
--- a/gcc/testsuite/g++.dg/coroutines/pr101133.C
+++ b/gcc/testsuite/g++.dg/coroutines/pr101133.C
@@ -1,3 +1,4 @@
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <coroutine>
#include <string>
diff --git a/gcc/testsuite/g++.dg/coroutines/pr101367.C b/gcc/testsuite/g++.dg/coroutines/pr101367.C
index 0a9e5be..435190e 100644
--- a/gcc/testsuite/g++.dg/coroutines/pr101367.C
+++ b/gcc/testsuite/g++.dg/coroutines/pr101367.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
#include <coroutine>
using namespace std;
diff --git a/gcc/testsuite/g++.dg/coroutines/pr101765.C b/gcc/testsuite/g++.dg/coroutines/pr101765.C
index 49a49d1..4a35c1c 100644
--- a/gcc/testsuite/g++.dg/coroutines/pr101765.C
+++ b/gcc/testsuite/g++.dg/coroutines/pr101765.C
@@ -1,6 +1,7 @@
// We cannot compile this yet, much run it - but one day it might be
// feasible, so do the minimum for now.
// { dg-additional-options " -fsyntax-only -Wno-vla" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "coro.h"
diff --git a/gcc/testsuite/g++.dg/coroutines/pr101976.C b/gcc/testsuite/g++.dg/coroutines/pr101976.C
index 1854ba0..53d02a4 100644
--- a/gcc/testsuite/g++.dg/coroutines/pr101976.C
+++ b/gcc/testsuite/g++.dg/coroutines/pr101976.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
/*
Test that members of temporary instances in co_await statements do not get
diff --git a/gcc/testsuite/g++.dg/coroutines/pr102454.C b/gcc/testsuite/g++.dg/coroutines/pr102454.C
index 41aeda7..9cb59db 100644
--- a/gcc/testsuite/g++.dg/coroutines/pr102454.C
+++ b/gcc/testsuite/g++.dg/coroutines/pr102454.C
@@ -1,4 +1,5 @@
// { dg-additional-options "-fno-exceptions" }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <coroutine>
#include <string>
diff --git a/gcc/testsuite/g++.dg/coroutines/pr104051.C b/gcc/testsuite/g++.dg/coroutines/pr104051.C
index ce7ae55..f77a915 100644
--- a/gcc/testsuite/g++.dg/coroutines/pr104051.C
+++ b/gcc/testsuite/g++.dg/coroutines/pr104051.C
@@ -1,4 +1,5 @@
// { dg-additional-options "-fsyntax-only" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <coroutine>
#include <vector>
template <typename> struct promise {
diff --git a/gcc/testsuite/g++.dg/coroutines/pr110635.C b/gcc/testsuite/g++.dg/coroutines/pr110635.C
index ea4e0e8..7b577ba 100644
--- a/gcc/testsuite/g++.dg/coroutines/pr110635.C
+++ b/gcc/testsuite/g++.dg/coroutines/pr110635.C
@@ -1,3 +1,4 @@
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#define CASE 0
#include <coroutine>
diff --git a/gcc/testsuite/g++.dg/coroutines/pr110871.C b/gcc/testsuite/g++.dg/coroutines/pr110871.C
index 8a667c8..7e6830a 100644
--- a/gcc/testsuite/g++.dg/coroutines/pr110871.C
+++ b/gcc/testsuite/g++.dg/coroutines/pr110871.C
@@ -1,5 +1,7 @@
// { dg-additional-options "-fcontracts -fcontract-continuation-mode=on" }
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
+
#include <iostream>
#include <coroutine>
@@ -59,4 +61,4 @@ int main() {
std::cout << "main continues" << std::endl;
}
-// { dg-output "contract violation in function seq at .*.C:45: from \<= to.*(\n|\r\n|\r)" }
+// { dg-output "contract violation in function seq at .*.C:47: from \<= to.*(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/coroutines/pr110872.C b/gcc/testsuite/g++.dg/coroutines/pr110872.C
index a809986..3a7bd4f 100644
--- a/gcc/testsuite/g++.dg/coroutines/pr110872.C
+++ b/gcc/testsuite/g++.dg/coroutines/pr110872.C
@@ -1,5 +1,6 @@
// { dg-additional-options "-fcontracts -fcontract-continuation-mode=on" }
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
#include <coroutine>
@@ -46,4 +47,4 @@ int main() {
std::cout << "main continues" << std::endl;
}
-// { dg-output "contract violation in function val at .*.C:35: g.is_valid().*(\n|\r\n|\r)" }
+// { dg-output "contract violation in function val at .*.C:36: g.is_valid().*(\n|\r\n|\r)" }
diff --git a/gcc/testsuite/g++.dg/coroutines/pr94288.C b/gcc/testsuite/g++.dg/coroutines/pr94288.C
index 2557e3e..61424ae 100644
--- a/gcc/testsuite/g++.dg/coroutines/pr94288.C
+++ b/gcc/testsuite/g++.dg/coroutines/pr94288.C
@@ -1,4 +1,5 @@
// { dg-additional-options "-w" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include "coro.h"
diff --git a/gcc/testsuite/g++.dg/coroutines/pr95477.C b/gcc/testsuite/g++.dg/coroutines/pr95477.C
index 7050aee..38fb5c8 100644
--- a/gcc/testsuite/g++.dg/coroutines/pr95477.C
+++ b/gcc/testsuite/g++.dg/coroutines/pr95477.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "coro.h"
diff --git a/gcc/testsuite/g++.dg/coroutines/pr95520.C b/gcc/testsuite/g++.dg/coroutines/pr95520.C
index 4849b07..9776ec5 100644
--- a/gcc/testsuite/g++.dg/coroutines/pr95520.C
+++ b/gcc/testsuite/g++.dg/coroutines/pr95520.C
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-output "coroutine name: MyFoo" }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
#include <coroutine>
#include <cstdio>
diff --git a/gcc/testsuite/g++.dg/coroutines/pr95599.C b/gcc/testsuite/g++.dg/coroutines/pr95599.C
index ec97a4a..e94bf7d 100644
--- a/gcc/testsuite/g++.dg/coroutines/pr95599.C
+++ b/gcc/testsuite/g++.dg/coroutines/pr95599.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// The simplest co_await we can do.
diff --git a/gcc/testsuite/g++.dg/coroutines/pr95711.C b/gcc/testsuite/g++.dg/coroutines/pr95711.C
index 682a221..ba663ec 100644
--- a/gcc/testsuite/g++.dg/coroutines/pr95711.C
+++ b/gcc/testsuite/g++.dg/coroutines/pr95711.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#if __has_include(<coroutine>)
#include <coroutine>
diff --git a/gcc/testsuite/g++.dg/coroutines/pr95736.C b/gcc/testsuite/g++.dg/coroutines/pr95736.C
index 0be5168..55f52bf4 100644
--- a/gcc/testsuite/g++.dg/coroutines/pr95736.C
+++ b/gcc/testsuite/g++.dg/coroutines/pr95736.C
@@ -1,3 +1,4 @@
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
#include <exception>
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/coroutines/pr97587.C b/gcc/testsuite/g++.dg/coroutines/pr97587.C
index 081c3a9..03da6c3 100644
--- a/gcc/testsuite/g++.dg/coroutines/pr97587.C
+++ b/gcc/testsuite/g++.dg/coroutines/pr97587.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include<cassert>
#include<coroutine>
diff --git a/gcc/testsuite/g++.dg/coroutines/pr99576_1.C b/gcc/testsuite/g++.dg/coroutines/pr99576_1.C
index 612f0cd..01db4d2 100644
--- a/gcc/testsuite/g++.dg/coroutines/pr99576_1.C
+++ b/gcc/testsuite/g++.dg/coroutines/pr99576_1.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
/*
Test that instances created in capture clauses within co_await statements do not get
'promoted'. This would lead to their members destructors getting called more
diff --git a/gcc/testsuite/g++.dg/coroutines/pr99576_2.C b/gcc/testsuite/g++.dg/coroutines/pr99576_2.C
index b7371d6..cd3da64 100644
--- a/gcc/testsuite/g++.dg/coroutines/pr99576_2.C
+++ b/gcc/testsuite/g++.dg/coroutines/pr99576_2.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
/*
Test that members of temporary awaitables in co_await statements do not get
'promoted'. This would lead to the members destructor getting called more
diff --git a/gcc/testsuite/g++.dg/coroutines/ramp-return-a.C b/gcc/testsuite/g++.dg/coroutines/ramp-return-a.C
index c6e445e..fcea6f9 100644
--- a/gcc/testsuite/g++.dg/coroutines/ramp-return-a.C
+++ b/gcc/testsuite/g++.dg/coroutines/ramp-return-a.C
@@ -1,4 +1,5 @@
// { dg-additional-options "-std=c++14" }
+// { dg-skip-if "requires hosted libstdc++ for vector in ramp-return.h" { ! hostedlib } }
#include "ramp-return.h"
diff --git a/gcc/testsuite/g++.dg/coroutines/ramp-return-b.C b/gcc/testsuite/g++.dg/coroutines/ramp-return-b.C
index dc21e97..a27d5af 100644
--- a/gcc/testsuite/g++.dg/coroutines/ramp-return-b.C
+++ b/gcc/testsuite/g++.dg/coroutines/ramp-return-b.C
@@ -1,4 +1,5 @@
// { dg-options "-fcoroutines -std=c++14" }
+// { dg-skip-if "requires hosted libstdc++ for vector in ramp-return.h" { ! hostedlib } }
#define DELETE_COPY_CTOR 1
#include "ramp-return.h"
diff --git a/gcc/testsuite/g++.dg/coroutines/ramp-return-c.C b/gcc/testsuite/g++.dg/coroutines/ramp-return-c.C
index e030ca1..0992924 100644
--- a/gcc/testsuite/g++.dg/coroutines/ramp-return-c.C
+++ b/gcc/testsuite/g++.dg/coroutines/ramp-return-c.C
@@ -1,4 +1,5 @@
// { dg-additional-options "-std=c++17" }
+// { dg-skip-if "requires hosted libstdc++ for vector in ramp-return.h" { ! hostedlib } }
#define DELETE_COPY_CTOR 1
#include "ramp-return.h"
diff --git a/gcc/testsuite/g++.dg/coroutines/symmetric-transfer-00-basic.C b/gcc/testsuite/g++.dg/coroutines/symmetric-transfer-00-basic.C
index a959408..5f663fb 100644
--- a/gcc/testsuite/g++.dg/coroutines/symmetric-transfer-00-basic.C
+++ b/gcc/testsuite/g++.dg/coroutines/symmetric-transfer-00-basic.C
@@ -4,6 +4,7 @@
// { dg-do run { target { i?86-*-linux-gnu x86_64-*-linux-gnu *-*-darwin* } } }
// { dg-additional-options "-O2" }
+// { dg-skip-if "requires hosted libstdc++ for chrono" { ! hostedlib } }
#if __has_include(<coroutine>)
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/alloc-00-gro-on-alloc-fail.C b/gcc/testsuite/g++.dg/coroutines/torture/alloc-00-gro-on-alloc-fail.C
index ca07a3a..72ba97c 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/alloc-00-gro-on-alloc-fail.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/alloc-00-gro-on-alloc-fail.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
/* check the code-gen for the failed alloc return.
Here we use an allocator that doesn't fail so that the code
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/alloc-01-overload-newdel.C b/gcc/testsuite/g++.dg/coroutines/torture/alloc-01-overload-newdel.C
index 98babca..0e7c855 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/alloc-01-overload-newdel.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/alloc-01-overload-newdel.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// check codegen for overloaded simple operator new/delete.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/alloc-02-fail-new-grooaf-check.C b/gcc/testsuite/g++.dg/coroutines/torture/alloc-02-fail-new-grooaf-check.C
index 7911cc8c..61e19bd 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/alloc-02-fail-new-grooaf-check.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/alloc-02-fail-new-grooaf-check.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
/* check the code-gen for the failed alloc return.
In this case, we use an operator new that always fails.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/alloc-03-overload-new-1.C b/gcc/testsuite/g++.dg/coroutines/torture/alloc-03-overload-new-1.C
index b1d6743..3ae446f 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/alloc-03-overload-new-1.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/alloc-03-overload-new-1.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
/* check codegen for overloaded simple operator new/delete.
here check that we prefer the overload that accounts the function
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/alloc-04-overload-del-use-two-args.C b/gcc/testsuite/g++.dg/coroutines/torture/alloc-04-overload-del-use-two-args.C
index 2987c6e..a6b4872 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/alloc-04-overload-del-use-two-args.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/alloc-04-overload-del-use-two-args.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
/* check that we use the deallocation function with two args when both
are available. */
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/call-00-co-aw-arg.C b/gcc/testsuite/g++.dg/coroutines/torture/call-00-co-aw-arg.C
index 19e3ec1..f86bbc7 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/call-00-co-aw-arg.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/call-00-co-aw-arg.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check that we can use co_await as a call parm.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/call-01-multiple-co-aw.C b/gcc/testsuite/g++.dg/coroutines/torture/call-01-multiple-co-aw.C
index 573f4f8..29ba751 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/call-01-multiple-co-aw.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/call-01-multiple-co-aw.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check that we can use multiple co_awaits as a call parm.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/call-02-temp-co-aw.C b/gcc/testsuite/g++.dg/coroutines/torture/call-02-temp-co-aw.C
index 8ae07aa..322cde1 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/call-02-temp-co-aw.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/call-02-temp-co-aw.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check foo (compiler temp, co_await).
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/call-03-temp-ref-co-aw.C b/gcc/testsuite/g++.dg/coroutines/torture/call-03-temp-ref-co-aw.C
index 967cb1b..f42c96a 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/call-03-temp-ref-co-aw.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/call-03-temp-ref-co-aw.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check foo (compiler temp, co_await).
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/class-00-co-ret.C b/gcc/testsuite/g++.dg/coroutines/torture/class-00-co-ret.C
index 932fe4b..bce831e 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/class-00-co-ret.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/class-00-co-ret.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Simplest class.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/class-01-co-ret-parm.C b/gcc/testsuite/g++.dg/coroutines/torture/class-01-co-ret-parm.C
index 0bd4770..b9398e8 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/class-01-co-ret-parm.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/class-01-co-ret-parm.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Class with parm capture
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/class-02-templ-parm.C b/gcc/testsuite/g++.dg/coroutines/torture/class-02-templ-parm.C
index 0cc6069..02ad0fa 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/class-02-templ-parm.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/class-02-templ-parm.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// template parm in a class
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/class-03-operator-templ-parm.C b/gcc/testsuite/g++.dg/coroutines/torture/class-03-operator-templ-parm.C
index 2d888a7..e91f068 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/class-03-operator-templ-parm.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/class-03-operator-templ-parm.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// template parm in a class
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/class-04-lambda-1.C b/gcc/testsuite/g++.dg/coroutines/torture/class-04-lambda-1.C
index e191c20..9c77628 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/class-04-lambda-1.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/class-04-lambda-1.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// template parm in a class
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/class-05-lambda-capture-copy-local.C b/gcc/testsuite/g++.dg/coroutines/torture/class-05-lambda-capture-copy-local.C
index 9bb76d2..1f7e2a6 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/class-05-lambda-capture-copy-local.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/class-05-lambda-capture-copy-local.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// template parm in a class
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/class-06-lambda-capture-ref.C b/gcc/testsuite/g++.dg/coroutines/torture/class-06-lambda-capture-ref.C
index db60132..33dde79 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/class-06-lambda-capture-ref.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/class-06-lambda-capture-ref.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// template parm in a class
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/class-07-data-member.C b/gcc/testsuite/g++.dg/coroutines/torture/class-07-data-member.C
index 00a0df6..86d946c 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/class-07-data-member.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/class-07-data-member.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Show that we are correctly accessing class variables.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-00-trivial.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-00-trivial.C
index 6de751a..0f09162 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-00-trivial.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-00-trivial.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// The simplest co_await we can do.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-01-with-value.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-01-with-value.C
index ddff645..070a05a 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-01-with-value.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-01-with-value.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
/* The simplest valued co_await we can do. */
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-02-xform.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-02-xform.C
index 8d32c73..74f1a10 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-02-xform.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-02-xform.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test of basic await transform, no local state.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-03-rhs-op.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-03-rhs-op.C
index 29dcc5f..3fb8167 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-03-rhs-op.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-03-rhs-op.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Basic check of co_await with an expression to await transform.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-04-control-flow.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-04-control-flow.C
index 32d9c98..96ff6f6 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-04-control-flow.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-04-control-flow.C
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-additional-options "-Wno-unused-label" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check correct operation of await transform.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-05-loop.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-05-loop.C
index 58cdced..3371628 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-05-loop.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-05-loop.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check correct operation of co_await in a loop without local state.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-06-ovl.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-06-ovl.C
index a3f7fa0..4cb8eb7 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-06-ovl.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-06-ovl.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Basic check of the co_await operator overload.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-07-tmpl.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-07-tmpl.C
index 8915786..27358cb 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-07-tmpl.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-07-tmpl.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check that we correctly operate when the coroutine object is templated.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-08-cascade.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-08-cascade.C
index 51eedc5..a3efa47 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-08-cascade.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-08-cascade.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check cascaded co_await operations.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-09-pair.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-09-pair.C
index e3aba4d..fc4ce7c 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-09-pair.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-09-pair.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "../coro.h"
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-10-template-fn-arg.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-10-template-fn-arg.C
index 71a5b18..3e4fe36 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-10-template-fn-arg.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-10-template-fn-arg.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check type dependent function parms.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-11-forwarding.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-11-forwarding.C
index 6e59c88..1ff4eb0 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-11-forwarding.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-11-forwarding.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test of forwarding a templated awaitable to co_await.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-12-operator-2.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-12-operator-2.C
index 91dd192..4b3e933 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-12-operator-2.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-12-operator-2.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Basic check of the co_await operator overload.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-13-return-ref.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-13-return-ref.C
index 78f2d5b..12e6c06 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-13-return-ref.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-13-return-ref.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
/* The simplest valued co_await we can do. */
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-14-return-ref-to-auto.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-14-return-ref-to-auto.C
index 6b1d5bf..3d133ce 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-14-return-ref-to-auto.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-14-return-ref-to-auto.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
/* The simplest valued co_await we can do. */
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-15-return-non-triv.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-15-return-non-triv.C
index 70c974b..e79d9da 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-15-return-non-triv.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-15-return-non-triv.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
/* Check that we handle await_resume for a non-trivial type. */
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-16-template-traits.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-16-template-traits.C
index 4e670b1..8be2597 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-16-template-traits.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-16-template-traits.C
@@ -1,4 +1,5 @@
// { dg-do compile }
+// { dg-skip-if "requires hosted libstdc++ for chrono" { ! hostedlib } }
// Test we create co_await_expr with dependent type rather than type of awaitable class
#include "../coro.h"
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-17-capture-comp-ref.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-17-capture-comp-ref.C
index 3eefe9e..5a7b9fd 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-17-capture-comp-ref.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-17-capture-comp-ref.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++17 } }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "../coro.h"
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-18-if-cond.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-18-if-cond.C
index 6b05cfb..3c54360 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-18-if-cond.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-18-if-cond.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test co-await in if condition.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-19-while-cond.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-19-while-cond.C
index 2cd3761..1b7f09d 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-19-while-cond.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-19-while-cond.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test co-await in while condition.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-20-do-while-cond.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-20-do-while-cond.C
index bb1e97a..d4743e2 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-20-do-while-cond.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-20-do-while-cond.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test co-await in do-while conditional
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-21-switch-value.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-21-switch-value.C
index b5e1bf3..beaf12f 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-21-switch-value.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-21-switch-value.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test co-await in while condition.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-22-truth-and-of-if.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-22-truth-and-of-if.C
index 5465974..dee0a99 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-22-truth-and-of-if.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-22-truth-and-of-if.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test co-await in while condition.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-24-for-init.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-24-for-init.C
index 1bf2f6d..45ea0de 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-24-for-init.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-24-for-init.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test co-await in while condition.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-25-for-condition.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-25-for-condition.C
index 2208e34..08d17a5 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-25-for-condition.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-25-for-condition.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test co-await in while condition.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-await-26-for-iteration-expr.C b/gcc/testsuite/g++.dg/coroutines/torture/co-await-26-for-iteration-expr.C
index f361fb5..b4ee6ac 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-await-26-for-iteration-expr.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-await-26-for-iteration-expr.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test co-await in while condition.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-00-void-return-is-ready.C b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-00-void-return-is-ready.C
index dd0a3b7..016db87 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-00-void-return-is-ready.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-00-void-return-is-ready.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Basic functionality check, co_return.
// Here we check the case that initial suspend is "never", so that the co-
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-01-void-return-is-suspend.C b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-01-void-return-is-suspend.C
index 1f4c3de..2f388b5 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-01-void-return-is-suspend.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-01-void-return-is-suspend.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Basic functionality check, co_return.
// Here we check the case that initial suspend is "always".
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-03-different-GRO-type.C b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-03-different-GRO-type.C
index 1a095c6..871307d 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-03-different-GRO-type.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-03-different-GRO-type.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// GRO differs from the eventual return type.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-04-GRO-nontriv.C b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-04-GRO-nontriv.C
index abb789a..928193a 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-04-GRO-nontriv.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-04-GRO-nontriv.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// GRO differs from eventual return type and has non-trivial dtor.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-05-return-value.C b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-05-return-value.C
index 42b80ff..dbf5c97 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-05-return-value.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-05-return-value.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test returning an int.
// We will use the promise to contain this to avoid having to include
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-06-template-promise-val-1.C b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-06-template-promise-val-1.C
index 91f591a..0a8b900 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-06-template-promise-val-1.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-06-template-promise-val-1.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test returning a T.
// We will use the promise to contain this to avoid having to include
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-07-void-cast-expr.C b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-07-void-cast-expr.C
index b1a06f2..8eedbfa 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-07-void-cast-expr.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-07-void-cast-expr.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check that "co_return (void)expression;" evaluates expression once.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-08-template-cast-ret.C b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-08-template-cast-ret.C
index ac4cca4..c05806e 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-08-template-cast-ret.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-08-template-cast-ret.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test templated co-return.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-09-bool-await-susp.C b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-09-bool-await-susp.C
index 3368322..98a8221 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-09-bool-await-susp.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-09-bool-await-susp.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// test boolean return from await_suspend ().
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-10-expression-evaluates-once.C b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-10-expression-evaluates-once.C
index 7b07be5..90d99ef 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-10-expression-evaluates-once.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-10-expression-evaluates-once.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check that "co_return expression;" only evaluates expression once.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-11-co-ret-co-await.C b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-11-co-ret-co-await.C
index 0693910..f69a99a 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-11-co-ret-co-await.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-11-co-ret-co-await.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check co_return co_await
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-12-co-ret-fun-co-await.C b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-12-co-ret-fun-co-await.C
index 50124c0..516b89b 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-12-co-ret-fun-co-await.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-12-co-ret-fun-co-await.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check co_return function (co_await)
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-13-template-2.C b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-13-template-2.C
index 8a8d2d6..de6d86f 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-13-template-2.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-13-template-2.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check type dependent function parms.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-14-template-3.C b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-14-template-3.C
index ebc1adb..3dfa6ca 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-14-template-3.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-14-template-3.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check type dependent function parms.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-15-default-return_void.C b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-15-default-return_void.C
index 300052c..81a7da27 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-15-default-return_void.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-15-default-return_void.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++17 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
//
// Check if default return_void is insert at correct position.
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-16-simple-control-flow.C b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-16-simple-control-flow.C
index 112aa57..d7bd00e 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-16-simple-control-flow.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-16-simple-control-flow.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test returning an int.
// We will use the promise to contain this to avoid having to include
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-17-void-ret-coro.C b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-17-void-ret-coro.C
index 9c9d2fa..6625e44 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-ret-17-void-ret-coro.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-ret-17-void-ret-coro.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test the ability to specialize the coroutine traits to include
// non-class type coroutine ramp return values.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-yield-00-triv.C b/gcc/testsuite/g++.dg/coroutines/torture/co-yield-00-triv.C
index 15e390e..3d88c37 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-yield-00-triv.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-yield-00-triv.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test yielding an int.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-yield-01-multi.C b/gcc/testsuite/g++.dg/coroutines/torture/co-yield-01-multi.C
index 5df69c7..e1c5fba 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-yield-01-multi.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-yield-01-multi.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test yielding an int.
// We will use the promise to contain this to avoid having to include
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-yield-02-loop.C b/gcc/testsuite/g++.dg/coroutines/torture/co-yield-02-loop.C
index 8d4f1d5..f21e304 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-yield-02-loop.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-yield-02-loop.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test co_yield in a loop with no local state.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-yield-03-tmpl-nondependent.C b/gcc/testsuite/g++.dg/coroutines/torture/co-yield-03-tmpl-nondependent.C
index 8e91d95..399c011 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-yield-03-tmpl-nondependent.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-yield-03-tmpl-nondependent.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test co_yield in templated code where the promise type is not dependent.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-yield-03-tmpl.C b/gcc/testsuite/g++.dg/coroutines/torture/co-yield-03-tmpl.C
index 45fc8d7..005423f 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-yield-03-tmpl.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-yield-03-tmpl.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test co_yield in templated code.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-yield-04-complex-local-state.C b/gcc/testsuite/g++.dg/coroutines/torture/co-yield-04-complex-local-state.C
index f97bd23..f4b1b9f 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-yield-04-complex-local-state.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-yield-04-complex-local-state.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
// using non-trivial types in the coro.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-yield-05-co-aw.C b/gcc/testsuite/g++.dg/coroutines/torture/co-yield-05-co-aw.C
index 043f97b..bf2f910 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-yield-05-co-aw.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-yield-05-co-aw.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check co_return co_await
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-yield-06-fun-parm.C b/gcc/testsuite/g++.dg/coroutines/torture/co-yield-06-fun-parm.C
index c74e44d..9cf148b 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-yield-06-fun-parm.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-yield-06-fun-parm.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check co_return co_await
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-yield-07-template-fn-param.C b/gcc/testsuite/g++.dg/coroutines/torture/co-yield-07-template-fn-param.C
index 74dae63..ab392a2 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-yield-07-template-fn-param.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-yield-07-template-fn-param.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check type dependent function parms.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-yield-08-more-refs.C b/gcc/testsuite/g++.dg/coroutines/torture/co-yield-08-more-refs.C
index 8e39127..d2a82bf 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-yield-08-more-refs.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-yield-08-more-refs.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check co_return co_await
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/co-yield-09-more-templ-refs.C b/gcc/testsuite/g++.dg/coroutines/torture/co-yield-09-more-templ-refs.C
index 3abbe1c..943c869 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-yield-09-more-templ-refs.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-yield-09-more-templ-refs.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check co_return co_await
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/exceptions-test-0.C b/gcc/testsuite/g++.dg/coroutines/torture/exceptions-test-0.C
index 85135fc..42480a0 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/exceptions-test-0.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/exceptions-test-0.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test exceptions.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/exceptions-test-01-n4849-a.C b/gcc/testsuite/g++.dg/coroutines/torture/exceptions-test-01-n4849-a.C
index c5a0a38..31d56d0 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/exceptions-test-01-n4849-a.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/exceptions-test-01-n4849-a.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test exceptions in the initial await expression, per n4849.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/extern-c-coroutine.C b/gcc/testsuite/g++.dg/coroutines/torture/extern-c-coroutine.C
index c178a80..c28a641 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/extern-c-coroutine.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/extern-c-coroutine.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
+
#include <coroutine>
#include <cstdio>
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/func-params-00.C b/gcc/testsuite/g++.dg/coroutines/torture/func-params-00.C
index b571697..7fb169a 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/func-params-00.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/func-params-00.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test promise construction from function args list.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/func-params-01.C b/gcc/testsuite/g++.dg/coroutines/torture/func-params-01.C
index f530431..5459d2a 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/func-params-01.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/func-params-01.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Simplest test that we correctly handle function params in the body
// of the coroutine. No local state, just the parm.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/func-params-02.C b/gcc/testsuite/g++.dg/coroutines/torture/func-params-02.C
index 396b438..a9b99ca 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/func-params-02.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/func-params-02.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test that we correctly re-write multiple uses of a function param
// in the body.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/func-params-03.C b/gcc/testsuite/g++.dg/coroutines/torture/func-params-03.C
index bf69972..6fc801f 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/func-params-03.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/func-params-03.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test that we can use a function param in a co_xxxx status.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/func-params-04.C b/gcc/testsuite/g++.dg/coroutines/torture/func-params-04.C
index c90c152..a8189f4 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/func-params-04.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/func-params-04.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test that we can manage a constructed param copy.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/func-params-05.C b/gcc/testsuite/g++.dg/coroutines/torture/func-params-05.C
index 8bdb2b5..b853d97 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/func-params-05.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/func-params-05.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test that we can manage a constructed param reference
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/func-params-06.C b/gcc/testsuite/g++.dg/coroutines/torture/func-params-06.C
index cbcfe67..6953dcb 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/func-params-06.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/func-params-06.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// check references are handled as expected.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/func-params-07.C b/gcc/testsuite/g++.dg/coroutines/torture/func-params-07.C
index 7f3bb3c..03044ef 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/func-params-07.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/func-params-07.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test that we copy simple parms correctly by value, reference or
// rvalue reference.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/func-params-08.C b/gcc/testsuite/g++.dg/coroutines/torture/func-params-08.C
index cce1521..20f407d 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/func-params-08.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/func-params-08.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
// Check that we correctly handle params with non-trivial DTORs and
// use the correct copy/move CTORs.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/func-params-09-awaitable-parms.C b/gcc/testsuite/g++.dg/coroutines/torture/func-params-09-awaitable-parms.C
index 81430bf..d852666 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/func-params-09-awaitable-parms.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/func-params-09-awaitable-parms.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
// Check that we correctly handle params with non-trivial DTORs and
// use the correct copy/move CTORs.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/lambda-00-co-ret.C b/gcc/testsuite/g++.dg/coroutines/torture/lambda-00-co-ret.C
index 61e284d..7b77cec 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/lambda-00-co-ret.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/lambda-00-co-ret.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Simplest lambda
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/lambda-01-co-ret-parm.C b/gcc/testsuite/g++.dg/coroutines/torture/lambda-01-co-ret-parm.C
index 378eedc..925f1d0 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/lambda-01-co-ret-parm.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/lambda-01-co-ret-parm.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Lambda with parm
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/lambda-02-co-yield-values.C b/gcc/testsuite/g++.dg/coroutines/torture/lambda-02-co-yield-values.C
index a6f592c..20609ce 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/lambda-02-co-yield-values.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/lambda-02-co-yield-values.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// lambda with parm and local state
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/lambda-03-auto-parm-1.C b/gcc/testsuite/g++.dg/coroutines/torture/lambda-03-auto-parm-1.C
index bfa5400..9c8ddf2 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/lambda-03-auto-parm-1.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/lambda-03-auto-parm-1.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// generic Lambda with auto parm (c++14)
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/lambda-04-templ-parm.C b/gcc/testsuite/g++.dg/coroutines/torture/lambda-04-templ-parm.C
index adf31e2..ec8a994 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/lambda-04-templ-parm.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/lambda-04-templ-parm.C
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-additional-options "-std=c++2a" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// generic Lambda with template parm (from c++20)
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/lambda-05-capture-copy-local.C b/gcc/testsuite/g++.dg/coroutines/torture/lambda-05-capture-copy-local.C
index 7cd6648..04dcfa2 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/lambda-05-capture-copy-local.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/lambda-05-capture-copy-local.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// lambda with parm and local state
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/lambda-06-multi-capture.C b/gcc/testsuite/g++.dg/coroutines/torture/lambda-06-multi-capture.C
index 7b445d3..c2f2e93 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/lambda-06-multi-capture.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/lambda-06-multi-capture.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// lambda with parm and local state
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/lambda-07-multi-yield.C b/gcc/testsuite/g++.dg/coroutines/torture/lambda-07-multi-yield.C
index 2bd58cb..bc97507 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/lambda-07-multi-yield.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/lambda-07-multi-yield.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// lambda with parm and local state
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/lambda-08-co-ret-parm-ref.C b/gcc/testsuite/g++.dg/coroutines/torture/lambda-08-co-ret-parm-ref.C
index 4d5a44f..bfce44f 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/lambda-08-co-ret-parm-ref.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/lambda-08-co-ret-parm-ref.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test that we can use a function param in a co_xxxx status.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/lambda-09-init-captures.C b/gcc/testsuite/g++.dg/coroutines/torture/lambda-09-init-captures.C
index 920d6ea..ae7d9fa 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/lambda-09-init-captures.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/lambda-09-init-captures.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// lambda with initialized captures
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/lambda-10-mutable.C b/gcc/testsuite/g++.dg/coroutines/torture/lambda-10-mutable.C
index a10816c..a7fa4c7 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/lambda-10-mutable.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/lambda-10-mutable.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// lambda with mutable closure object.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/local-var-00-const.C b/gcc/testsuite/g++.dg/coroutines/torture/local-var-00-const.C
index a895645..f6c44e9 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/local-var-00-const.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/local-var-00-const.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Simplest local decl.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/local-var-01-single.C b/gcc/testsuite/g++.dg/coroutines/torture/local-var-01-single.C
index 69a5b70..cd35d97 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/local-var-01-single.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/local-var-01-single.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Simplest local var
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/local-var-02-conditional.C b/gcc/testsuite/g++.dg/coroutines/torture/local-var-02-conditional.C
index f232eda..90aa008 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/local-var-02-conditional.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/local-var-02-conditional.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test local vars in nested scopes
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/local-var-03-with-awaits.C b/gcc/testsuite/g++.dg/coroutines/torture/local-var-03-with-awaits.C
index bd06db5..f4209ab 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/local-var-03-with-awaits.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/local-var-03-with-awaits.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test modifying a local var and yielding several instances of it.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/local-var-04-hiding-nested-scopes.C b/gcc/testsuite/g++.dg/coroutines/torture/local-var-04-hiding-nested-scopes.C
index 04c1ab3..e347964 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/local-var-04-hiding-nested-scopes.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/local-var-04-hiding-nested-scopes.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test modifying a local var across nested scopes containing vars
// hiding those at outer scopes.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/local-var-05-awaitable.C b/gcc/testsuite/g++.dg/coroutines/torture/local-var-05-awaitable.C
index 7ea0043..e7a8491 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/local-var-05-awaitable.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/local-var-05-awaitable.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
// Test the case where the awaitables are local vars, and therefore already
// have a frame representation - and should not be copied to a second frame
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/local-var-06-structured-binding.C b/gcc/testsuite/g++.dg/coroutines/torture/local-var-06-structured-binding.C
index 282aa7a..462ab51 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/local-var-06-structured-binding.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/local-var-06-structured-binding.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "../coro.h"
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/mid-suspend-destruction-0.C b/gcc/testsuite/g++.dg/coroutines/torture/mid-suspend-destruction-0.C
index 0cbf93a..60852bb 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/mid-suspend-destruction-0.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/mid-suspend-destruction-0.C
@@ -3,6 +3,7 @@
// { dg-output "Destroyed coro1(\n|\r\n|\r)" }
// { dg-output "Destroyed suspend_always_prt(\n|\r\n|\r)" }
// { dg-output "Destroyed Promise(\n|\r\n|\r)" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check that we still get the right DTORs run when we let a suspended coro
// go out of scope.
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/pr95003.C b/gcc/testsuite/g++.dg/coroutines/torture/pr95003.C
index 9022dd2..ada827e 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/pr95003.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/pr95003.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "../coro.h"
#include "../coro1-ret-int-yield-int.h"
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/pr95519-00-return_void.C b/gcc/testsuite/g++.dg/coroutines/torture/pr95519-00-return_void.C
index 2952d01..5d40ed4 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/pr95519-00-return_void.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/pr95519-00-return_void.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "../coro.h"
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/pr95519-01-initial-suspend.C b/gcc/testsuite/g++.dg/coroutines/torture/pr95519-01-initial-suspend.C
index 346c20d..deb5a22 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/pr95519-01-initial-suspend.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/pr95519-01-initial-suspend.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "../coro.h"
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/pr95519-02-final_suspend.C b/gcc/testsuite/g++.dg/coroutines/torture/pr95519-02-final_suspend.C
index 4200c33..f1793b1 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/pr95519-02-final_suspend.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/pr95519-02-final_suspend.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "../coro.h"
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/pr95519-03-return-value.C b/gcc/testsuite/g++.dg/coroutines/torture/pr95519-03-return-value.C
index cf4c43d..093d4f70b 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/pr95519-03-return-value.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/pr95519-03-return-value.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "../coro.h"
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/pr95519-04-yield-value.C b/gcc/testsuite/g++.dg/coroutines/torture/pr95519-04-yield-value.C
index 5f1be4e..910be6b 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/pr95519-04-yield-value.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/pr95519-04-yield-value.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "../coro.h"
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/pr95519-05-gro.C b/gcc/testsuite/g++.dg/coroutines/torture/pr95519-05-gro.C
index 2e72183..28ecb32 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/pr95519-05-gro.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/pr95519-05-gro.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "../coro.h"
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/pr95519-06-grooaf.C b/gcc/testsuite/g++.dg/coroutines/torture/pr95519-06-grooaf.C
index b6b6bd7..ebea8d3 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/pr95519-06-grooaf.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/pr95519-06-grooaf.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "../coro.h"
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/pr95519-07-unhandled-exception.C b/gcc/testsuite/g++.dg/coroutines/torture/pr95519-07-unhandled-exception.C
index be2a928..3b9149c 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/pr95519-07-unhandled-exception.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/pr95519-07-unhandled-exception.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "../coro.h"
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/pr95615-01.C b/gcc/testsuite/g++.dg/coroutines/torture/pr95615-01.C
index cf30c82..baae030 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/pr95615-01.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/pr95615-01.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert in pr95615.inc" { ! hostedlib } }
#define INITIAL_SUSPEND_THROWS 1
#include "pr95615.inc"
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/pr95615-02.C b/gcc/testsuite/g++.dg/coroutines/torture/pr95615-02.C
index 7ec0f33..504c8b9 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/pr95615-02.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/pr95615-02.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert in pr95615.inc" { ! hostedlib } }
#define PROMISE_CTOR_THROWS 1
#include "pr95615.inc"
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/pr95615-03.C b/gcc/testsuite/g++.dg/coroutines/torture/pr95615-03.C
index 8053335..90b6395 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/pr95615-03.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/pr95615-03.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert in pr95615.inc" { ! hostedlib } }
#define GET_RETURN_OBJECT_THROWS 1
#include "pr95615.inc"
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/pr95615-04.C b/gcc/testsuite/g++.dg/coroutines/torture/pr95615-04.C
index db5c128..1b7f89f 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/pr95615-04.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/pr95615-04.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert in pr95615.inc" { ! hostedlib } }
#define INITIAL_AWAIT_READY_THROWS 1
#include "pr95615.inc"
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/pr95615-05.C b/gcc/testsuite/g++.dg/coroutines/torture/pr95615-05.C
index 5fd62f6..1d302c8 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/pr95615-05.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/pr95615-05.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert in pr95615.inc" { ! hostedlib } }
#define INITIAL_AWAIT_SUSPEND_THROWS 1
#include "pr95615.inc"
diff --git a/gcc/testsuite/g++.dg/coroutines/torture/pr98704.C b/gcc/testsuite/g++.dg/coroutines/torture/pr98704.C
index 15db250..fc914c6 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/pr98704.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/pr98704.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for stdexcept" { ! hostedlib } }
#include "../coro.h"
#include <stdexcept>
diff --git a/gcc/testsuite/g++.dg/cpp/pr80005.C b/gcc/testsuite/g++.dg/cpp/pr80005.C
index cc75261..1c4b01e 100644
--- a/gcc/testsuite/g++.dg/cpp/pr80005.C
+++ b/gcc/testsuite/g++.dg/cpp/pr80005.C
@@ -1,5 +1,6 @@
// PR preprocessor/80005
// { dg-do preprocess }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#undef vector
#define vector NOPE
diff --git a/gcc/testsuite/g++.dg/cpp0x/Wliteral-suffix.C b/gcc/testsuite/g++.dg/cpp0x/Wliteral-suffix.C
index b9b975b..bfa3c9e 100644
--- a/gcc/testsuite/g++.dg/cpp0x/Wliteral-suffix.C
+++ b/gcc/testsuite/g++.dg/cpp0x/Wliteral-suffix.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
// Make sure -Wliteral-suffix is enabled by default and
// triggers as expected.
diff --git a/gcc/testsuite/g++.dg/cpp0x/Wpessimizing-move2.C b/gcc/testsuite/g++.dg/cpp0x/Wpessimizing-move2.C
index 0ee6e05..bec6c7b 100644
--- a/gcc/testsuite/g++.dg/cpp0x/Wpessimizing-move2.C
+++ b/gcc/testsuite/g++.dg/cpp0x/Wpessimizing-move2.C
@@ -1,6 +1,7 @@
// PR c++/86981
// { dg-do compile { target c++11 } }
// { dg-options "-Wpessimizing-move" }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
#include <tuple>
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-70001-3.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-70001-3.C
index 12c4c45..53287b1 100644
--- a/gcc/testsuite/g++.dg/cpp0x/constexpr-70001-3.C
+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-70001-3.C
@@ -2,6 +2,7 @@
// This is still slow to compile, only run it once.
// { dg-do compile { target c++14_only } }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
#include <array>
#include <complex>
diff --git a/gcc/testsuite/g++.dg/cpp0x/constexpr-ice16.C b/gcc/testsuite/g++.dg/cpp0x/constexpr-ice16.C
index 112415b..fd55e08 100644
--- a/gcc/testsuite/g++.dg/cpp0x/constexpr-ice16.C
+++ b/gcc/testsuite/g++.dg/cpp0x/constexpr-ice16.C
@@ -1,5 +1,6 @@
// PR c++/66635
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp0x/dc5.C b/gcc/testsuite/g++.dg/cpp0x/dc5.C
index 5732162..e4bdfd1 100644
--- a/gcc/testsuite/g++.dg/cpp0x/dc5.C
+++ b/gcc/testsuite/g++.dg/cpp0x/dc5.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp0x/enum35.C b/gcc/testsuite/g++.dg/cpp0x/enum35.C
index bcc1b26..126fc7f 100644
--- a/gcc/testsuite/g++.dg/cpp0x/enum35.C
+++ b/gcc/testsuite/g++.dg/cpp0x/enum35.C
@@ -1,5 +1,6 @@
// PR c++/82307
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp0x/enum36.C b/gcc/testsuite/g++.dg/cpp0x/enum36.C
index 4859670..e326942 100644
--- a/gcc/testsuite/g++.dg/cpp0x/enum36.C
+++ b/gcc/testsuite/g++.dg/cpp0x/enum36.C
@@ -1,5 +1,6 @@
// PR c++/82307
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp0x/initlist-opt1.C b/gcc/testsuite/g++.dg/cpp0x/initlist-opt1.C
index 56de4bc..391b7c4 100644
--- a/gcc/testsuite/g++.dg/cpp0x/initlist-opt1.C
+++ b/gcc/testsuite/g++.dg/cpp0x/initlist-opt1.C
@@ -1,5 +1,6 @@
// PR c++/110102
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for list" { ! hostedlib } }
// { dg-error "deleted|construct_at" "" { target *-*-* } 0 }
diff --git a/gcc/testsuite/g++.dg/cpp0x/initlist-vect2.C b/gcc/testsuite/g++.dg/cpp0x/initlist-vect2.C
index eec7d34..eba0e17 100644
--- a/gcc/testsuite/g++.dg/cpp0x/initlist-vect2.C
+++ b/gcc/testsuite/g++.dg/cpp0x/initlist-vect2.C
@@ -1,5 +1,6 @@
// PR c++/108195
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
diff --git a/gcc/testsuite/g++.dg/cpp0x/initlist13.C b/gcc/testsuite/g++.dg/cpp0x/initlist13.C
index bba2267..2da89dc 100644
--- a/gcc/testsuite/g++.dg/cpp0x/initlist13.C
+++ b/gcc/testsuite/g++.dg/cpp0x/initlist13.C
@@ -1,5 +1,6 @@
// PR c++/39056
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
#include <complex>
diff --git a/gcc/testsuite/g++.dg/cpp0x/initlist15.C b/gcc/testsuite/g++.dg/cpp0x/initlist15.C
index acd0495..aaa01fb 100644
--- a/gcc/testsuite/g++.dg/cpp0x/initlist15.C
+++ b/gcc/testsuite/g++.dg/cpp0x/initlist15.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
// Just discard errors pointing at header files
// { dg-prune-output "include" }
diff --git a/gcc/testsuite/g++.dg/cpp0x/initlist25.C b/gcc/testsuite/g++.dg/cpp0x/initlist25.C
index dd41db1..0e110c5 100644
--- a/gcc/testsuite/g++.dg/cpp0x/initlist25.C
+++ b/gcc/testsuite/g++.dg/cpp0x/initlist25.C
@@ -1,5 +1,6 @@
// PR c++/41754
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for map" { ! hostedlib } }
#include <map>
#include <string>
diff --git a/gcc/testsuite/g++.dg/cpp0x/initlist54.C b/gcc/testsuite/g++.dg/cpp0x/initlist54.C
index 52a8ff9..b9dcd39 100644
--- a/gcc/testsuite/g++.dg/cpp0x/initlist54.C
+++ b/gcc/testsuite/g++.dg/cpp0x/initlist54.C
@@ -1,5 +1,6 @@
// PR c++/49355
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
diff --git a/gcc/testsuite/g++.dg/cpp0x/initlist92.C b/gcc/testsuite/g++.dg/cpp0x/initlist92.C
index 213b192..8507912 100644
--- a/gcc/testsuite/g++.dg/cpp0x/initlist92.C
+++ b/gcc/testsuite/g++.dg/cpp0x/initlist92.C
@@ -1,5 +1,6 @@
// PR c++/64665, DR 1467
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-capture-const-ref-neg.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-capture-const-ref-neg.C
index 9c9632c..9f7c7a8 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-capture-const-ref-neg.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-capture-const-ref-neg.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
int main() {
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-capture-const-ref.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-capture-const-ref.C
index 16fd0a7..3668a77 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-capture-const-ref.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-capture-const-ref.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
int main() {
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const-neg.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const-neg.C
index 28ea533..e1c3dac 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const-neg.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const-neg.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const.C
index c6150f1..9c639bf 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-const.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-deduce.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-deduce.C
index b0e2d9f..26e6816 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-deduce.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-deduce.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
int main() {
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-in-class-neg.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-in-class-neg.C
index cff3d37..4017089 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-in-class-neg.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-in-class-neg.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-in-class.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-in-class.C
index f2b54e58..bfa04c4 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-in-class.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-in-class.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-mixed.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-mixed.C
index d3f4341..e934e33 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-mixed.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-mixed.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
int main() {
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-mutable.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-mutable.C
index 2c6b0f2..2471adc 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-mutable.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-mutable.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
int main() {
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nested.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nested.C
index 3848938..a0f1a47 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nested.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nested.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-non-const.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-non-const.C
index b5a335e..66d8218 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-non-const.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-non-const.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nop.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nop.C
index 4a04cfb..c64e180 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nop.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nop.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
int main() {
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nullptr.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nullptr.C
index 1aadbb4..b88b0eb69 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nullptr.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-nullptr.C
@@ -1,5 +1,6 @@
// PR c++/54170
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-pass.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-pass.C
index d904ebe..5747766 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-pass.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-pass.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
#include <algorithm>
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-recursive.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-recursive.C
index cbaeb16..f4b1c8e 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-recursive.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-recursive.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
//#include <iostream>
#include <functional>
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ref-default.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ref-default.C
index 6b86369..f0cc3c6 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ref-default.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ref-default.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ref.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ref.C
index def13fd..dbeaf2c 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ref.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-ref.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-std-function.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-std-function.C
index a410384..78a1284 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-std-function.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-std-function.C
@@ -1,5 +1,6 @@
// Test using std::function wrapper.
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for functional function" { ! hostedlib } }
#include <functional>
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this8.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this8.C
index e62cd08..f4cfcb5 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this8.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this8.C
@@ -1,5 +1,6 @@
// PR c++/56135
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for functional function" { ! hostedlib } }
#include <functional>
diff --git a/gcc/testsuite/g++.dg/cpp0x/nullptr20.C b/gcc/testsuite/g++.dg/cpp0x/nullptr20.C
index bbd0c7e..985f502 100644
--- a/gcc/testsuite/g++.dg/cpp0x/nullptr20.C
+++ b/gcc/testsuite/g++.dg/cpp0x/nullptr20.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// Test passing to ellipisis
diff --git a/gcc/testsuite/g++.dg/cpp0x/pr61038.C b/gcc/testsuite/g++.dg/cpp0x/pr61038.C
index 6c7a47b..96aabe5 100644
--- a/gcc/testsuite/g++.dg/cpp0x/pr61038.C
+++ b/gcc/testsuite/g++.dg/cpp0x/pr61038.C
@@ -1,5 +1,6 @@
// PR c++/61038
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
#include <cstring>
#include <cstdlib>
diff --git a/gcc/testsuite/g++.dg/cpp0x/pr70887.C b/gcc/testsuite/g++.dg/cpp0x/pr70887.C
index f5b31b2..38b0fb2 100644
--- a/gcc/testsuite/g++.dg/cpp0x/pr70887.C
+++ b/gcc/testsuite/g++.dg/cpp0x/pr70887.C
@@ -1,6 +1,7 @@
// PR middle-end/70887
// { dg-do compile { target { { i?86-*-* x86_64-*-* } && c++11 } } }
// { dg-options "-O2 -msse2" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } }
#include <x86intrin.h>
diff --git a/gcc/testsuite/g++.dg/cpp0x/rv-trivial-bug.C b/gcc/testsuite/g++.dg/cpp0x/rv-trivial-bug.C
index 09732d1..c06a3e6 100644
--- a/gcc/testsuite/g++.dg/cpp0x/rv-trivial-bug.C
+++ b/gcc/testsuite/g++.dg/cpp0x/rv-trivial-bug.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
// PR c++/33235
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp0x/udlit-concat-neg.C b/gcc/testsuite/g++.dg/cpp0x/udlit-concat-neg.C
index 3093a7c..95d4927 100644
--- a/gcc/testsuite/g++.dg/cpp0x/udlit-concat-neg.C
+++ b/gcc/testsuite/g++.dg/cpp0x/udlit-concat-neg.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
diff --git a/gcc/testsuite/g++.dg/cpp0x/udlit-concat.C b/gcc/testsuite/g++.dg/cpp0x/udlit-concat.C
index d4f10c2..208aaee 100644
--- a/gcc/testsuite/g++.dg/cpp0x/udlit-concat.C
+++ b/gcc/testsuite/g++.dg/cpp0x/udlit-concat.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
diff --git a/gcc/testsuite/g++.dg/cpp0x/udlit-embed-quote.C b/gcc/testsuite/g++.dg/cpp0x/udlit-embed-quote.C
index fef1a53..27f7c99 100644
--- a/gcc/testsuite/g++.dg/cpp0x/udlit-embed-quote.C
+++ b/gcc/testsuite/g++.dg/cpp0x/udlit-embed-quote.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
// Make sure embedded quotes are not a problem for string and char literals.
diff --git a/gcc/testsuite/g++.dg/cpp0x/udlit-extended-id-1.C b/gcc/testsuite/g++.dg/cpp0x/udlit-extended-id-1.C
index 94c0cd4..e9373e5 100644
--- a/gcc/testsuite/g++.dg/cpp0x/udlit-extended-id-1.C
+++ b/gcc/testsuite/g++.dg/cpp0x/udlit-extended-id-1.C
@@ -1,6 +1,8 @@
// { dg-do run { target c++11 } }
// { dg-additional-options "-Wno-error=normalized" }
// { dg-require-effective-target ucn }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
+
#include <cstring>
#include <cstddef>
using namespace std;
diff --git a/gcc/testsuite/g++.dg/cpp0x/udlit-general.C b/gcc/testsuite/g++.dg/cpp0x/udlit-general.C
index d69db56..28732d8 100644
--- a/gcc/testsuite/g++.dg/cpp0x/udlit-general.C
+++ b/gcc/testsuite/g++.dg/cpp0x/udlit-general.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
// Test user-defined literals.
// Test simple operator declaration and definition.
diff --git a/gcc/testsuite/g++.dg/cpp0x/udlit-namespace.C b/gcc/testsuite/g++.dg/cpp0x/udlit-namespace.C
index 7329890..a2e4e41 100644
--- a/gcc/testsuite/g++.dg/cpp0x/udlit-namespace.C
+++ b/gcc/testsuite/g++.dg/cpp0x/udlit-namespace.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cmath" { ! hostedlib } }
// Test user-defined literals.
// Test simple operator declaration and definition in namespaces.
diff --git a/gcc/testsuite/g++.dg/cpp0x/udlit-raw-op.C b/gcc/testsuite/g++.dg/cpp0x/udlit-raw-op.C
index c3259ed..9f57ac5 100644
--- a/gcc/testsuite/g++.dg/cpp0x/udlit-raw-op.C
+++ b/gcc/testsuite/g++.dg/cpp0x/udlit-raw-op.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
#include <cstring>
diff --git a/gcc/testsuite/g++.dg/cpp0x/udlit-raw-str.C b/gcc/testsuite/g++.dg/cpp0x/udlit-raw-str.C
index 7ca37b2..1991de1 100644
--- a/gcc/testsuite/g++.dg/cpp0x/udlit-raw-str.C
+++ b/gcc/testsuite/g++.dg/cpp0x/udlit-raw-str.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
diff --git a/gcc/testsuite/g++.dg/cpp0x/udlit-resolve-char8_t.C b/gcc/testsuite/g++.dg/cpp0x/udlit-resolve-char8_t.C
index 19cbd51..5a264c2 100644
--- a/gcc/testsuite/g++.dg/cpp0x/udlit-resolve-char8_t.C
+++ b/gcc/testsuite/g++.dg/cpp0x/udlit-resolve-char8_t.C
@@ -1,4 +1,5 @@
// { dg-options "-std=c++17 -fchar8_t" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cstdint>
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp0x/udlit-resolve.C b/gcc/testsuite/g++.dg/cpp0x/udlit-resolve.C
index c1ceef7..c311cfb 100644
--- a/gcc/testsuite/g++.dg/cpp0x/udlit-resolve.C
+++ b/gcc/testsuite/g++.dg/cpp0x/udlit-resolve.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cstdint>
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp0x/udlit-sfinae.C b/gcc/testsuite/g++.dg/cpp0x/udlit-sfinae.C
index e24b79d..e69dd5a 100644
--- a/gcc/testsuite/g++.dg/cpp0x/udlit-sfinae.C
+++ b/gcc/testsuite/g++.dg/cpp0x/udlit-sfinae.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp0x/udlit-string-literal.C b/gcc/testsuite/g++.dg/cpp0x/udlit-string-literal.C
index ab65dd0..78e2b26 100644
--- a/gcc/testsuite/g++.dg/cpp0x/udlit-string-literal.C
+++ b/gcc/testsuite/g++.dg/cpp0x/udlit-string-literal.C
@@ -1,5 +1,6 @@
// { dg-do compile { target c++11 } }
// { dg-require-effective-target stdint_types }
+// { dg-skip-if "requires hosted libstdc++ for string in udlit-string-literal.h" { ! hostedlib } }
// PR c++/55582
#include "udlit-string-literal.h"
diff --git a/gcc/testsuite/g++.dg/cpp0x/udlit-suffix-neg.C b/gcc/testsuite/g++.dg/cpp0x/udlit-suffix-neg.C
index 7283fed..8f3cc87 100644
--- a/gcc/testsuite/g++.dg/cpp0x/udlit-suffix-neg.C
+++ b/gcc/testsuite/g++.dg/cpp0x/udlit-suffix-neg.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
diff --git a/gcc/testsuite/g++.dg/cpp0x/udlit-template.C b/gcc/testsuite/g++.dg/cpp0x/udlit-template.C
index 1558319..b5306b9 100644
--- a/gcc/testsuite/g++.dg/cpp0x/udlit-template.C
+++ b/gcc/testsuite/g++.dg/cpp0x/udlit-template.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
// Test user-defined literals.
// Test template operator declaration and definition.
diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic-bind.C b/gcc/testsuite/g++.dg/cpp0x/variadic-bind.C
index 74e01ec..dd3b390 100644
--- a/gcc/testsuite/g++.dg/cpp0x/variadic-bind.C
+++ b/gcc/testsuite/g++.dg/cpp0x/variadic-bind.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
// A basic implementation of TR1's bind using variadic teplates
// Contributed by Douglas Gregor <doug.gregor@gmail.com>
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic-function.C b/gcc/testsuite/g++.dg/cpp0x/variadic-function.C
index bb98531..1a5103a 100644
--- a/gcc/testsuite/g++.dg/cpp0x/variadic-function.C
+++ b/gcc/testsuite/g++.dg/cpp0x/variadic-function.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
// A basic implementation of TR1's function using variadic teplates
// Contributed by Douglas Gregor <doug.gregor@gmail.com>
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic-mem_fn.C b/gcc/testsuite/g++.dg/cpp0x/variadic-mem_fn.C
index aca58e3..7a70710 100644
--- a/gcc/testsuite/g++.dg/cpp0x/variadic-mem_fn.C
+++ b/gcc/testsuite/g++.dg/cpp0x/variadic-mem_fn.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
// A basic implementation of TR1's mem_fn using variadic teplates
// Contributed by Douglas Gregor <doug.gregor@gmail.com>
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic-tuple.C b/gcc/testsuite/g++.dg/cpp0x/variadic-tuple.C
index 5164598..651618e 100644
--- a/gcc/testsuite/g++.dg/cpp0x/variadic-tuple.C
+++ b/gcc/testsuite/g++.dg/cpp0x/variadic-tuple.C
@@ -1,5 +1,6 @@
// { dg-do run { target c++11 } }
// { dg-additional-options "-fexcess-precision=fast" }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
// An implementation of TR1's <tuple> using variadic teplates
// Contributed by Douglas Gregor <doug.gregor@gmail.com>
diff --git a/gcc/testsuite/g++.dg/cpp1y/auto-fn45.C b/gcc/testsuite/g++.dg/cpp1y/auto-fn45.C
index a9c163d..203f807 100644
--- a/gcc/testsuite/g++.dg/cpp1y/auto-fn45.C
+++ b/gcc/testsuite/g++.dg/cpp1y/auto-fn45.C
@@ -1,5 +1,6 @@
// PR c++/69057
// { dg-do compile { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp1y/complex_literals1.C b/gcc/testsuite/g++.dg/cpp1y/complex_literals1.C
index 5ae2370..3cedd0d 100644
--- a/gcc/testsuite/g++.dg/cpp1y/complex_literals1.C
+++ b/gcc/testsuite/g++.dg/cpp1y/complex_literals1.C
@@ -1,5 +1,6 @@
// PR c++/79228
// { dg-do compile { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
#include <complex>
diff --git a/gcc/testsuite/g++.dg/cpp1y/complex_literals1a.C b/gcc/testsuite/g++.dg/cpp1y/complex_literals1a.C
index 9b61f3a..a5d1e01 100644
--- a/gcc/testsuite/g++.dg/cpp1y/complex_literals1a.C
+++ b/gcc/testsuite/g++.dg/cpp1y/complex_literals1a.C
@@ -1,6 +1,7 @@
// PR c++/79228
// { dg-do compile { target c++14 } }
// { dg-options "" }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
#include <complex>
diff --git a/gcc/testsuite/g++.dg/cpp1y/constexpr-66093.C b/gcc/testsuite/g++.dg/cpp1y/constexpr-66093.C
index 3d742cf..b463c90 100644
--- a/gcc/testsuite/g++.dg/cpp1y/constexpr-66093.C
+++ b/gcc/testsuite/g++.dg/cpp1y/constexpr-66093.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp1y/constexpr-assert1.C b/gcc/testsuite/g++.dg/cpp1y/constexpr-assert1.C
index df2a315..66acfcc 100644
--- a/gcc/testsuite/g++.dg/cpp1y/constexpr-assert1.C
+++ b/gcc/testsuite/g++.dg/cpp1y/constexpr-assert1.C
@@ -1,5 +1,6 @@
// PR c++/59329
// { dg-do compile { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp1y/constexpr-assert2.C b/gcc/testsuite/g++.dg/cpp1y/constexpr-assert2.C
index a329101..def05f5 100644
--- a/gcc/testsuite/g++.dg/cpp1y/constexpr-assert2.C
+++ b/gcc/testsuite/g++.dg/cpp1y/constexpr-assert2.C
@@ -1,5 +1,6 @@
// PR c++/65985
// { dg-do compile { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp1y/feat-cxx14.C b/gcc/testsuite/g++.dg/cpp1y/feat-cxx14.C
index a78b6a3..cd58309 100644
--- a/gcc/testsuite/g++.dg/cpp1y/feat-cxx14.C
+++ b/gcc/testsuite/g++.dg/cpp1y/feat-cxx14.C
@@ -1,4 +1,5 @@
// { dg-options "-std=c++14 -I${srcdir}/g++.dg/cpp1y -I${srcdir}/g++.dg/cpp1y/testinc" }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
// C++98 features:
diff --git a/gcc/testsuite/g++.dg/cpp1y/lambda-generic-69078-2.C b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-69078-2.C
index 318e096..e73b86e 100644
--- a/gcc/testsuite/g++.dg/cpp1y/lambda-generic-69078-2.C
+++ b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-69078-2.C
@@ -1,5 +1,6 @@
// PR c++/69078
// { dg-do run { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic2.C b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic2.C
index c70cc8d..b7ff755 100644
--- a/gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic2.C
+++ b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic2.C
@@ -1,6 +1,7 @@
// PR c++/64105
// This test was ICEing in C++11 mode.
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for functional function" { ! hostedlib } }
#include <functional>
diff --git a/gcc/testsuite/g++.dg/cpp1y/lambda-generic-x.C b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-x.C
index 0926a5e..723512f 100644
--- a/gcc/testsuite/g++.dg/cpp1y/lambda-generic-x.C
+++ b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-x.C
@@ -1,6 +1,7 @@
// Explicit generic lambda test from N3690 5.1.2.5
// { dg-do compile { target c++14 } }
// { dg-options "-Wpedantic" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
diff --git a/gcc/testsuite/g++.dg/cpp1y/lambda-init8.C b/gcc/testsuite/g++.dg/cpp1y/lambda-init8.C
index 21933bd..7ccb01e 100644
--- a/gcc/testsuite/g++.dg/cpp1y/lambda-init8.C
+++ b/gcc/testsuite/g++.dg/cpp1y/lambda-init8.C
@@ -1,5 +1,6 @@
// DR1760: "no additional copy and destruction is performed"
// { dg-do run { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp1y/new2.C b/gcc/testsuite/g++.dg/cpp1y/new2.C
index cdcbd7d..3fecda7 100644
--- a/gcc/testsuite/g++.dg/cpp1y/new2.C
+++ b/gcc/testsuite/g++.dg/cpp1y/new2.C
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -std=c++17 -fdump-tree-cddce-details -fdelete-null-pointer-checks" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } } */
#include <cstdio>
#include <cstdlib>
diff --git a/gcc/testsuite/g++.dg/cpp1y/nsdmi-aggr12.C b/gcc/testsuite/g++.dg/cpp1y/nsdmi-aggr12.C
index fcc1f50..92a82fd 100644
--- a/gcc/testsuite/g++.dg/cpp1y/nsdmi-aggr12.C
+++ b/gcc/testsuite/g++.dg/cpp1y/nsdmi-aggr12.C
@@ -1,5 +1,6 @@
// PR c++/90926
// { dg-do run { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp1y/pr57640.C b/gcc/testsuite/g++.dg/cpp1y/pr57640.C
index 0c76a08..6a79ea2 100644
--- a/gcc/testsuite/g++.dg/cpp1y/pr57640.C
+++ b/gcc/testsuite/g++.dg/cpp1y/pr57640.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for chrono" { ! hostedlib } }
#include <chrono>
diff --git a/gcc/testsuite/g++.dg/cpp1y/pr77786.C b/gcc/testsuite/g++.dg/cpp1y/pr77786.C
index e242228..c1e2be7 100644
--- a/gcc/testsuite/g++.dg/cpp1y/pr77786.C
+++ b/gcc/testsuite/g++.dg/cpp1y/pr77786.C
@@ -1,5 +1,6 @@
// PR c++/77786
// { dg-do compile { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
diff --git a/gcc/testsuite/g++.dg/cpp1y/pr95226.C b/gcc/testsuite/g++.dg/cpp1y/pr95226.C
index 614c83c..0808bd6 100644
--- a/gcc/testsuite/g++.dg/cpp1y/pr95226.C
+++ b/gcc/testsuite/g++.dg/cpp1y/pr95226.C
@@ -1,5 +1,6 @@
// PR c++/95226
// { dg-do run { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
diff --git a/gcc/testsuite/g++.dg/cpp1y/udlit-char-template-sfinae.C b/gcc/testsuite/g++.dg/cpp1y/udlit-char-template-sfinae.C
index b523858..f1cd1cc 100644
--- a/gcc/testsuite/g++.dg/cpp1y/udlit-char-template-sfinae.C
+++ b/gcc/testsuite/g++.dg/cpp1y/udlit-char-template-sfinae.C
@@ -1,5 +1,6 @@
// { dg-do run { target c++14 } }
// { dg-options -w }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp1y/udlit-char-template-vs-std-literal-operator.C b/gcc/testsuite/g++.dg/cpp1y/udlit-char-template-vs-std-literal-operator.C
index c5a67c9..babef5a 100644
--- a/gcc/testsuite/g++.dg/cpp1y/udlit-char-template-vs-std-literal-operator.C
+++ b/gcc/testsuite/g++.dg/cpp1y/udlit-char-template-vs-std-literal-operator.C
@@ -1,5 +1,6 @@
// { dg-do run { target c++14 } }
// { dg-options -w }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp1y/udlit-userdef-string.C b/gcc/testsuite/g++.dg/cpp1y/udlit-userdef-string.C
index cad4a1d..c75e016 100644
--- a/gcc/testsuite/g++.dg/cpp1y/udlit-userdef-string.C
+++ b/gcc/testsuite/g++.dg/cpp1y/udlit-userdef-string.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for complex in complex_literals.h" { ! hostedlib } }
#include "complex_literals.h"
diff --git a/gcc/testsuite/g++.dg/cpp1z/class-deduction14.C b/gcc/testsuite/g++.dg/cpp1z/class-deduction14.C
index ba2ba9b..69bcd8f 100644
--- a/gcc/testsuite/g++.dg/cpp1z/class-deduction14.C
+++ b/gcc/testsuite/g++.dg/cpp1z/class-deduction14.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++17 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
diff --git a/gcc/testsuite/g++.dg/cpp1z/constexpr-asm-1.C b/gcc/testsuite/g++.dg/cpp1z/constexpr-asm-1.C
index 311209a..2048360 100644
--- a/gcc/testsuite/g++.dg/cpp1z/constexpr-asm-1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/constexpr-asm-1.C
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-std=gnu++17" } */
+/* { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } } */
#include <string>
diff --git a/gcc/testsuite/g++.dg/cpp1z/constexpr-asm-3.C b/gcc/testsuite/g++.dg/cpp1z/constexpr-asm-3.C
index 0cf8940..6950374 100644
--- a/gcc/testsuite/g++.dg/cpp1z/constexpr-asm-3.C
+++ b/gcc/testsuite/g++.dg/cpp1z/constexpr-asm-3.C
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-std=gnu++17" } */
+/* { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } } */
#include <string>
diff --git a/gcc/testsuite/g++.dg/cpp1z/decomp37.C b/gcc/testsuite/g++.dg/cpp1z/decomp37.C
index 6bf8176..6e0e8b5 100644
--- a/gcc/testsuite/g++.dg/cpp1z/decomp37.C
+++ b/gcc/testsuite/g++.dg/cpp1z/decomp37.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++17 } }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <memory>
#include <tuple>
diff --git a/gcc/testsuite/g++.dg/cpp1z/eval-order2.C b/gcc/testsuite/g++.dg/cpp1z/eval-order2.C
index af26cb2..1be2af7 100644
--- a/gcc/testsuite/g++.dg/cpp1z/eval-order2.C
+++ b/gcc/testsuite/g++.dg/cpp1z/eval-order2.C
@@ -1,5 +1,6 @@
// P0145R2: Refining Expression Order for C++
// { dg-do run { target c++17 } }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
#define assert(X) if (!(X)) __builtin_abort();
diff --git a/gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C b/gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C
index e6f456b..bb16425 100644
--- a/gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C
+++ b/gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C
@@ -1,5 +1,6 @@
// { dg-do compile }
// { dg-options "-std=c++17 -I${srcdir}/g++.dg/cpp1y -I${srcdir}/g++.dg/cpp1y/testinc" }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
// C++98 features:
diff --git a/gcc/testsuite/g++.dg/cpp1z/fold1.C b/gcc/testsuite/g++.dg/cpp1z/fold1.C
index 6d00467..ee5f484 100644
--- a/gcc/testsuite/g++.dg/cpp1z/fold1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/fold1.C
@@ -1,5 +1,6 @@
// { dg-do run { target c++17 } }
// { dg-options "" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp1z/init-statement6.C b/gcc/testsuite/g++.dg/cpp1z/init-statement6.C
index e1848aa..95a4bea 100644
--- a/gcc/testsuite/g++.dg/cpp1z/init-statement6.C
+++ b/gcc/testsuite/g++.dg/cpp1z/init-statement6.C
@@ -1,5 +1,6 @@
// Testcase from P0305R1
// { dg-do compile { target c++17 } }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
#include <map>
diff --git a/gcc/testsuite/g++.dg/cpp1z/launder3.C b/gcc/testsuite/g++.dg/cpp1z/launder3.C
index 2a2afc5..9095400 100644
--- a/gcc/testsuite/g++.dg/cpp1z/launder3.C
+++ b/gcc/testsuite/g++.dg/cpp1z/launder3.C
@@ -1,5 +1,6 @@
// { dg-do run { target c++11 } }
// { dg-additional-options "-O2" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp1z/launder4.C b/gcc/testsuite/g++.dg/cpp1z/launder4.C
index 3a65eb2..d9698f8 100644
--- a/gcc/testsuite/g++.dg/cpp1z/launder4.C
+++ b/gcc/testsuite/g++.dg/cpp1z/launder4.C
@@ -1,5 +1,6 @@
// { dg-do run { target c++11 } }
// { dg-additional-options "-O2" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp1z/launder5.C b/gcc/testsuite/g++.dg/cpp1z/launder5.C
index 483d6f2..5bc97f6 100644
--- a/gcc/testsuite/g++.dg/cpp1z/launder5.C
+++ b/gcc/testsuite/g++.dg/cpp1z/launder5.C
@@ -1,6 +1,7 @@
// { dg-do run { target c++11 } }
// { dg-additional-options "-O2" }
// { dg-additional-sources "launder5.cc" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
#include "launder5.h"
diff --git a/gcc/testsuite/g++.dg/cpp1z/launder6.C b/gcc/testsuite/g++.dg/cpp1z/launder6.C
index babc4b4..e92b02c 100644
--- a/gcc/testsuite/g++.dg/cpp1z/launder6.C
+++ b/gcc/testsuite/g++.dg/cpp1z/launder6.C
@@ -1,6 +1,7 @@
// { dg-do run { target c++11 } }
// { dg-additional-options "-O2" }
// { dg-additional-sources "launder6.cc" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
#include "launder6.h"
diff --git a/gcc/testsuite/g++.dg/cpp1z/utf8.C b/gcc/testsuite/g++.dg/cpp1z/utf8.C
index ed413f3..1d496a1 100644
--- a/gcc/testsuite/g++.dg/cpp1z/utf8.C
+++ b/gcc/testsuite/g++.dg/cpp1z/utf8.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++17 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
#include <experimental/type_traits>
diff --git a/gcc/testsuite/g++.dg/cpp23/ext-floating12.C b/gcc/testsuite/g++.dg/cpp23/ext-floating12.C
index a09c3fc..c1edcd5 100644
--- a/gcc/testsuite/g++.dg/cpp23/ext-floating12.C
+++ b/gcc/testsuite/g++.dg/cpp23/ext-floating12.C
@@ -3,6 +3,7 @@
// { dg-options "" }
// { dg-add-options float16 }
// { dg-add-options bfloat16 }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
#include <complex>
#include <stdfloat>
diff --git a/gcc/testsuite/g++.dg/cpp23/feat-cxx2b.C b/gcc/testsuite/g++.dg/cpp23/feat-cxx2b.C
index d81aab7..a1ddc81 100644
--- a/gcc/testsuite/g++.dg/cpp23/feat-cxx2b.C
+++ b/gcc/testsuite/g++.dg/cpp23/feat-cxx2b.C
@@ -1,4 +1,5 @@
// { dg-options "-std=c++2b -I${srcdir}/g++.dg/cpp1y -I${srcdir}/g++.dg/cpp1y/testinc" }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
// C++98 features:
diff --git a/gcc/testsuite/g++.dg/cpp23/subscript5.C b/gcc/testsuite/g++.dg/cpp23/subscript5.C
index b36bc77..eac6a24 100644
--- a/gcc/testsuite/g++.dg/cpp23/subscript5.C
+++ b/gcc/testsuite/g++.dg/cpp23/subscript5.C
@@ -1,5 +1,6 @@
// P2128R6
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include <initializer_list>
#include <cstdlib>
diff --git a/gcc/testsuite/g++.dg/cpp23/subscript6.C b/gcc/testsuite/g++.dg/cpp23/subscript6.C
index 72c7aef..df4a6f9 100644
--- a/gcc/testsuite/g++.dg/cpp23/subscript6.C
+++ b/gcc/testsuite/g++.dg/cpp23/subscript6.C
@@ -1,6 +1,7 @@
// P2128R6
// { dg-do run }
// { dg-options "-std=c++23" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include <initializer_list>
#include <cstdlib>
diff --git a/gcc/testsuite/g++.dg/cpp26/constexpr-new2.C b/gcc/testsuite/g++.dg/cpp26/constexpr-new2.C
index e333185..02200ec 100644
--- a/gcc/testsuite/g++.dg/cpp26/constexpr-new2.C
+++ b/gcc/testsuite/g++.dg/cpp26/constexpr-new2.C
@@ -1,5 +1,6 @@
// C++26 P2747R2 - constexpr placement new
// { dg-do compile { target c++26 } }
+// { dg-skip-if "requires hosted libstdc++ for memory allocator" { ! hostedlib } }
#include <memory>
#include <new>
diff --git a/gcc/testsuite/g++.dg/cpp26/constexpr-voidptr1.C b/gcc/testsuite/g++.dg/cpp26/constexpr-voidptr1.C
index ce0ccbe..c9e6455 100644
--- a/gcc/testsuite/g++.dg/cpp26/constexpr-voidptr1.C
+++ b/gcc/testsuite/g++.dg/cpp26/constexpr-voidptr1.C
@@ -1,5 +1,6 @@
// PR c++/110344
// { dg-do compile { target c++26 } }
+// { dg-skip-if "requires hosted libstdc++ for cwchar" { ! hostedlib } }
#include <string_view>
struct Sheep {
diff --git a/gcc/testsuite/g++.dg/cpp26/feat-cxx26.C b/gcc/testsuite/g++.dg/cpp26/feat-cxx26.C
index 82be39c..52c89e4 100644
--- a/gcc/testsuite/g++.dg/cpp26/feat-cxx26.C
+++ b/gcc/testsuite/g++.dg/cpp26/feat-cxx26.C
@@ -1,4 +1,5 @@
// { dg-options "-std=c++26 -I${srcdir}/g++.dg/cpp1y -I${srcdir}/g++.dg/cpp1y/testinc" }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
// C++98 features:
diff --git a/gcc/testsuite/g++.dg/cpp2a/concepts-cmath.C b/gcc/testsuite/g++.dg/cpp2a/concepts-cmath.C
index d13100b..7864935 100644
--- a/gcc/testsuite/g++.dg/cpp2a/concepts-cmath.C
+++ b/gcc/testsuite/g++.dg/cpp2a/concepts-cmath.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++20 } }
+// { dg-skip-if "requires hosted libstdc++ for cmath" { ! hostedlib } }
#include <cmath>
diff --git a/gcc/testsuite/g++.dg/cpp2a/concepts-explicit-spec1.C b/gcc/testsuite/g++.dg/cpp2a/concepts-explicit-spec1.C
index 2fe4799..e48d640 100644
--- a/gcc/testsuite/g++.dg/cpp2a/concepts-explicit-spec1.C
+++ b/gcc/testsuite/g++.dg/cpp2a/concepts-explicit-spec1.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++20 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp2a/concepts-explicit-spec4.C b/gcc/testsuite/g++.dg/cpp2a/concepts-explicit-spec4.C
index 471eaba..94cebb9 100644
--- a/gcc/testsuite/g++.dg/cpp2a/concepts-explicit-spec4.C
+++ b/gcc/testsuite/g++.dg/cpp2a/concepts-explicit-spec4.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++20 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp2a/concepts-explicit-spec5.C b/gcc/testsuite/g++.dg/cpp2a/concepts-explicit-spec5.C
index a15749a..3cb525e 100644
--- a/gcc/testsuite/g++.dg/cpp2a/concepts-explicit-spec5.C
+++ b/gcc/testsuite/g++.dg/cpp2a/concepts-explicit-spec5.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++20 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp2a/concepts-memfun.C b/gcc/testsuite/g++.dg/cpp2a/concepts-memfun.C
index 77e10c6..865ca374 100644
--- a/gcc/testsuite/g++.dg/cpp2a/concepts-memfun.C
+++ b/gcc/testsuite/g++.dg/cpp2a/concepts-memfun.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++20 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/cpp2a/concepts-pr67774.C b/gcc/testsuite/g++.dg/cpp2a/concepts-pr67774.C
index 58c5002..a415de3 100644
--- a/gcc/testsuite/g++.dg/cpp2a/concepts-pr67774.C
+++ b/gcc/testsuite/g++.dg/cpp2a/concepts-pr67774.C
@@ -1,5 +1,6 @@
// { dg-do compile { target c++20 } }
// { dg-additional-options "-fconcepts" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <type_traits>
#include <utility>
diff --git a/gcc/testsuite/g++.dg/cpp2a/cond-triv2.C b/gcc/testsuite/g++.dg/cpp2a/cond-triv2.C
index 531ec1c..835276b 100644
--- a/gcc/testsuite/g++.dg/cpp2a/cond-triv2.C
+++ b/gcc/testsuite/g++.dg/cpp2a/cond-triv2.C
@@ -1,5 +1,6 @@
// PR c++/67348
// { dg-do compile { target c++20 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <type_traits>
#include <vector>
diff --git a/gcc/testsuite/g++.dg/cpp2a/destroying-delete5.C b/gcc/testsuite/g++.dg/cpp2a/destroying-delete5.C
index 6113d7f..d298d1a 100644
--- a/gcc/testsuite/g++.dg/cpp2a/destroying-delete5.C
+++ b/gcc/testsuite/g++.dg/cpp2a/destroying-delete5.C
@@ -1,6 +1,7 @@
// PR c++/91859
// { dg-do run { target c++20 } }
// { dg-additional-options -O2 }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } }
#include <cstdlib>
#include <new>
diff --git a/gcc/testsuite/g++.dg/cpp2a/feat-cxx2a.C b/gcc/testsuite/g++.dg/cpp2a/feat-cxx2a.C
index fc268d4..3c43e9d 100644
--- a/gcc/testsuite/g++.dg/cpp2a/feat-cxx2a.C
+++ b/gcc/testsuite/g++.dg/cpp2a/feat-cxx2a.C
@@ -1,4 +1,5 @@
// { dg-options "-std=c++2a -I${srcdir}/g++.dg/cpp1y -I${srcdir}/g++.dg/cpp1y/testinc" }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
// C++98 features:
diff --git a/gcc/testsuite/g++.dg/cpp2a/nontype-float1.C b/gcc/testsuite/g++.dg/cpp2a/nontype-float1.C
index 4fafac1..4a816da 100644
--- a/gcc/testsuite/g++.dg/cpp2a/nontype-float1.C
+++ b/gcc/testsuite/g++.dg/cpp2a/nontype-float1.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++20 } }
+// { dg-skip-if "requires hosted libstdc++ for cmath" { ! hostedlib } }
#include <cmath>
diff --git a/gcc/testsuite/g++.dg/diagnostic/disable.C b/gcc/testsuite/g++.dg/diagnostic/disable.C
index 7d86e07..c055c40 100644
--- a/gcc/testsuite/g++.dg/diagnostic/disable.C
+++ b/gcc/testsuite/g++.dg/diagnostic/disable.C
@@ -1,4 +1,5 @@
// { dg-options "-Wtemplates -Wmultiple-inheritance -Wvirtual-inheritance -Wnamespaces" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
#include <algorithm>
diff --git a/gcc/testsuite/g++.dg/diagnostic/missing-header-pr110164.C b/gcc/testsuite/g++.dg/diagnostic/missing-header-pr110164.C
index 1598007..737bbb5 100644
--- a/gcc/testsuite/g++.dg/diagnostic/missing-header-pr110164.C
+++ b/gcc/testsuite/g++.dg/diagnostic/missing-header-pr110164.C
@@ -1,4 +1,5 @@
// { dg-require-effective-target c++11 }
+// { dg-skip-if "requires hosted libstdc++ for map" { ! hostedlib } }
#include <map>
diff --git a/gcc/testsuite/g++.dg/diagnostic/pr65923.C b/gcc/testsuite/g++.dg/diagnostic/pr65923.C
index 40b6b59..31fd503 100644
--- a/gcc/testsuite/g++.dg/diagnostic/pr65923.C
+++ b/gcc/testsuite/g++.dg/diagnostic/pr65923.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for chrono" { ! hostedlib } }
#include <chrono>
diff --git a/gcc/testsuite/g++.dg/eh/arm-vfp-unwind.C b/gcc/testsuite/g++.dg/eh/arm-vfp-unwind.C
index 8ea25e5..5cc5a8f 100644
--- a/gcc/testsuite/g++.dg/eh/arm-vfp-unwind.C
+++ b/gcc/testsuite/g++.dg/eh/arm-vfp-unwind.C
@@ -1,5 +1,6 @@
/* { dg-do run } */
/* { dg-require-effective-target arm32 } */
+/* { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } } */
/* Test to catch off-by-one errors in arm/pr-support.c. */
diff --git a/gcc/testsuite/g++.dg/eh/crossjump1.C b/gcc/testsuite/g++.dg/eh/crossjump1.C
index ccb0ffb..dca2adb 100644
--- a/gcc/testsuite/g++.dg/eh/crossjump1.C
+++ b/gcc/testsuite/g++.dg/eh/crossjump1.C
@@ -3,6 +3,7 @@
// and one without REG_EH_REGION note.
// { dg-do run }
// { dg-options "-O2" }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <exception>
#include <string>
diff --git a/gcc/testsuite/g++.dg/eh/filter2.C b/gcc/testsuite/g++.dg/eh/filter2.C
index fe87cc9..e8f96cf 100644
--- a/gcc/testsuite/g++.dg/eh/filter2.C
+++ b/gcc/testsuite/g++.dg/eh/filter2.C
@@ -2,6 +2,7 @@
// running destructors. Original bug depended on a::~a being inlined.
// { dg-do run }
// { dg-options -O }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include <exception>
#include <cstdlib>
diff --git a/gcc/testsuite/g++.dg/eh/omit-frame-pointer.C b/gcc/testsuite/g++.dg/eh/omit-frame-pointer.C
index 3792e11..f563410 100644
--- a/gcc/testsuite/g++.dg/eh/omit-frame-pointer.C
+++ b/gcc/testsuite/g++.dg/eh/omit-frame-pointer.C
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-options -fomit-frame-pointer }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
diff --git a/gcc/testsuite/g++.dg/eh/simd-3.C b/gcc/testsuite/g++.dg/eh/simd-3.C
index 5ac75c9..8af385c 100644
--- a/gcc/testsuite/g++.dg/eh/simd-3.C
+++ b/gcc/testsuite/g++.dg/eh/simd-3.C
@@ -1,6 +1,7 @@
// { dg-options "-O" }
// { dg-options "-O -maltivec" { target { powerpc*-*-darwin* && powerpc_altivec_ok } } }
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
#include <cstdlib>
#include <cstring>
diff --git a/gcc/testsuite/g++.dg/eh/uncaught1.C b/gcc/testsuite/g++.dg/eh/uncaught1.C
index 4f05be5..9a414b5 100644
--- a/gcc/testsuite/g++.dg/eh/uncaught1.C
+++ b/gcc/testsuite/g++.dg/eh/uncaught1.C
@@ -2,6 +2,7 @@
// { dg-do run }
// { dg-options "-Wno-deprecated" }
// { dg-options "-fuse-cxa-get-exception-ptr -Wno-deprecated" { target powerpc*-*-darwin* } }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include <exception>
#include <cstdlib>
diff --git a/gcc/testsuite/g++.dg/eh/uncaught2.C b/gcc/testsuite/g++.dg/eh/uncaught2.C
index 62e4d4d..42fd664 100644
--- a/gcc/testsuite/g++.dg/eh/uncaught2.C
+++ b/gcc/testsuite/g++.dg/eh/uncaught2.C
@@ -1,6 +1,7 @@
// { dg-do compile }
// { dg-final { scan-assembler-not "__cxa_get_exception" } }
// { dg-options "-fno-use-cxa-get-exception-ptr -Wno-deprecated" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include <exception>
#include <cstdlib>
diff --git a/gcc/testsuite/g++.dg/expr/anew1.C b/gcc/testsuite/g++.dg/expr/anew1.C
index d7a4288..d512936 100644
--- a/gcc/testsuite/g++.dg/expr/anew1.C
+++ b/gcc/testsuite/g++.dg/expr/anew1.C
@@ -1,4 +1,6 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } }
+
// PR 11228: array operator new, with zero-initialization and a variable sized array.
// Regression test for PR
// Author: Matt Austern <austern@apple.com>
diff --git a/gcc/testsuite/g++.dg/expr/anew2.C b/gcc/testsuite/g++.dg/expr/anew2.C
index fbf2152..36c9a2b 100644
--- a/gcc/testsuite/g++.dg/expr/anew2.C
+++ b/gcc/testsuite/g++.dg/expr/anew2.C
@@ -1,4 +1,6 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } }
+
// PR 11228: array operator new, with zero-initialization and a variable sized array.
// Regression test for PR
// Author: Matt Austern <austern@apple.com>
diff --git a/gcc/testsuite/g++.dg/expr/anew3.C b/gcc/testsuite/g++.dg/expr/anew3.C
index 9bb64ea..1ab639a 100644
--- a/gcc/testsuite/g++.dg/expr/anew3.C
+++ b/gcc/testsuite/g++.dg/expr/anew3.C
@@ -1,4 +1,6 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } }
+
// PR 11228: array operator new, with zero-initialization and a variable sized array.
// Regression test for PR
// Author: Matt Austern <austern@apple.com>
diff --git a/gcc/testsuite/g++.dg/expr/anew4.C b/gcc/testsuite/g++.dg/expr/anew4.C
index 4ce1d88..9b55d45 100644
--- a/gcc/testsuite/g++.dg/expr/anew4.C
+++ b/gcc/testsuite/g++.dg/expr/anew4.C
@@ -1,4 +1,6 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } }
+
// PR 11228: array operator new, with zero-initialization and a variable sized array.
// Regression test for PR
// Author: Matt Austern <austern@apple.com>
diff --git a/gcc/testsuite/g++.dg/ext/bases.C b/gcc/testsuite/g++.dg/ext/bases.C
index 43f7192..9de34c7 100644
--- a/gcc/testsuite/g++.dg/ext/bases.C
+++ b/gcc/testsuite/g++.dg/ext/bases.C
@@ -1,5 +1,6 @@
// { dg-options "-w" }
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include<typeinfo>
#include<cassert>
diff --git a/gcc/testsuite/g++.dg/ext/builtin-line1.C b/gcc/testsuite/g++.dg/ext/builtin-line1.C
index 21a4f59..4fd6e0c 100644
--- a/gcc/testsuite/g++.dg/ext/builtin-line1.C
+++ b/gcc/testsuite/g++.dg/ext/builtin-line1.C
@@ -1,5 +1,6 @@
// __builtin_LINE gets the location where the default argument is expanded.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct Foo
diff --git a/gcc/testsuite/g++.dg/ext/builtin10.C b/gcc/testsuite/g++.dg/ext/builtin10.C
index 64e8995..de3df96 100644
--- a/gcc/testsuite/g++.dg/ext/builtin10.C
+++ b/gcc/testsuite/g++.dg/ext/builtin10.C
@@ -1,5 +1,6 @@
// { dg-do compile { target correct_iso_cpp_string_wchar_protos } }
// { dg-options "-O2 -fdump-tree-optimized" }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
#include <cstring>
diff --git a/gcc/testsuite/g++.dg/ext/cleanup-10.C b/gcc/testsuite/g++.dg/ext/cleanup-10.C
index 56aeb66..0d535e4 100644
--- a/gcc/testsuite/g++.dg/ext/cleanup-10.C
+++ b/gcc/testsuite/g++.dg/ext/cleanup-10.C
@@ -1,5 +1,6 @@
/* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* *-*-darwin[912]* *-*-uclinux* } } */
/* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
/* Verify that cleanups work with exception handling through signal frames
on alternate stack. */
diff --git a/gcc/testsuite/g++.dg/ext/cleanup-11.C b/gcc/testsuite/g++.dg/ext/cleanup-11.C
index c6d3560..b9e7426 100644
--- a/gcc/testsuite/g++.dg/ext/cleanup-11.C
+++ b/gcc/testsuite/g++.dg/ext/cleanup-11.C
@@ -1,5 +1,6 @@
/* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* *-*-darwin[912]* *-*-uclinux* } } */
/* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
/* Verify that cleanups work with exception handling through realtime signal
frames on alternate stack. */
diff --git a/gcc/testsuite/g++.dg/ext/cleanup-5.C b/gcc/testsuite/g++.dg/ext/cleanup-5.C
index 167f01a..ee7b4a0 100644
--- a/gcc/testsuite/g++.dg/ext/cleanup-5.C
+++ b/gcc/testsuite/g++.dg/ext/cleanup-5.C
@@ -2,6 +2,7 @@
/* { dg-do run } */
/* { dg-options "-fexceptions" } */
/* { dg-skip-if "" { "ia64-*-hpux11.*" } } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
/* Verify that cleanups work with exception handling. */
#include <unwind.h>
diff --git a/gcc/testsuite/g++.dg/ext/cleanup-8.C b/gcc/testsuite/g++.dg/ext/cleanup-8.C
index e99508d..13d55f1 100644
--- a/gcc/testsuite/g++.dg/ext/cleanup-8.C
+++ b/gcc/testsuite/g++.dg/ext/cleanup-8.C
@@ -1,5 +1,6 @@
/* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* *-*-darwin[912]* *-*-uclinux* } } */
/* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
/* Verify that cleanups work with exception handling through signal
frames. */
diff --git a/gcc/testsuite/g++.dg/ext/cleanup-9.C b/gcc/testsuite/g++.dg/ext/cleanup-9.C
index 45e5f90..282df75 100644
--- a/gcc/testsuite/g++.dg/ext/cleanup-9.C
+++ b/gcc/testsuite/g++.dg/ext/cleanup-9.C
@@ -1,5 +1,6 @@
/* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* *-*-darwin[912]* *-*-uclinux* } } */
/* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
/* Verify that cleanups work with exception handling through realtime
signal frames. */
diff --git a/gcc/testsuite/g++.dg/ext/complex4.C b/gcc/testsuite/g++.dg/ext/complex4.C
index 78b9356..b53e289 100644
--- a/gcc/testsuite/g++.dg/ext/complex4.C
+++ b/gcc/testsuite/g++.dg/ext/complex4.C
@@ -1,4 +1,5 @@
// { dg-do compile }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
// This code used to be rejected as there was no conversion from int to float __complex__
#include <vector>
typedef float __complex__ fcomplex;
diff --git a/gcc/testsuite/g++.dg/ext/has_nothrow_assign.C b/gcc/testsuite/g++.dg/ext/has_nothrow_assign.C
index 36b93d8..c7d0d3a 100644
--- a/gcc/testsuite/g++.dg/ext/has_nothrow_assign.C
+++ b/gcc/testsuite/g++.dg/ext/has_nothrow_assign.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
diff --git a/gcc/testsuite/g++.dg/ext/has_nothrow_assign_odr.C b/gcc/testsuite/g++.dg/ext/has_nothrow_assign_odr.C
index 594d3a9..59715ae 100644
--- a/gcc/testsuite/g++.dg/ext/has_nothrow_assign_odr.C
+++ b/gcc/testsuite/g++.dg/ext/has_nothrow_assign_odr.C
@@ -1,5 +1,6 @@
// PR c++/36870
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/ext/has_nothrow_constructor.C b/gcc/testsuite/g++.dg/ext/has_nothrow_constructor.C
index 0330445..a167877 100644
--- a/gcc/testsuite/g++.dg/ext/has_nothrow_constructor.C
+++ b/gcc/testsuite/g++.dg/ext/has_nothrow_constructor.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
diff --git a/gcc/testsuite/g++.dg/ext/has_nothrow_constructor_odr.C b/gcc/testsuite/g++.dg/ext/has_nothrow_constructor_odr.C
index 68ca111..04cad04 100644
--- a/gcc/testsuite/g++.dg/ext/has_nothrow_constructor_odr.C
+++ b/gcc/testsuite/g++.dg/ext/has_nothrow_constructor_odr.C
@@ -1,5 +1,6 @@
// PR c++/36870
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct S { S (); };
diff --git a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-1.C b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-1.C
index 04f681f..f410081 100644
--- a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-1.C
+++ b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-1.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
diff --git a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-2.C b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-2.C
index 901d211..45f99e4 100644
--- a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-2.C
+++ b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-2.C
@@ -1,5 +1,6 @@
// PR c++/36871
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A {
diff --git a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-3.C b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-3.C
index 7970044..fb652e6 100644
--- a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-3.C
+++ b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-3.C
@@ -1,5 +1,6 @@
// PR c++/36871
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct F {
diff --git a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-4.C b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-4.C
index 63e6733..ca198ed 100644
--- a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-4.C
+++ b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-4.C
@@ -1,5 +1,6 @@
// PR c++/36872
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct S {
diff --git a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-5.C b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-5.C
index e92801d..58d6366 100644
--- a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-5.C
+++ b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-5.C
@@ -1,5 +1,6 @@
// PR c++/36872
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct S {
diff --git a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-6.C b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-6.C
index c4e0a5c..88255dc 100644
--- a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-6.C
+++ b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-6.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct S {
diff --git a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-7.C b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-7.C
index 076f8a3..ee23aaa 100644
--- a/gcc/testsuite/g++.dg/ext/has_nothrow_copy-7.C
+++ b/gcc/testsuite/g++.dg/ext/has_nothrow_copy-7.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct S {
diff --git a/gcc/testsuite/g++.dg/ext/has_nothrow_copy_odr.C b/gcc/testsuite/g++.dg/ext/has_nothrow_copy_odr.C
index 573fd2f..bf1ea0a 100644
--- a/gcc/testsuite/g++.dg/ext/has_nothrow_copy_odr.C
+++ b/gcc/testsuite/g++.dg/ext/has_nothrow_copy_odr.C
@@ -1,5 +1,6 @@
// PR c++/36870
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct S { S (const S&); };
diff --git a/gcc/testsuite/g++.dg/ext/has_trivial_assign.C b/gcc/testsuite/g++.dg/ext/has_trivial_assign.C
index dce0f8b..6a6a718 100644
--- a/gcc/testsuite/g++.dg/ext/has_trivial_assign.C
+++ b/gcc/testsuite/g++.dg/ext/has_trivial_assign.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
diff --git a/gcc/testsuite/g++.dg/ext/has_trivial_constructor.C b/gcc/testsuite/g++.dg/ext/has_trivial_constructor.C
index f4addd8..021d2d7 100644
--- a/gcc/testsuite/g++.dg/ext/has_trivial_constructor.C
+++ b/gcc/testsuite/g++.dg/ext/has_trivial_constructor.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
diff --git a/gcc/testsuite/g++.dg/ext/has_trivial_copy.C b/gcc/testsuite/g++.dg/ext/has_trivial_copy.C
index 4d2341b..dd879f7 100644
--- a/gcc/testsuite/g++.dg/ext/has_trivial_copy.C
+++ b/gcc/testsuite/g++.dg/ext/has_trivial_copy.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
diff --git a/gcc/testsuite/g++.dg/ext/has_trivial_destructor-1.C b/gcc/testsuite/g++.dg/ext/has_trivial_destructor-1.C
index 2834c23..4ae89e4 100644
--- a/gcc/testsuite/g++.dg/ext/has_trivial_destructor-1.C
+++ b/gcc/testsuite/g++.dg/ext/has_trivial_destructor-1.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
diff --git a/gcc/testsuite/g++.dg/ext/has_virtual_destructor.C b/gcc/testsuite/g++.dg/ext/has_virtual_destructor.C
index 62b60ae..5f3615e 100644
--- a/gcc/testsuite/g++.dg/ext/has_virtual_destructor.C
+++ b/gcc/testsuite/g++.dg/ext/has_virtual_destructor.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
#include <exception>
diff --git a/gcc/testsuite/g++.dg/ext/is_abstract.C b/gcc/testsuite/g++.dg/ext/is_abstract.C
index 2d71494..6bda8c2 100644
--- a/gcc/testsuite/g++.dg/ext/is_abstract.C
+++ b/gcc/testsuite/g++.dg/ext/is_abstract.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
diff --git a/gcc/testsuite/g++.dg/ext/is_aggregate.C b/gcc/testsuite/g++.dg/ext/is_aggregate.C
index bdcc70f..75172d4 100644
--- a/gcc/testsuite/g++.dg/ext/is_aggregate.C
+++ b/gcc/testsuite/g++.dg/ext/is_aggregate.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
template<typename T>
diff --git a/gcc/testsuite/g++.dg/ext/is_base_of.C b/gcc/testsuite/g++.dg/ext/is_base_of.C
index 8afa532..7204717 100644
--- a/gcc/testsuite/g++.dg/ext/is_base_of.C
+++ b/gcc/testsuite/g++.dg/ext/is_base_of.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
class A1
diff --git a/gcc/testsuite/g++.dg/ext/is_class.C b/gcc/testsuite/g++.dg/ext/is_class.C
index 6f39828..f06f53e 100644
--- a/gcc/testsuite/g++.dg/ext/is_class.C
+++ b/gcc/testsuite/g++.dg/ext/is_class.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
diff --git a/gcc/testsuite/g++.dg/ext/is_convertible2.C b/gcc/testsuite/g++.dg/ext/is_convertible2.C
index 9b46e26..3dd90bd 100644
--- a/gcc/testsuite/g++.dg/ext/is_convertible2.C
+++ b/gcc/testsuite/g++.dg/ext/is_convertible2.C
@@ -1,5 +1,6 @@
// PR c++/106784
// { dg-do compile { target c++20 } }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
// Adapted from <https://en.cppreference.com/w/cpp/types/is_convertible>.
#include <string>
diff --git a/gcc/testsuite/g++.dg/ext/is_empty.C b/gcc/testsuite/g++.dg/ext/is_empty.C
index 4c58941..03c7dc0 100644
--- a/gcc/testsuite/g++.dg/ext/is_empty.C
+++ b/gcc/testsuite/g++.dg/ext/is_empty.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
diff --git a/gcc/testsuite/g++.dg/ext/is_enum.C b/gcc/testsuite/g++.dg/ext/is_enum.C
index 4ac1723..337c00e 100644
--- a/gcc/testsuite/g++.dg/ext/is_enum.C
+++ b/gcc/testsuite/g++.dg/ext/is_enum.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
diff --git a/gcc/testsuite/g++.dg/ext/is_invocable2.C b/gcc/testsuite/g++.dg/ext/is_invocable2.C
index a68aefd..3df3165 100644
--- a/gcc/testsuite/g++.dg/ext/is_invocable2.C
+++ b/gcc/testsuite/g++.dg/ext/is_invocable2.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for functional function" { ! hostedlib } }
// __is_invocable should handle std::reference_wrapper correctly.
#include <functional>
diff --git a/gcc/testsuite/g++.dg/ext/is_pod.C b/gcc/testsuite/g++.dg/ext/is_pod.C
index d073889..3903585 100644
--- a/gcc/testsuite/g++.dg/ext/is_pod.C
+++ b/gcc/testsuite/g++.dg/ext/is_pod.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
diff --git a/gcc/testsuite/g++.dg/ext/is_polymorphic.C b/gcc/testsuite/g++.dg/ext/is_polymorphic.C
index 462e4b7..54adaf4 100644
--- a/gcc/testsuite/g++.dg/ext/is_polymorphic.C
+++ b/gcc/testsuite/g++.dg/ext/is_polymorphic.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
#include <exception>
diff --git a/gcc/testsuite/g++.dg/ext/is_union.C b/gcc/testsuite/g++.dg/ext/is_union.C
index c95f5a6..b2ac487 100644
--- a/gcc/testsuite/g++.dg/ext/is_union.C
+++ b/gcc/testsuite/g++.dg/ext/is_union.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
diff --git a/gcc/testsuite/g++.dg/ext/underlying_type10.C b/gcc/testsuite/g++.dg/ext/underlying_type10.C
index 66ba02e..c6e8d6d 100644
--- a/gcc/testsuite/g++.dg/ext/underlying_type10.C
+++ b/gcc/testsuite/g++.dg/ext/underlying_type10.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/ext/underlying_type4.C b/gcc/testsuite/g++.dg/ext/underlying_type4.C
index b80ed57..f85d35c 100644
--- a/gcc/testsuite/g++.dg/ext/underlying_type4.C
+++ b/gcc/testsuite/g++.dg/ext/underlying_type4.C
@@ -1,4 +1,5 @@
// { dg-do compile }
+// { dg-skip-if "requires hosted libstdc++ for tr1/type_traits" { ! hostedlib } }
#include <tr1/type_traits>
diff --git a/gcc/testsuite/g++.dg/gcov/gcov-14.C b/gcc/testsuite/g++.dg/gcov/gcov-14.C
index b069d0e..68f3ab4 100644
--- a/gcc/testsuite/g++.dg/gcov/gcov-14.C
+++ b/gcc/testsuite/g++.dg/gcov/gcov-14.C
@@ -1,5 +1,6 @@
/* { dg-options "-fprofile-arcs -ftest-coverage -Ofast" } */
/* { dg-do run { target native } } */
+/* { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } } */
#include <iostream>
diff --git a/gcc/testsuite/g++.dg/gcov/gcov-18.C b/gcc/testsuite/g++.dg/gcov/gcov-18.C
index 620aef1..063440c 100644
--- a/gcc/testsuite/g++.dg/gcov/gcov-18.C
+++ b/gcc/testsuite/g++.dg/gcov/gcov-18.C
@@ -1,5 +1,6 @@
/* { dg-options "--coverage -fcondition-coverage -std=c++11" } */
/* { dg-do run { target native } } */
+/* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
#include <vector>
#include <stdexcept>
diff --git a/gcc/testsuite/g++.dg/gcov/pr88045.C b/gcc/testsuite/g++.dg/gcov/pr88045.C
index 1b077a5..329c74f 100644
--- a/gcc/testsuite/g++.dg/gcov/pr88045.C
+++ b/gcc/testsuite/g++.dg/gcov/pr88045.C
@@ -1,6 +1,7 @@
// PR gcov-profile/88045
// { dg-options "-fprofile-arcs -ftest-coverage -std=c++11" }
// { dg-do run { target native } }
+/* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
#include <numeric>
#include <vector>
diff --git a/gcc/testsuite/g++.dg/gcov/pr88263-2.C b/gcc/testsuite/g++.dg/gcov/pr88263-2.C
index f0cf15f..cc0a08e 100644
--- a/gcc/testsuite/g++.dg/gcov/pr88263-2.C
+++ b/gcc/testsuite/g++.dg/gcov/pr88263-2.C
@@ -1,6 +1,7 @@
// PR gcov-profile/88263
// { dg-options "-fprofile-arcs -ftest-coverage -std=c++11" }
// { dg-do run { target native } }
+/* { dg-skip-if "requires hosted libstdc++ for sstream" { ! hostedlib } } */
#include <sstream>
diff --git a/gcc/testsuite/g++.dg/gcov/pr88263.C b/gcc/testsuite/g++.dg/gcov/pr88263.C
index 854772f..4318a26 100644
--- a/gcc/testsuite/g++.dg/gcov/pr88263.C
+++ b/gcc/testsuite/g++.dg/gcov/pr88263.C
@@ -1,6 +1,7 @@
// PR gcov-profile/88263
// { dg-options "-fprofile-arcs -ftest-coverage -std=c++11" }
// { dg-do run { target native } }
+/* { dg-skip-if "requires hosted libstdc++ for sstream" { ! hostedlib } } */
#include <sstream>
diff --git a/gcc/testsuite/g++.dg/goacc/pr107028-2.C b/gcc/testsuite/g++.dg/goacc/pr107028-2.C
index cf741bd..7bef750 100644
--- a/gcc/testsuite/g++.dg/goacc/pr107028-2.C
+++ b/gcc/testsuite/g++.dg/goacc/pr107028-2.C
@@ -1,5 +1,6 @@
// { dg-do compile }
// { dg-additional-options "-fdump-tree-gimple" }
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#include <cstdlib>
diff --git a/gcc/testsuite/g++.dg/gomp/has_device_addr-non-lvalue-1.C b/gcc/testsuite/g++.dg/gomp/has_device_addr-non-lvalue-1.C
index 3d77853..295b1b7 100644
--- a/gcc/testsuite/g++.dg/gomp/has_device_addr-non-lvalue-1.C
+++ b/gcc/testsuite/g++.dg/gomp/has_device_addr-non-lvalue-1.C
@@ -1,4 +1,5 @@
// { dg-do compile }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cstdio>
#include <cstring>
diff --git a/gcc/testsuite/g++.dg/gomp/ind-base-3.C b/gcc/testsuite/g++.dg/gomp/ind-base-3.C
index 7695b1f..e3ecddd 100644
--- a/gcc/testsuite/g++.dg/gomp/ind-base-3.C
+++ b/gcc/testsuite/g++.dg/gomp/ind-base-3.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
#include <cassert>
struct S {
diff --git a/gcc/testsuite/g++.dg/gomp/map-assignment-1.C b/gcc/testsuite/g++.dg/gomp/map-assignment-1.C
index 5979ec3..17862ab 100644
--- a/gcc/testsuite/g++.dg/gomp/map-assignment-1.C
+++ b/gcc/testsuite/g++.dg/gomp/map-assignment-1.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
#include <cassert>
int main (int argc, char *argv[])
diff --git a/gcc/testsuite/g++.dg/gomp/map-lvalue-ref-1.C b/gcc/testsuite/g++.dg/gomp/map-lvalue-ref-1.C
index d720d43..2f75b23 100644
--- a/gcc/testsuite/g++.dg/gomp/map-lvalue-ref-1.C
+++ b/gcc/testsuite/g++.dg/gomp/map-lvalue-ref-1.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
#include <cassert>
int glob = 10;
diff --git a/gcc/testsuite/g++.dg/gomp/map-ptrmem-1.C b/gcc/testsuite/g++.dg/gomp/map-ptrmem-1.C
index c4023f5..110996b 100644
--- a/gcc/testsuite/g++.dg/gomp/map-ptrmem-1.C
+++ b/gcc/testsuite/g++.dg/gomp/map-ptrmem-1.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
#include <cassert>
struct S {
diff --git a/gcc/testsuite/g++.dg/gomp/map-ptrmem-2.C b/gcc/testsuite/g++.dg/gomp/map-ptrmem-2.C
index fbf379d..644e5bb 100644
--- a/gcc/testsuite/g++.dg/gomp/map-ptrmem-2.C
+++ b/gcc/testsuite/g++.dg/gomp/map-ptrmem-2.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
#include <cassert>
struct S {
diff --git a/gcc/testsuite/g++.dg/gomp/map-static-cast-lvalue-1.C b/gcc/testsuite/g++.dg/gomp/map-static-cast-lvalue-1.C
index 3af9668..bc9d4dc 100644
--- a/gcc/testsuite/g++.dg/gomp/map-static-cast-lvalue-1.C
+++ b/gcc/testsuite/g++.dg/gomp/map-static-cast-lvalue-1.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
#include <cassert>
int foo (int x)
diff --git a/gcc/testsuite/g++.dg/gomp/map-ternary-1.C b/gcc/testsuite/g++.dg/gomp/map-ternary-1.C
index 7b365a9..7017fbd 100644
--- a/gcc/testsuite/g++.dg/gomp/map-ternary-1.C
+++ b/gcc/testsuite/g++.dg/gomp/map-ternary-1.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
#include <cassert>
int foo (bool yesno)
diff --git a/gcc/testsuite/g++.dg/gomp/member-array-2.C b/gcc/testsuite/g++.dg/gomp/member-array-2.C
index caf8ece..a4e3a22 100644
--- a/gcc/testsuite/g++.dg/gomp/member-array-2.C
+++ b/gcc/testsuite/g++.dg/gomp/member-array-2.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
#include <cassert>
typedef int intarr100[100];
diff --git a/gcc/testsuite/g++.dg/gomp/pr71910.C b/gcc/testsuite/g++.dg/gomp/pr71910.C
index 0063be8..aea9483 100644
--- a/gcc/testsuite/g++.dg/gomp/pr71910.C
+++ b/gcc/testsuite/g++.dg/gomp/pr71910.C
@@ -1,6 +1,7 @@
// PR target/71910
// { dg-do compile }
// { dg-additional-options "-O2" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
diff --git a/gcc/testsuite/g++.dg/gomp/pr91118-1.C b/gcc/testsuite/g++.dg/gomp/pr91118-1.C
index f29d69d..2ed7e2e 100644
--- a/gcc/testsuite/g++.dg/gomp/pr91118-1.C
+++ b/gcc/testsuite/g++.dg/gomp/pr91118-1.C
@@ -1,6 +1,7 @@
// PR c++/91118
// { dg-do compile }
// { dg-additional-options "-fsanitize=undefined" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
diff --git a/gcc/testsuite/g++.dg/gomp/sink-2.C b/gcc/testsuite/g++.dg/gomp/sink-2.C
index d1681a7..26669ef 100644
--- a/gcc/testsuite/g++.dg/gomp/sink-2.C
+++ b/gcc/testsuite/g++.dg/gomp/sink-2.C
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } } */
/* Tests iterators are allowed in ordered loops and that we keep track
of the original iterator DECL for diagnostic purposes. */
diff --git a/gcc/testsuite/g++.dg/gomp/target-lambda-2.C b/gcc/testsuite/g++.dg/gomp/target-lambda-2.C
index bdf2564..7c504de 100644
--- a/gcc/testsuite/g++.dg/gomp/target-lambda-2.C
+++ b/gcc/testsuite/g++.dg/gomp/target-lambda-2.C
@@ -1,5 +1,7 @@
// We use 'auto' without a function return type, so specify dialect here
// { dg-additional-options "-std=c++14 -fdump-tree-gimple" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
+
#include <cstdlib>
#define N 10
diff --git a/gcc/testsuite/g++.dg/gomp/target-this-3.C b/gcc/testsuite/g++.dg/gomp/target-this-3.C
index bc2cc0b..f4996b1 100644
--- a/gcc/testsuite/g++.dg/gomp/target-this-3.C
+++ b/gcc/testsuite/g++.dg/gomp/target-this-3.C
@@ -1,5 +1,7 @@
// { dg-do compile }
// { dg-additional-options "-fdump-tree-gimple" }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
+
#include <cstdlib>
#include <cstring>
extern "C" void abort ();
diff --git a/gcc/testsuite/g++.dg/gomp/target-this-4.C b/gcc/testsuite/g++.dg/gomp/target-this-4.C
index 9ade3cc..bbcde3d 100644
--- a/gcc/testsuite/g++.dg/gomp/target-this-4.C
+++ b/gcc/testsuite/g++.dg/gomp/target-this-4.C
@@ -1,5 +1,7 @@
// We use 'auto' without a function return type, so specify dialect here
// { dg-additional-options "-std=c++14 -fdump-tree-gimple" }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
+
#include <cstdlib>
#include <cstring>
diff --git a/gcc/testsuite/g++.dg/gomp/tile-1.C b/gcc/testsuite/g++.dg/gomp/tile-1.C
index cc45dcdf..bcfdc94 100644
--- a/gcc/testsuite/g++.dg/gomp/tile-1.C
+++ b/gcc/testsuite/g++.dg/gomp/tile-1.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
diff --git a/gcc/testsuite/g++.dg/gomp/tile-2.C b/gcc/testsuite/g++.dg/gomp/tile-2.C
index dcaa8d7..757b7fc 100644
--- a/gcc/testsuite/g++.dg/gomp/tile-2.C
+++ b/gcc/testsuite/g++.dg/gomp/tile-2.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
diff --git a/gcc/testsuite/g++.dg/gomp/unroll-1.C b/gcc/testsuite/g++.dg/gomp/unroll-1.C
index d4b7300..f9cb65a 100644
--- a/gcc/testsuite/g++.dg/gomp/unroll-1.C
+++ b/gcc/testsuite/g++.dg/gomp/unroll-1.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
diff --git a/gcc/testsuite/g++.dg/gomp/unroll-2.C b/gcc/testsuite/g++.dg/gomp/unroll-2.C
index d214d72..1bc2172 100644
--- a/gcc/testsuite/g++.dg/gomp/unroll-2.C
+++ b/gcc/testsuite/g++.dg/gomp/unroll-2.C
@@ -1,4 +1,5 @@
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
diff --git a/gcc/testsuite/g++.dg/gomp/unroll-3.C b/gcc/testsuite/g++.dg/gomp/unroll-3.C
index 6ef24ac..1afe6f4 100644
--- a/gcc/testsuite/g++.dg/gomp/unroll-3.C
+++ b/gcc/testsuite/g++.dg/gomp/unroll-3.C
@@ -1,5 +1,6 @@
// { dg-do compile { target c++11 } }
// { dg-additional-options "-fdump-tree-original -fdump-tree-gimple" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
diff --git a/gcc/testsuite/g++.dg/graphite/id-1.C b/gcc/testsuite/g++.dg/graphite/id-1.C
index 5770e90..987d326 100644
--- a/gcc/testsuite/g++.dg/graphite/id-1.C
+++ b/gcc/testsuite/g++.dg/graphite/id-1.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
+
#include <vector>
template <int rank, int dim> class Tensor;
diff --git a/gcc/testsuite/g++.dg/graphite/pr42130.C b/gcc/testsuite/g++.dg/graphite/pr42130.C
index ee31aba..47052cf 100644
--- a/gcc/testsuite/g++.dg/graphite/pr42130.C
+++ b/gcc/testsuite/g++.dg/graphite/pr42130.C
@@ -1,4 +1,7 @@
/* { dg-options "-O2 -fgraphite-identity -fno-tree-ch" } */
+/* { dg-do run } */
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
+
#include <vector>
using std::vector;
@@ -15,5 +18,3 @@ int main()
return 0;
}
-/* { dg-do run } */
-
diff --git a/gcc/testsuite/g++.dg/inherit/virtual8.C b/gcc/testsuite/g++.dg/inherit/virtual8.C
index 4f6a119..def4eb9 100644
--- a/gcc/testsuite/g++.dg/inherit/virtual8.C
+++ b/gcc/testsuite/g++.dg/inherit/virtual8.C
@@ -1,5 +1,6 @@
// PR c++/48035
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
#include <new>
#include <cstring>
diff --git a/gcc/testsuite/g++.dg/init/array4.C b/gcc/testsuite/g++.dg/init/array4.C
index 4712e9d..61ef9c0 100644
--- a/gcc/testsuite/g++.dg/init/array4.C
+++ b/gcc/testsuite/g++.dg/init/array4.C
@@ -1,5 +1,6 @@
// { dg-do compile }
// { dg-require-effective-target size20plus }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
// Origin: Markus Breuer <markus.breuer@materna.de>
// PR c++/6944
diff --git a/gcc/testsuite/g++.dg/init/new11.C b/gcc/testsuite/g++.dg/init/new11.C
index a13f262..11c4fe5 100644
--- a/gcc/testsuite/g++.dg/init/new11.C
+++ b/gcc/testsuite/g++.dg/init/new11.C
@@ -1,5 +1,6 @@
// PR c++/17670
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib size_t" { ! hostedlib } }
#include <cstdlib>
#include <new>
diff --git a/gcc/testsuite/g++.dg/init/new18.C b/gcc/testsuite/g++.dg/init/new18.C
index afe3da9..0542b28 100644
--- a/gcc/testsuite/g++.dg/init/new18.C
+++ b/gcc/testsuite/g++.dg/init/new18.C
@@ -1,5 +1,6 @@
// { dg-do compile }
// { dg-options "-O2 -fstrict-aliasing -Wno-return-type" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
// This caused an ICE during placement new.
diff --git a/gcc/testsuite/g++.dg/init/new39.C b/gcc/testsuite/g++.dg/init/new39.C
index 430701d..14f4d17 100644
--- a/gcc/testsuite/g++.dg/init/new39.C
+++ b/gcc/testsuite/g++.dg/init/new39.C
@@ -1,5 +1,6 @@
// Testcase for overflow handling in operator new[].
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for stdexcept" { ! hostedlib } }
#include <stdlib.h>
#include <stdexcept>
diff --git a/gcc/testsuite/g++.dg/init/new40.C b/gcc/testsuite/g++.dg/init/new40.C
index 30d9de6..8d90533 100644
--- a/gcc/testsuite/g++.dg/init/new40.C
+++ b/gcc/testsuite/g++.dg/init/new40.C
@@ -4,6 +4,7 @@
// { dg-options -std=c++03 }
// { dg-do run }
// { dg-xfail-run-if "AIX operator new" { powerpc-ibm-aix* } }
+// { dg-skip-if "requires hosted libstdc++ for stdexcept" { ! hostedlib } }
#include <assert.h>
#include <stdlib.h>
diff --git a/gcc/testsuite/g++.dg/init/value3.C b/gcc/testsuite/g++.dg/init/value3.C
index 487baab..c544ec6 100644
--- a/gcc/testsuite/g++.dg/init/value3.C
+++ b/gcc/testsuite/g++.dg/init/value3.C
@@ -1,5 +1,6 @@
// Testcase for value-initialization in new-expressions.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for stdlib size_t" { ! hostedlib } }
#include <stdlib.h>
#include <string.h>
diff --git a/gcc/testsuite/g++.dg/ipa/devirt-29.C b/gcc/testsuite/g++.dg/ipa/devirt-29.C
index b4f24a1..fbd5f5f 100644
--- a/gcc/testsuite/g++.dg/ipa/devirt-29.C
+++ b/gcc/testsuite/g++.dg/ipa/devirt-29.C
@@ -1,4 +1,5 @@
/* { dg-do run { target c++11 } } */
+/* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
/* There is a devirtualizable call. In PR60306 we deduced wrong target to cxa_pure_virtual.
For gcc 4.10 we temporarily disable the devirtualization. */
/* { dg-options "-O3" } */
diff --git a/gcc/testsuite/g++.dg/ipa/pr85549.C b/gcc/testsuite/g++.dg/ipa/pr85549.C
index ae0336e..4c6e2d2 100644
--- a/gcc/testsuite/g++.dg/ipa/pr85549.C
+++ b/gcc/testsuite/g++.dg/ipa/pr85549.C
@@ -1,5 +1,6 @@
/* { dg-do run } */
/* { dg-options "-O2" } */
+/* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
#include <vector>
diff --git a/gcc/testsuite/g++.dg/lookup/missing-std-include-3.C b/gcc/testsuite/g++.dg/lookup/missing-std-include-3.C
index ee567ed..02dabce 100644
--- a/gcc/testsuite/g++.dg/lookup/missing-std-include-3.C
+++ b/gcc/testsuite/g++.dg/lookup/missing-std-include-3.C
@@ -3,6 +3,7 @@
For this case, expect to insert the #include at the top of the file. */
/* { dg-options "-fdiagnostics-generate-patch" } */
+/* { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } } */
void test ()
{
diff --git a/gcc/testsuite/g++.dg/lookup/pr21802.C b/gcc/testsuite/g++.dg/lookup/pr21802.C
index 0b1d63c..e33d3e1 100644
--- a/gcc/testsuite/g++.dg/lookup/pr21802.C
+++ b/gcc/testsuite/g++.dg/lookup/pr21802.C
@@ -1,6 +1,8 @@
// PR c++/21802
// { dg-do run }
// { dg-require-effective-target size20plus }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
#include <cassert>
struct X;
diff --git a/gcc/testsuite/g++.dg/lto/20091022-2_0.C b/gcc/testsuite/g++.dg/lto/20091022-2_0.C
index 29ed9b6..a1606bc 100644
--- a/gcc/testsuite/g++.dg/lto/20091022-2_0.C
+++ b/gcc/testsuite/g++.dg/lto/20091022-2_0.C
@@ -1,5 +1,6 @@
// { dg-lto-do link }
// { dg-lto-options {{-O3 -flto -Winline}} }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
diff --git a/gcc/testsuite/g++.dg/lto/20091219_0.C b/gcc/testsuite/g++.dg/lto/20091219_0.C
index b76a95a..eede1c1 100644
--- a/gcc/testsuite/g++.dg/lto/20091219_0.C
+++ b/gcc/testsuite/g++.dg/lto/20091219_0.C
@@ -1,5 +1,6 @@
// { dg-lto-do run }
// { dg-lto-options {{-O3 -flto}} }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
#include <map>
diff --git a/gcc/testsuite/g++.dg/lto/pr66180_0.C b/gcc/testsuite/g++.dg/lto/pr66180_0.C
index cfb496b..fa597de 100644
--- a/gcc/testsuite/g++.dg/lto/pr66180_0.C
+++ b/gcc/testsuite/g++.dg/lto/pr66180_0.C
@@ -1,6 +1,8 @@
// { dg-lto-do link }
// { dg-require-effective-target lto_incremental }
// { dg-lto-options { { -flto -std=c++14 -r -nostdlib } } }
+/* { dg-skip-if "requires hosted libstdc++ for memory make_unique" { ! hostedlib } } */
+
#include <memory>
namespace {
class A {
diff --git a/gcc/testsuite/g++.dg/lto/pr80287_0.C b/gcc/testsuite/g++.dg/lto/pr80287_0.C
index ea655c9..9ca9f7f 100644
--- a/gcc/testsuite/g++.dg/lto/pr80287_0.C
+++ b/gcc/testsuite/g++.dg/lto/pr80287_0.C
@@ -1,5 +1,6 @@
// { dg-lto-options { "-std=gnu++17" } }
// { dg-lto-do run }
+// { dg-skip-if "requires hosted libstdc++ for any" { ! hostedlib } }
// Copyright (C) 2014-2017 Free Software Foundation, Inc.
//
diff --git a/gcc/testsuite/g++.dg/lto/pr89358_0.C b/gcc/testsuite/g++.dg/lto/pr89358_0.C
index 328c60c..ed14b9d 100644
--- a/gcc/testsuite/g++.dg/lto/pr89358_0.C
+++ b/gcc/testsuite/g++.dg/lto/pr89358_0.C
@@ -1,5 +1,6 @@
/* { dg-lto-do link } */
/* { dg-lto-options "-std=c++17" } */
+/* { dg-skip-if "requires hosted libstdc++ for map" { ! hostedlib } } */
#include <map>
extern void test();
diff --git a/gcc/testsuite/g++.dg/lto/pr89358_1.C b/gcc/testsuite/g++.dg/lto/pr89358_1.C
index 68b80a3..9085b26 100644
--- a/gcc/testsuite/g++.dg/lto/pr89358_1.C
+++ b/gcc/testsuite/g++.dg/lto/pr89358_1.C
@@ -1,4 +1,5 @@
/* { dg-options "-std=c++14" } */
+
#include <map>
void test()
diff --git a/gcc/testsuite/g++.dg/modules/binding-1_a.H b/gcc/testsuite/g++.dg/modules/binding-1_a.H
index 2d2460d..ba9fed7 100644
--- a/gcc/testsuite/g++.dg/modules/binding-1_a.H
+++ b/gcc/testsuite/g++.dg/modules/binding-1_a.H
@@ -1,4 +1,5 @@
// { dg-additional-options -fmodule-header }
// { dg-module-cmi {} }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
diff --git a/gcc/testsuite/g++.dg/modules/binding-1_b.H b/gcc/testsuite/g++.dg/modules/binding-1_b.H
index eb5140b..09b7adf 100644
--- a/gcc/testsuite/g++.dg/modules/binding-1_b.H
+++ b/gcc/testsuite/g++.dg/modules/binding-1_b.H
@@ -1,4 +1,5 @@
// { dg-additional-options -fmodule-header }
// { dg-module-cmi {} }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
diff --git a/gcc/testsuite/g++.dg/modules/contracts-1_a.C b/gcc/testsuite/g++.dg/modules/contracts-1_a.C
index 7237264..98743b1 100644
--- a/gcc/testsuite/g++.dg/modules/contracts-1_a.C
+++ b/gcc/testsuite/g++.dg/modules/contracts-1_a.C
@@ -1,6 +1,7 @@
// Basic test to ensure that guarded templates correctly serialize and
// deserialize their contracts through the CMI.
// { dg-additional-options "-fmodules-ts -fcontracts -fcontract-continuation-mode=on" }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
module;
#include <cstdio>
#include <experimental/contract>
diff --git a/gcc/testsuite/g++.dg/modules/contracts-1_b.C b/gcc/testsuite/g++.dg/modules/contracts-1_b.C
index aa36c8d..81c0651 100644
--- a/gcc/testsuite/g++.dg/modules/contracts-1_b.C
+++ b/gcc/testsuite/g++.dg/modules/contracts-1_b.C
@@ -1,5 +1,7 @@
// { dg-module-do run }
// { dg-additional-options "-fmodules-ts -fcontracts -fcontract-continuation-mode=on" }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
+
#include <cstdio>
import foo;
diff --git a/gcc/testsuite/g++.dg/modules/contracts-2_a.C b/gcc/testsuite/g++.dg/modules/contracts-2_a.C
index 3d78c41..3307d92 100644
--- a/gcc/testsuite/g++.dg/modules/contracts-2_a.C
+++ b/gcc/testsuite/g++.dg/modules/contracts-2_a.C
@@ -47,3 +47,4 @@ export int pre_print2(int n);
export int fn3(int n)
[[ pre: pre_print2(n) > 0 ]];
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
diff --git a/gcc/testsuite/g++.dg/modules/contracts-2_b.C b/gcc/testsuite/g++.dg/modules/contracts-2_b.C
index 01939ae..9fdcb0c 100644
--- a/gcc/testsuite/g++.dg/modules/contracts-2_b.C
+++ b/gcc/testsuite/g++.dg/modules/contracts-2_b.C
@@ -33,3 +33,4 @@ int fn3(int x)
return x;
}
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
diff --git a/gcc/testsuite/g++.dg/modules/contracts-3_a.C b/gcc/testsuite/g++.dg/modules/contracts-3_a.C
index b931ec0..d004a68 100644
--- a/gcc/testsuite/g++.dg/modules/contracts-3_a.C
+++ b/gcc/testsuite/g++.dg/modules/contracts-3_a.C
@@ -1,6 +1,7 @@
// Basic test to ensure that guarded templates correctly serialize and
// deserialize their contracts through the CMI.
// { dg-additional-options "-fmodules-ts -fcontracts -fcontract-continuation-mode=on" }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
module;
#include <cstdio>
#include <experimental/contract>
diff --git a/gcc/testsuite/g++.dg/modules/contracts-3_b.C b/gcc/testsuite/g++.dg/modules/contracts-3_b.C
index 1a29e2c..3b9120f 100644
--- a/gcc/testsuite/g++.dg/modules/contracts-3_b.C
+++ b/gcc/testsuite/g++.dg/modules/contracts-3_b.C
@@ -1,5 +1,7 @@
// { dg-module-do run }
// { dg-additional-options "-fmodules-ts -fcontracts -fcontract-role=default:ignore,ignore,ignore" }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
+
#include <cstdio>
import foo;
diff --git a/gcc/testsuite/g++.dg/modules/contracts-4_a.C b/gcc/testsuite/g++.dg/modules/contracts-4_a.C
index a135f50..0216cae 100644
--- a/gcc/testsuite/g++.dg/modules/contracts-4_a.C
+++ b/gcc/testsuite/g++.dg/modules/contracts-4_a.C
@@ -2,6 +2,7 @@
// contracts flag is not set, regardless of the current TU's contract
// configuration.
// { dg-additional-options "-fmodules-ts -fcontracts -fcontract-role=default:maybe,maybe,ignore" }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
module;
#include <cstdio>
#include <experimental/contract>
diff --git a/gcc/testsuite/g++.dg/modules/contracts-4_d.C b/gcc/testsuite/g++.dg/modules/contracts-4_d.C
index 9e6b7c3..5ac5fde 100644
--- a/gcc/testsuite/g++.dg/modules/contracts-4_d.C
+++ b/gcc/testsuite/g++.dg/modules/contracts-4_d.C
@@ -1,5 +1,7 @@
// { dg-module-do run }
// { dg-additional-options "-fmodules-ts -fcontracts" }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
+
#include <cstdio>
import foo;
import bar;
diff --git a/gcc/testsuite/g++.dg/modules/global-3_a.C b/gcc/testsuite/g++.dg/modules/global-3_a.C
index fe7bb84..70d92ea 100644
--- a/gcc/testsuite/g++.dg/modules/global-3_a.C
+++ b/gcc/testsuite/g++.dg/modules/global-3_a.C
@@ -1,5 +1,6 @@
// { dg-module-do run }
// { dg-additional-options "-fmodules-ts -fdump-lang-module-graph" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
module;
#include <iostream>
export module logger;
diff --git a/gcc/testsuite/g++.dg/modules/hello-1_a.C b/gcc/testsuite/g++.dg/modules/hello-1_a.C
index 75853d6..ce13fd9 100644
--- a/gcc/testsuite/g++.dg/modules/hello-1_a.C
+++ b/gcc/testsuite/g++.dg/modules/hello-1_a.C
@@ -1,5 +1,6 @@
// { dg-module-do run }
// { dg-additional-options -fmodules-ts }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
module;
#include <iostream>
diff --git a/gcc/testsuite/g++.dg/modules/hello-2_a.C b/gcc/testsuite/g++.dg/modules/hello-2_a.C
index a8f8b81..89bb92b 100644
--- a/gcc/testsuite/g++.dg/modules/hello-2_a.C
+++ b/gcc/testsuite/g++.dg/modules/hello-2_a.C
@@ -1,6 +1,7 @@
// PR c++/105512
// { dg-additional-options -fmodules-ts }
// { dg-module-cmi Hello2 }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
module;
#include <string>
diff --git a/gcc/testsuite/g++.dg/modules/hello-2_b.C b/gcc/testsuite/g++.dg/modules/hello-2_b.C
index dafd3c2..35b6ea5 100644
--- a/gcc/testsuite/g++.dg/modules/hello-2_b.C
+++ b/gcc/testsuite/g++.dg/modules/hello-2_b.C
@@ -1,6 +1,7 @@
// PR c++/105512
// { dg-additional-options -fmodules-ts }
// { dg-module-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
import Hello2;
diff --git a/gcc/testsuite/g++.dg/modules/iostream-1_a.H b/gcc/testsuite/g++.dg/modules/iostream-1_a.H
index 00f8c19..d8c323c 100644
--- a/gcc/testsuite/g++.dg/modules/iostream-1_a.H
+++ b/gcc/testsuite/g++.dg/modules/iostream-1_a.H
@@ -1,6 +1,7 @@
// { dg-module-do run }
// { dg-additional-options "-fmodule-header" }
// { dg-module-cmi {} }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#ifndef MY_IOSTREAM_H
#define MY_IOSTREAM_H
diff --git a/gcc/testsuite/g++.dg/modules/p1689-2.C b/gcc/testsuite/g++.dg/modules/p1689-2.C
index 5d7fe52..8c7afe4 100644
--- a/gcc/testsuite/g++.dg/modules/p1689-2.C
+++ b/gcc/testsuite/g++.dg/modules/p1689-2.C
@@ -5,6 +5,7 @@
// { dg-additional-options -fdeps-format=p1689r5 }
// { dg-additional-options -fdeps-target=p1689-2.o }
// { dg-additional-options -fdeps-file=p1689-2.ddi }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// Export a module partition that uses modules.
diff --git a/gcc/testsuite/g++.dg/modules/part-5_c.C b/gcc/testsuite/g++.dg/modules/part-5_c.C
index 0f148c3..cdcea49 100644
--- a/gcc/testsuite/g++.dg/modules/part-5_c.C
+++ b/gcc/testsuite/g++.dg/modules/part-5_c.C
@@ -1,4 +1,5 @@
// { dg-additional-options -fmodules-ts }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
import module1;
diff --git a/gcc/testsuite/g++.dg/modules/pr99023_a.X b/gcc/testsuite/g++.dg/modules/pr99023_a.X
index 507e956..6ae2cf4 100644
--- a/gcc/testsuite/g++.dg/modules/pr99023_a.X
+++ b/gcc/testsuite/g++.dg/modules/pr99023_a.X
@@ -1,6 +1,7 @@
// PR c++/99023, ICE
// { dg-require-effective-target c++20_only }
// { dg-additional-options {-x c++-system-header initializer_list -fmodules-ts --param ggc-min-expand=0} }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// { dg-prune-output {linker input file unused} }
diff --git a/gcc/testsuite/g++.dg/modules/pr99166_a.X b/gcc/testsuite/g++.dg/modules/pr99166_a.X
index 0649d053..24527a0 100644
--- a/gcc/testsuite/g++.dg/modules/pr99166_a.X
+++ b/gcc/testsuite/g++.dg/modules/pr99166_a.X
@@ -1,5 +1,6 @@
// PR c++/99166, diagnostic
// { dg-additional-options {-x c++-system-header iostream -fmodules-ts -flang-info-module-cmi} }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// { dg-regexp {[^\n]*iostream: note: writing CMI 'gcm.cache/[^[\n]*iostream.gcm'\n} }
// { dg-prune-output {linker input file unused} }
diff --git a/gcc/testsuite/g++.dg/modules/pr99166_b.C b/gcc/testsuite/g++.dg/modules/pr99166_b.C
index ac20116..25b90da 100644
--- a/gcc/testsuite/g++.dg/modules/pr99166_b.C
+++ b/gcc/testsuite/g++.dg/modules/pr99166_b.C
@@ -1,4 +1,6 @@
// { dg-additional-options {-fmodules-ts -flang-info-module-cmi=<iostream>} }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
+
export module Foo;
import <iostream>;
diff --git a/gcc/testsuite/g++.dg/modules/pr99425-2_a.X b/gcc/testsuite/g++.dg/modules/pr99425-2_a.X
index 9a44dc3..36f9163 100644
--- a/gcc/testsuite/g++.dg/modules/pr99425-2_a.X
+++ b/gcc/testsuite/g++.dg/modules/pr99425-2_a.X
@@ -3,5 +3,6 @@
// { dg-additional-options {-x c++-system-header stdexcept -fmodules-ts} }
// { dg-prune-output {linker input file unused} }
+// { dg-skip-if "requires hosted libstdc++ for stdexcept" { ! hostedlib } }
No! DO NOT COMPILE;
diff --git a/gcc/testsuite/g++.dg/modules/pr99425-2_b.X b/gcc/testsuite/g++.dg/modules/pr99425-2_b.X
index 5e45354..baf653a 100644
--- a/gcc/testsuite/g++.dg/modules/pr99425-2_b.X
+++ b/gcc/testsuite/g++.dg/modules/pr99425-2_b.X
@@ -1,4 +1,5 @@
// { dg-additional-options {-x c++-system-header mutex -fmodules-ts} }
// { dg-prune-output {linker input file unused} }
+// { dg-skip-if "requires hosted libstdc++ for mutex" { ! hostedlib } }
No! DO NOT COMPILE;
diff --git a/gcc/testsuite/g++.dg/modules/string-1_a.H b/gcc/testsuite/g++.dg/modules/string-1_a.H
index 77c565f..250dcba 100644
--- a/gcc/testsuite/g++.dg/modules/string-1_a.H
+++ b/gcc/testsuite/g++.dg/modules/string-1_a.H
@@ -1,4 +1,5 @@
// { dg-additional-options -fmodule-header }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
// { dg-module-cmi {} }
#include <string>
diff --git a/gcc/testsuite/g++.dg/modules/string-1_b.C b/gcc/testsuite/g++.dg/modules/string-1_b.C
index 098289c..d066b11 100644
--- a/gcc/testsuite/g++.dg/modules/string-1_b.C
+++ b/gcc/testsuite/g++.dg/modules/string-1_b.C
@@ -1,4 +1,5 @@
// { dg-additional-options "-fmodules-ts -fno-module-lazy" }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
import "string-1_a.H";
diff --git a/gcc/testsuite/g++.dg/modules/string-view1.C b/gcc/testsuite/g++.dg/modules/string-view1.C
index f5391f3..19219a1 100644
--- a/gcc/testsuite/g++.dg/modules/string-view1.C
+++ b/gcc/testsuite/g++.dg/modules/string-view1.C
@@ -1,4 +1,5 @@
// { dg-additional-options "-fmodules-ts" }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
module;
#include <cstdio>
#include <string_view>
diff --git a/gcc/testsuite/g++.dg/modules/xtreme-header-1_a.H b/gcc/testsuite/g++.dg/modules/xtreme-header-1_a.H
index f30dacc..940c6da 100644
--- a/gcc/testsuite/g++.dg/modules/xtreme-header-1_a.H
+++ b/gcc/testsuite/g++.dg/modules/xtreme-header-1_a.H
@@ -1,4 +1,5 @@
// { dg-additional-options -fmodule-header }
+// { dg-skip-if "requires hosted libstdc++ for cassert in xtreme-header-1.h" { ! hostedlib } }
// { dg-module-cmi {} }
#include "xtreme-header-1.h"
diff --git a/gcc/testsuite/g++.dg/modules/xtreme-header-1_b.C b/gcc/testsuite/g++.dg/modules/xtreme-header-1_b.C
index e273016..b64f594 100644
--- a/gcc/testsuite/g++.dg/modules/xtreme-header-1_b.C
+++ b/gcc/testsuite/g++.dg/modules/xtreme-header-1_b.C
@@ -1,4 +1,5 @@
// { dg-additional-options "-fmodules-ts -fno-module-lazy" }
+// { dg-skip-if "requires hosted libstdc++ for cassert in xtreme-header-1.h" { ! hostedlib } }
#include "xtreme-header-1.h"
import "xtreme-header-1_a.H";
diff --git a/gcc/testsuite/g++.dg/modules/xtreme-header-2_a.H b/gcc/testsuite/g++.dg/modules/xtreme-header-2_a.H
index 217ead3..a52fefd 100644
--- a/gcc/testsuite/g++.dg/modules/xtreme-header-2_a.H
+++ b/gcc/testsuite/g++.dg/modules/xtreme-header-2_a.H
@@ -1,4 +1,5 @@
// { dg-additional-options -fmodule-header }
+// { dg-skip-if "requires hosted libstdc++ for execution in xtreme-header-2.h" { ! hostedlib } }
// { dg-module-cmi {} }
#include "xtreme-header-2.h"
diff --git a/gcc/testsuite/g++.dg/modules/xtreme-header-2_b.C b/gcc/testsuite/g++.dg/modules/xtreme-header-2_b.C
index 1f608ec..b7ff864 100644
--- a/gcc/testsuite/g++.dg/modules/xtreme-header-2_b.C
+++ b/gcc/testsuite/g++.dg/modules/xtreme-header-2_b.C
@@ -1,4 +1,5 @@
// { dg-additional-options "-fmodules-ts -fno-module-lazy" }
+// { dg-skip-if "requires hosted libstdc++ for execution in xtreme-header-2.h" { ! hostedlib } }
#include "xtreme-header-2.h"
import "xtreme-header-2_a.H";
diff --git a/gcc/testsuite/g++.dg/modules/xtreme-header-3_a.H b/gcc/testsuite/g++.dg/modules/xtreme-header-3_a.H
index d3ff6fd..695fb27 100644
--- a/gcc/testsuite/g++.dg/modules/xtreme-header-3_a.H
+++ b/gcc/testsuite/g++.dg/modules/xtreme-header-3_a.H
@@ -1,4 +1,5 @@
// { dg-additional-options -fmodule-header }
+// { dg-skip-if "requires hosted libstdc++ for deque in xtreme-header-3.h" { ! hostedlib } }
// { dg-module-cmi {} }
#include "xtreme-header-3.h"
diff --git a/gcc/testsuite/g++.dg/modules/xtreme-header-3_b.C b/gcc/testsuite/g++.dg/modules/xtreme-header-3_b.C
index 2eb3145..5a912b8 100644
--- a/gcc/testsuite/g++.dg/modules/xtreme-header-3_b.C
+++ b/gcc/testsuite/g++.dg/modules/xtreme-header-3_b.C
@@ -1,4 +1,5 @@
// { dg-additional-options "-fmodules-ts -fno-module-lazy" }
+// { dg-skip-if "requires hosted libstdc++ for deque in xtreme-header-3.h" { ! hostedlib } }
#include "xtreme-header-3.h"
import "xtreme-header-3_a.H";
diff --git a/gcc/testsuite/g++.dg/modules/xtreme-header-4_a.H b/gcc/testsuite/g++.dg/modules/xtreme-header-4_a.H
index 391adbe..eb1815c 100644
--- a/gcc/testsuite/g++.dg/modules/xtreme-header-4_a.H
+++ b/gcc/testsuite/g++.dg/modules/xtreme-header-4_a.H
@@ -1,4 +1,5 @@
// { dg-additional-options -fmodule-header }
+// { dg-skip-if "requires hosted libstdc++ for charconv in xtreme-header-4.h" { ! hostedlib } }
// { dg-module-cmi {} }
#include "xtreme-header-4.h"
diff --git a/gcc/testsuite/g++.dg/modules/xtreme-header-4_b.C b/gcc/testsuite/g++.dg/modules/xtreme-header-4_b.C
index ff7147e..663b3ba 100644
--- a/gcc/testsuite/g++.dg/modules/xtreme-header-4_b.C
+++ b/gcc/testsuite/g++.dg/modules/xtreme-header-4_b.C
@@ -1,4 +1,5 @@
// { dg-additional-options "-fmodules-ts -fno-module-lazy" }
+// { dg-skip-if "requires hosted libstdc++ for charconv in xtreme-header-4.h" { ! hostedlib } }
#include "xtreme-header-4.h"
import "xtreme-header-4_a.H";
diff --git a/gcc/testsuite/g++.dg/modules/xtreme-header-5_a.H b/gcc/testsuite/g++.dg/modules/xtreme-header-5_a.H
index a03c024..3719954 100644
--- a/gcc/testsuite/g++.dg/modules/xtreme-header-5_a.H
+++ b/gcc/testsuite/g++.dg/modules/xtreme-header-5_a.H
@@ -1,4 +1,5 @@
// { dg-additional-options -fmodule-header }
+// { dg-skip-if "requires hosted libstdc++ for any in xtreme-header-5.h" { ! hostedlib } }
// { dg-module-cmi {} }
#include "xtreme-header-5.h"
diff --git a/gcc/testsuite/g++.dg/modules/xtreme-header-5_b.C b/gcc/testsuite/g++.dg/modules/xtreme-header-5_b.C
index 8cf7d68..e6fe2d9 100644
--- a/gcc/testsuite/g++.dg/modules/xtreme-header-5_b.C
+++ b/gcc/testsuite/g++.dg/modules/xtreme-header-5_b.C
@@ -1,4 +1,5 @@
// { dg-additional-options "-fmodules-ts -fno-module-lazy" }
+// { dg-skip-if "requires hosted libstdc++ for any in xtreme-header-5.h" { ! hostedlib } }
#include "xtreme-header-5.h"
import "xtreme-header-5_a.H";
diff --git a/gcc/testsuite/g++.dg/modules/xtreme-header-6_a.H b/gcc/testsuite/g++.dg/modules/xtreme-header-6_a.H
index aec5a03..e5b9f2e 100644
--- a/gcc/testsuite/g++.dg/modules/xtreme-header-6_a.H
+++ b/gcc/testsuite/g++.dg/modules/xtreme-header-6_a.H
@@ -1,4 +1,5 @@
// { dg-additional-options -fmodule-header }
+// { dg-skip-if "requires hosted libstdc++ for barrier in xtreme-header-6.h" { ! hostedlib } }
// { dg-module-cmi {} }
#include "xtreme-header-6.h"
diff --git a/gcc/testsuite/g++.dg/modules/xtreme-header-6_b.C b/gcc/testsuite/g++.dg/modules/xtreme-header-6_b.C
index 0d2cc69..f69c561 100644
--- a/gcc/testsuite/g++.dg/modules/xtreme-header-6_b.C
+++ b/gcc/testsuite/g++.dg/modules/xtreme-header-6_b.C
@@ -1,4 +1,5 @@
// { dg-additional-options "-fmodules-ts -fno-module-lazy" }
+// { dg-skip-if "requires hosted libstdc++ for barrier in xtreme-header-6.h" { ! hostedlib } }
#include "xtreme-header-6.h"
import "xtreme-header-6_a.H";
diff --git a/gcc/testsuite/g++.dg/modules/xtreme-header-7_a.H b/gcc/testsuite/g++.dg/modules/xtreme-header-7_a.H
index bf7859f..9c42b7a 100644
--- a/gcc/testsuite/g++.dg/modules/xtreme-header-7_a.H
+++ b/gcc/testsuite/g++.dg/modules/xtreme-header-7_a.H
@@ -1,4 +1,5 @@
// { dg-additional-options -fmodule-header }
+// { dg-skip-if "requires hosted libstdc++ for any in xtreme-header.h" { ! hostedlib } }
// { dg-module-cmi {} }
#include "xtreme-header.h"
diff --git a/gcc/testsuite/g++.dg/modules/xtreme-header-7_b.C b/gcc/testsuite/g++.dg/modules/xtreme-header-7_b.C
index 3992a24..b7df272 100644
--- a/gcc/testsuite/g++.dg/modules/xtreme-header-7_b.C
+++ b/gcc/testsuite/g++.dg/modules/xtreme-header-7_b.C
@@ -1,5 +1,6 @@
// A version of xtreme-header_b.C that doesn't use -fno-module-lazy.
// { dg-additional-options -fmodules-ts }
+// { dg-skip-if "requires hosted libstdc++ for any in xtreme-header.h" { ! hostedlib } }
#include "xtreme-header.h"
import "xtreme-header-7_a.H";
diff --git a/gcc/testsuite/g++.dg/modules/xtreme-header_a.H b/gcc/testsuite/g++.dg/modules/xtreme-header_a.H
index bf7859f..9c42b7a 100644
--- a/gcc/testsuite/g++.dg/modules/xtreme-header_a.H
+++ b/gcc/testsuite/g++.dg/modules/xtreme-header_a.H
@@ -1,4 +1,5 @@
// { dg-additional-options -fmodule-header }
+// { dg-skip-if "requires hosted libstdc++ for any in xtreme-header.h" { ! hostedlib } }
// { dg-module-cmi {} }
#include "xtreme-header.h"
diff --git a/gcc/testsuite/g++.dg/modules/xtreme-header_b.C b/gcc/testsuite/g++.dg/modules/xtreme-header_b.C
index 2e736da..2b0e91a 100644
--- a/gcc/testsuite/g++.dg/modules/xtreme-header_b.C
+++ b/gcc/testsuite/g++.dg/modules/xtreme-header_b.C
@@ -1,4 +1,5 @@
// { dg-additional-options "-fmodules-ts -fno-module-lazy" }
+// { dg-skip-if "requires hosted libstdc++ for any in xtreme-header.h" { ! hostedlib } }
#include "xtreme-header.h"
import "xtreme-header_a.H";
diff --git a/gcc/testsuite/g++.dg/modules/xtreme-tr1_a.H b/gcc/testsuite/g++.dg/modules/xtreme-tr1_a.H
index bed70a6..02a2a7e 100644
--- a/gcc/testsuite/g++.dg/modules/xtreme-tr1_a.H
+++ b/gcc/testsuite/g++.dg/modules/xtreme-tr1_a.H
@@ -1,4 +1,5 @@
// { dg-additional-options -fmodule-header }
+// { dg-skip-if "requires hosted libstdc++ for tr1/functional in xtreme-tr1.h" { ! hostedlib } }
// { dg-module-cmi {} }
#include "xtreme-tr1.h"
diff --git a/gcc/testsuite/g++.dg/modules/xtreme-tr1_b.C b/gcc/testsuite/g++.dg/modules/xtreme-tr1_b.C
index 9bb1dc2..f0c5990 100644
--- a/gcc/testsuite/g++.dg/modules/xtreme-tr1_b.C
+++ b/gcc/testsuite/g++.dg/modules/xtreme-tr1_b.C
@@ -1,4 +1,5 @@
// { dg-additional-options "-fmodules-ts -fno-module-lazy" }
+// { dg-skip-if "requires hosted libstdc++ for tr1/functional in xtreme-tr1.h" { ! hostedlib } }
#include "xtreme-tr1.h"
import "xtreme-tr1_a.H";
diff --git a/gcc/testsuite/g++.dg/opt/builtins2.C b/gcc/testsuite/g++.dg/opt/builtins2.C
index 658c128..b273f1f 100644
--- a/gcc/testsuite/g++.dg/opt/builtins2.C
+++ b/gcc/testsuite/g++.dg/opt/builtins2.C
@@ -2,6 +2,7 @@
// We should handle asinh as a built-in in C++0x mode, even when strict.
// { dg-do compile { target c++11 } }
// { dg-final { scan-assembler-not "asinh" } }
+// { dg-skip-if "requires hosted libstdc++ for math" { ! hostedlib } }
#include <math.h>
diff --git a/gcc/testsuite/g++.dg/opt/dtor4-aux.cc b/gcc/testsuite/g++.dg/opt/dtor4-aux.cc
index e3ca43b..057ba0f 100644
--- a/gcc/testsuite/g++.dg/opt/dtor4-aux.cc
+++ b/gcc/testsuite/g++.dg/opt/dtor4-aux.cc
@@ -1,5 +1,6 @@
// { dg-do compile }
// { dg-options "" }
+// { dg-skip-if "requires hosted libstdc++ for cassert in dtor4.h" { ! hostedlib } }
#include "dtor4.h"
diff --git a/gcc/testsuite/g++.dg/opt/dtor4.C b/gcc/testsuite/g++.dg/opt/dtor4.C
index c58fadf..41f1a20 100644
--- a/gcc/testsuite/g++.dg/opt/dtor4.C
+++ b/gcc/testsuite/g++.dg/opt/dtor4.C
@@ -2,6 +2,7 @@
// { dg-do run }
// { dg-options "-O1 -fipa-sra" }
// { dg-additional-sources "dtor4-aux.cc" }
+// { dg-skip-if "requires hosted libstdc++ for cassert in dtor4.h" { ! hostedlib } }
#include "dtor4.h"
diff --git a/gcc/testsuite/g++.dg/opt/eh4.C b/gcc/testsuite/g++.dg/opt/eh4.C
index 0a62ee2..be30fcc 100644
--- a/gcc/testsuite/g++.dg/opt/eh4.C
+++ b/gcc/testsuite/g++.dg/opt/eh4.C
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-options "-O3" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Make sure that the call to terminate within F2 is not eliminated
// by incorrect MUST_NOT_THROW optimization. Note that we expect F1
diff --git a/gcc/testsuite/g++.dg/opt/nrv17.C b/gcc/testsuite/g++.dg/opt/nrv17.C
index 6248bca..27004e0 100644
--- a/gcc/testsuite/g++.dg/opt/nrv17.C
+++ b/gcc/testsuite/g++.dg/opt/nrv17.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
#include <cstdlib>
#include <complex>
diff --git a/gcc/testsuite/g++.dg/opt/pr102970.C b/gcc/testsuite/g++.dg/opt/pr102970.C
index 2acb3c2..84f6fff 100644
--- a/gcc/testsuite/g++.dg/opt/pr102970.C
+++ b/gcc/testsuite/g++.dg/opt/pr102970.C
@@ -1,6 +1,7 @@
// { dg-do run }
// { dg-require-effective-target c++14 }
// { dg-options "-O2 -funroll-loops -fno-tree-vectorize" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
#include <algorithm>
diff --git a/gcc/testsuite/g++.dg/opt/pr103989.C b/gcc/testsuite/g++.dg/opt/pr103989.C
index 4604811..dfb1454 100644
--- a/gcc/testsuite/g++.dg/opt/pr103989.C
+++ b/gcc/testsuite/g++.dg/opt/pr103989.C
@@ -1,5 +1,6 @@
// { dg-require-effective-target c++17 }
// { dg-options "-Og -Wall" }
+// { dg-skip-if "requires hosted libstdc++ for memory shared_ptr" { ! hostedlib } }
#include <optional>
#include <memory>
diff --git a/gcc/testsuite/g++.dg/opt/pr109434.C b/gcc/testsuite/g++.dg/opt/pr109434.C
index cffa327..9486d15 100644
--- a/gcc/testsuite/g++.dg/opt/pr109434.C
+++ b/gcc/testsuite/g++.dg/opt/pr109434.C
@@ -1,6 +1,7 @@
// { dg-do compile }
// { dg-require-effective-target c++17 }
// { dg-options "-O2 -Wall" }
+// { dg-skip-if "requires hosted libstdc++ for stdexcept" { ! hostedlib } }
#include <optional>
#include <stdexcept>
diff --git a/gcc/testsuite/g++.dg/opt/pr110879.C b/gcc/testsuite/g++.dg/opt/pr110879.C
index 5755660..3445850 100644
--- a/gcc/testsuite/g++.dg/opt/pr110879.C
+++ b/gcc/testsuite/g++.dg/opt/pr110879.C
@@ -1,5 +1,6 @@
// { dg-do compile { target c++11 } }
// { dg-options "-O3 -fdump-tree-optimized" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
diff --git a/gcc/testsuite/g++.dg/opt/pr15551.C b/gcc/testsuite/g++.dg/opt/pr15551.C
index dc3ddc4..ccaa233 100644
--- a/gcc/testsuite/g++.dg/opt/pr15551.C
+++ b/gcc/testsuite/g++.dg/opt/pr15551.C
@@ -4,6 +4,7 @@
//
// { dg-do run }
// { dg-options "-O3" }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
#include <cstring>
#include <fstream>
diff --git a/gcc/testsuite/g++.dg/opt/pr30965.C b/gcc/testsuite/g++.dg/opt/pr30965.C
index 4adca8b..e4b7cf0 100644
--- a/gcc/testsuite/g++.dg/opt/pr30965.C
+++ b/gcc/testsuite/g++.dg/opt/pr30965.C
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O3 -fno-ipa-icf -fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for tr1/functional" { ! hostedlib } } */
#include <tr1/functional>
#include <algorithm>
diff --git a/gcc/testsuite/g++.dg/opt/pr65074.C b/gcc/testsuite/g++.dg/opt/pr65074.C
index 01c5926..0124c51 100644
--- a/gcc/testsuite/g++.dg/opt/pr65074.C
+++ b/gcc/testsuite/g++.dg/opt/pr65074.C
@@ -1,6 +1,7 @@
// PR middle-end/65074
// { dg-do link { target pie } }
// { dg-options "-pie -fpie -O2" }
+// { dg-skip-if "requires hosted libstdc++ for fstream" { ! hostedlib } }
#include <fstream>
diff --git a/gcc/testsuite/g++.dg/opt/pr66119.C b/gcc/testsuite/g++.dg/opt/pr66119.C
index c129633..d1b1845 100644
--- a/gcc/testsuite/g++.dg/opt/pr66119.C
+++ b/gcc/testsuite/g++.dg/opt/pr66119.C
@@ -4,6 +4,7 @@
/* { dg-do compile { target { { i?86-*-* x86_64-*-* } && c++11 } } } */
/* { dg-options "-O3 -mavx -fdump-tree-sra -march=slm -mtune=slm -fno-early-inlining" } */
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } }
#include <immintrin.h>
diff --git a/gcc/testsuite/g++.dg/opt/pr77844.C b/gcc/testsuite/g++.dg/opt/pr77844.C
index 66eb978..3a8252a 100644
--- a/gcc/testsuite/g++.dg/opt/pr77844.C
+++ b/gcc/testsuite/g++.dg/opt/pr77844.C
@@ -1,6 +1,7 @@
// PR debug/77844
// { dg-do compile }
// { dg-options "-O3 -g" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
diff --git a/gcc/testsuite/g++.dg/opt/pr80385.C b/gcc/testsuite/g++.dg/opt/pr80385.C
index f18abc9..de3ae17 100644
--- a/gcc/testsuite/g++.dg/opt/pr80385.C
+++ b/gcc/testsuite/g++.dg/opt/pr80385.C
@@ -1,6 +1,7 @@
// PR rtl-optimization/80385
// { dg-do compile { target { i?86-*-* x86_64-*-* } } }
// { dg-options "-Ofast -msse2" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } }
#include <x86intrin.h>
diff --git a/gcc/testsuite/g++.dg/opt/pr85393.C b/gcc/testsuite/g++.dg/opt/pr85393.C
index a2a3162..4f3c65b 100644
--- a/gcc/testsuite/g++.dg/opt/pr85393.C
+++ b/gcc/testsuite/g++.dg/opt/pr85393.C
@@ -2,6 +2,7 @@
// { dg-do run { target c++11 } }
// { dg-options "-O2" }
// { dg-additional-sources "pr85393-aux.cc" }
+// { dg-skip-if "requires hosted libstdc++ for stdexcept" { ! hostedlib } }
#include <stdexcept>
#include <vector>
diff --git a/gcc/testsuite/g++.dg/opt/pr94223.C b/gcc/testsuite/g++.dg/opt/pr94223.C
index 0de012d..f06f105 100644
--- a/gcc/testsuite/g++.dg/opt/pr94223.C
+++ b/gcc/testsuite/g++.dg/opt/pr94223.C
@@ -1,5 +1,6 @@
// PR c++/94223
// { dg-do compile }
// { dg-options "-O0 -std=c++2a -fcompare-debug" }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include "../cpp1z/init-statement6.C"
diff --git a/gcc/testsuite/g++.dg/opt/reload3.C b/gcc/testsuite/g++.dg/opt/reload3.C
index daa7ffd..3857711 100644
--- a/gcc/testsuite/g++.dg/opt/reload3.C
+++ b/gcc/testsuite/g++.dg/opt/reload3.C
@@ -1,6 +1,7 @@
// PR target/38287
// { dg-do run }
// { dg-options "-O2 -mcpu=v8 -fPIC" { target { { sparc*-*-* } && { ilp32 && fpic } } } }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include <cstdlib>
diff --git a/gcc/testsuite/g++.dg/other/final7.C b/gcc/testsuite/g++.dg/other/final7.C
index 43ab7ba..5c499a6 100644
--- a/gcc/testsuite/g++.dg/other/final7.C
+++ b/gcc/testsuite/g++.dg/other/final7.C
@@ -1,5 +1,6 @@
// PR c++/90909
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/other/i386-1.C b/gcc/testsuite/g++.dg/other/i386-1.C
index ec572ec..108af19 100644
--- a/gcc/testsuite/g++.dg/other/i386-1.C
+++ b/gcc/testsuite/g++.dg/other/i386-1.C
@@ -1,6 +1,7 @@
/* { dg-do run { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-msse2" } */
/* { dg-require-effective-target sse2_runtime } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#include <xmmintrin.h>
diff --git a/gcc/testsuite/g++.dg/other/i386-11.C b/gcc/testsuite/g++.dg/other/i386-11.C
index 8e06617..f28cfcf 100644
--- a/gcc/testsuite/g++.dg/other/i386-11.C
+++ b/gcc/testsuite/g++.dg/other/i386-11.C
@@ -2,6 +2,7 @@
// { dg-do compile { target i?86-*-* x86_64-*-* } }
// { dg-require-effective-target c++11 }
// { dg-options "-O2 -msse2" }
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#include <xmmintrin.h>
#include <emmintrin.h>
diff --git a/gcc/testsuite/g++.dg/other/i386-2.C b/gcc/testsuite/g++.dg/other/i386-2.C
index 5a4005c..d0492dc 100644
--- a/gcc/testsuite/g++.dg/other/i386-2.C
+++ b/gcc/testsuite/g++.dg/other/i386-2.C
@@ -1,5 +1,6 @@
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O -pedantic-errors -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -msha -mxsavec -mxsaves -mclflushopt -mclwb -mmwaitx -mclzero -mpku -msgx -mrdpid -mgfni -mpconfig -mwbnoinvd -menqcmd -mavx512vp2intersect -mserialize -mtsxldtrk -mamx-tile -mamx-int8 -mamx-bf16 -mkl -mwidekl -mavxvnni -mavxifma -mavxvnniint8 -mavxneconvert -mcmpccxadd -mamx-fp16 -mprefetchi -mraoint -mamx-complex -mavxvnniint16 -msm3 -msha512 -msm4 -mavx10.2-512" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
/* Test that {,x,e,p,t,s,w,a,b,i}mmintrin.h, mm3dnow.h, fma4intrin.h,
xopintrin.h, abmintrin.h, bmiintrin.h, tbmintrin.h, lwpintrin.h,
diff --git a/gcc/testsuite/g++.dg/other/i386-3.C b/gcc/testsuite/g++.dg/other/i386-3.C
index 51977ae..3bfc839 100644
--- a/gcc/testsuite/g++.dg/other/i386-3.C
+++ b/gcc/testsuite/g++.dg/other/i386-3.C
@@ -1,5 +1,6 @@
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O -fkeep-inline-functions -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt -msha -mxsavec -mxsaves -mclflushopt -mclwb -mmwaitx -mclzero -mpku -msgx -mrdpid -mgfni -mpconfig -mwbnoinvd -menqcmd -mavx512vp2intersect -mserialize -mtsxldtrk -mamx-tile -mamx-int8 -mamx-bf16 -mkl -mwidekl -mavxvnni -mavxifma -mavxvnniint8 -mavxneconvert -mcmpccxadd -mamx-fp16 -mprefetchi -mraoint -mamx-complex -mavxvnniint16 -msm3 -msha512 -msm4 -mavx10.2-512" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
/* Test that {,x,e,p,t,s,w,a,b,i}mmintrin.h, mm3dnow.h, fma4intrin.h,
xopintrin.h, abmintrin.h, bmiintrin.h, tbmintrin.h, lwpintrin.h,
diff --git a/gcc/testsuite/g++.dg/other/i386-4.C b/gcc/testsuite/g++.dg/other/i386-4.C
index 3e0d94e..3cd6f4c 100644
--- a/gcc/testsuite/g++.dg/other/i386-4.C
+++ b/gcc/testsuite/g++.dg/other/i386-4.C
@@ -1,5 +1,6 @@
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O1 -msse2" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#include <xmmintrin.h>
diff --git a/gcc/testsuite/g++.dg/other/i386-7.C b/gcc/testsuite/g++.dg/other/i386-7.C
index e2ad51e..704c5b7 100644
--- a/gcc/testsuite/g++.dg/other/i386-7.C
+++ b/gcc/testsuite/g++.dg/other/i386-7.C
@@ -2,6 +2,7 @@
/* We were using SSE4.2 builtins without the extension available. */
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O -pedantic-errors" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#include <x86intrin.h>
diff --git a/gcc/testsuite/g++.dg/other/i386-8.C b/gcc/testsuite/g++.dg/other/i386-8.C
index a9465ef..6bb229f 100644
--- a/gcc/testsuite/g++.dg/other/i386-8.C
+++ b/gcc/testsuite/g++.dg/other/i386-8.C
@@ -2,6 +2,7 @@
// { dg-do compile { target i?86-*-* x86_64-*-* } }
// { dg-options "-O2 -msse2" }
// { dg-options "-O2 -msse2 -fpic" { target fpic } }
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#include <xmmintrin.h>
diff --git a/gcc/testsuite/g++.dg/other/mmintrin.C b/gcc/testsuite/g++.dg/other/mmintrin.C
index 417a1ac..3daf378 100644
--- a/gcc/testsuite/g++.dg/other/mmintrin.C
+++ b/gcc/testsuite/g++.dg/other/mmintrin.C
@@ -1,4 +1,5 @@
// { dg-do compile { target i?86-*-* x86_64-*-* } }
// { dg-options "-msse" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } }
#include <xmmintrin.h>
diff --git a/gcc/testsuite/g++.dg/other/pr34435.C b/gcc/testsuite/g++.dg/other/pr34435.C
index 5352a40..8b7efd4 100644
--- a/gcc/testsuite/g++.dg/other/pr34435.C
+++ b/gcc/testsuite/g++.dg/other/pr34435.C
@@ -1,5 +1,6 @@
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-msse2 -Wno-abi" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#include <emmintrin.h>
diff --git a/gcc/testsuite/g++.dg/other/pr40446.C b/gcc/testsuite/g++.dg/other/pr40446.C
index 72cd196..3d3a6b8 100644
--- a/gcc/testsuite/g++.dg/other/pr40446.C
+++ b/gcc/testsuite/g++.dg/other/pr40446.C
@@ -2,6 +2,7 @@
// { dg-do run { target i?86-*-* x86_64-*-* } }
// { dg-options "-O1 -msse2" }
// { dg-require-effective-target sse2_runtime }
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#include <emmintrin.h>
diff --git a/gcc/testsuite/g++.dg/other/pr40561.C b/gcc/testsuite/g++.dg/other/pr40561.C
index c94dfa4..09cb2b3 100644
--- a/gcc/testsuite/g++.dg/other/pr40561.C
+++ b/gcc/testsuite/g++.dg/other/pr40561.C
@@ -1,4 +1,5 @@
// { dg-do compile }
+// { dg-skip-if "requires hosted libstdc++ for set" { ! hostedlib } }
#include <set>
diff --git a/gcc/testsuite/g++.dg/other/pr49133.C b/gcc/testsuite/g++.dg/other/pr49133.C
index a59687f..bd30cc7 100644
--- a/gcc/testsuite/g++.dg/other/pr49133.C
+++ b/gcc/testsuite/g++.dg/other/pr49133.C
@@ -1,6 +1,7 @@
/* { dg-do run { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2 -msse2" } */
/* { dg-require-effective-target sse2_runtime } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#include <xmmintrin.h>
diff --git a/gcc/testsuite/g++.dg/other/ucnid-1-utf8.C b/gcc/testsuite/g++.dg/other/ucnid-1-utf8.C
index dab4152..c49e8c4 100644
--- a/gcc/testsuite/g++.dg/other/ucnid-1-utf8.C
+++ b/gcc/testsuite/g++.dg/other/ucnid-1-utf8.C
@@ -2,6 +2,7 @@
/* { dg-options "" } */
/* { dg-xfail-if "" { powerpc-ibm-aix* } } */
/* { dg-skip-if "" { ! ucn } } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } } */
#include <cstdlib>
int À(void) { return 1; }
diff --git a/gcc/testsuite/g++.dg/other/ucnid-1.C b/gcc/testsuite/g++.dg/other/ucnid-1.C
index 954f34d..f9dd9fb9 100644
--- a/gcc/testsuite/g++.dg/other/ucnid-1.C
+++ b/gcc/testsuite/g++.dg/other/ucnid-1.C
@@ -2,6 +2,7 @@
/* { dg-options "" } */
/* { dg-xfail-if "" { powerpc-ibm-aix* } } */
/* { dg-skip-if "" { ! ucn } } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } } */
#include <cstdlib>
int \u00C0(void) { return 1; }
diff --git a/gcc/testsuite/g++.dg/parse/lookup1.C b/gcc/testsuite/g++.dg/parse/lookup1.C
index 0325d3c..fa0e200 100644
--- a/gcc/testsuite/g++.dg/parse/lookup1.C
+++ b/gcc/testsuite/g++.dg/parse/lookup1.C
@@ -1,3 +1,4 @@
+// { dg-skip-if "requires hosted libstdc++ for list" { ! hostedlib } }
#include <list>
using namespace std;
diff --git a/gcc/testsuite/g++.dg/parse/parse5.C b/gcc/testsuite/g++.dg/parse/parse5.C
index f9e6a03..7ea28b5 100644
--- a/gcc/testsuite/g++.dg/parse/parse5.C
+++ b/gcc/testsuite/g++.dg/parse/parse5.C
@@ -1,5 +1,6 @@
/* PR c++/590 */
/* { dg-do compile } */
+/* { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } } */
#include <iostream>
#include <sstream>
diff --git a/gcc/testsuite/g++.dg/pch/system-1.C b/gcc/testsuite/g++.dg/pch/system-1.C
index 72bea3c..769c5d1 100644
--- a/gcc/testsuite/g++.dg/pch/system-1.C
+++ b/gcc/testsuite/g++.dg/pch/system-1.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for iostream in system-1.H" { ! hostedlib } }
+
#include "system-1.H"
int main()
diff --git a/gcc/testsuite/g++.dg/pch/system-1.Hs b/gcc/testsuite/g++.dg/pch/system-1.Hs
index 604782e..d08c6c0 100644
--- a/gcc/testsuite/g++.dg/pch/system-1.Hs
+++ b/gcc/testsuite/g++.dg/pch/system-1.Hs
@@ -1 +1,3 @@
+// { dg-skip-if "requires hosted libstdc++ for iostream in system-1.H" { ! hostedlib } }
+
#include <iostream>
diff --git a/gcc/testsuite/g++.dg/pch/system-2.C b/gcc/testsuite/g++.dg/pch/system-2.C
index 44f3ec0..91693cf 100644
--- a/gcc/testsuite/g++.dg/pch/system-2.C
+++ b/gcc/testsuite/g++.dg/pch/system-2.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for iostream in system-2.H" { ! hostedlib } }
+
#include "system-2.H"
int main()
diff --git a/gcc/testsuite/g++.dg/pch/system-2.Hs b/gcc/testsuite/g++.dg/pch/system-2.Hs
index 13c79d1..0570721 100644
--- a/gcc/testsuite/g++.dg/pch/system-2.Hs
+++ b/gcc/testsuite/g++.dg/pch/system-2.Hs
@@ -1,2 +1,4 @@
+// { dg-skip-if "requires hosted libstdc++ for iostream in system-1.H" { ! hostedlib } }
+
#include <iostream>
#include <string>
diff --git a/gcc/testsuite/g++.dg/pr100253.C b/gcc/testsuite/g++.dg/pr100253.C
index 0102caa..031b4fa 100644
--- a/gcc/testsuite/g++.dg/pr100253.C
+++ b/gcc/testsuite/g++.dg/pr100253.C
@@ -1,5 +1,6 @@
/* { dg-do run } */
/* { dg-options "-O2 -fno-tree-bit-ccp -ftree-slp-vectorize" } */
+/* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
#include <vector>
diff --git a/gcc/testsuite/g++.dg/pr104547.C b/gcc/testsuite/g++.dg/pr104547.C
index b6135ff..669f0b8 100644
--- a/gcc/testsuite/g++.dg/pr104547.C
+++ b/gcc/testsuite/g++.dg/pr104547.C
@@ -1,5 +1,6 @@
// { dg-do compile }
// { dg-options "-O3 -fdump-tree-vrp2" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
diff --git a/gcc/testsuite/g++.dg/pr107087.C b/gcc/testsuite/g++.dg/pr107087.C
index 3ca76b4..93428a7 100644
--- a/gcc/testsuite/g++.dg/pr107087.C
+++ b/gcc/testsuite/g++.dg/pr107087.C
@@ -1,6 +1,7 @@
// { dg-do compile }
// { dg-require-effective-target c++11 }
// { dg-options "-O2" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
diff --git a/gcc/testsuite/g++.dg/pr71488.C b/gcc/testsuite/g++.dg/pr71488.C
index ffe30f1..2ca1a70 100644
--- a/gcc/testsuite/g++.dg/pr71488.C
+++ b/gcc/testsuite/g++.dg/pr71488.C
@@ -3,6 +3,7 @@
// { dg-options "-O3 -std=c++11" }
// { dg-additional-options "-msse4" { target sse4_runtime } }
// { dg-require-effective-target c++11 }
+// { dg-skip-if "requires hosted libstdc++ for valarray" { ! hostedlib } }
#include <valarray>
diff --git a/gcc/testsuite/g++.dg/pr71655.C b/gcc/testsuite/g++.dg/pr71655.C
index 4594306..0269297 100644
--- a/gcc/testsuite/g++.dg/pr71655.C
+++ b/gcc/testsuite/g++.dg/pr71655.C
@@ -2,6 +2,7 @@
// { dg-do compile }
// { dg-options "-O3 -std=c++11" }
// { dg-additional-options "-msse4" { target i?86-*-* x86_64-*-* } }
+// { dg-skip-if "requires hosted libstdc++ for valarray" { ! hostedlib } }
#include <functional>
#include <valarray>
diff --git a/gcc/testsuite/g++.dg/pr79095-3.C b/gcc/testsuite/g++.dg/pr79095-3.C
index 28c8a37..4a1937e 100644
--- a/gcc/testsuite/g++.dg/pr79095-3.C
+++ b/gcc/testsuite/g++.dg/pr79095-3.C
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-Wall -O3" } */
+/* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
#include <vector>
diff --git a/gcc/testsuite/g++.dg/pr80481.C b/gcc/testsuite/g++.dg/pr80481.C
index c293110..07dcdf0 100644
--- a/gcc/testsuite/g++.dg/pr80481.C
+++ b/gcc/testsuite/g++.dg/pr80481.C
@@ -4,6 +4,7 @@
// { dg-options "-Ofast -funroll-loops -fopenmp -march=skylake-avx512" }
// Disabling epilogues until we find a better way to deal with scans.
// { dg-additional-options "--param vect-epilogues-nomask=0" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } }
#include <math.h>
diff --git a/gcc/testsuite/g++.dg/pr83239.C b/gcc/testsuite/g++.dg/pr83239.C
index bf6be7a..92af1b9 100644
--- a/gcc/testsuite/g++.dg/pr83239.C
+++ b/gcc/testsuite/g++.dg/pr83239.C
@@ -2,6 +2,7 @@
// on simple std::vector code
// { dg-do compile }
// { dg-options "-O3 -finline-limit=500 -Wall -fdump-tree-optimized" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
diff --git a/gcc/testsuite/g++.dg/pr99966.C b/gcc/testsuite/g++.dg/pr99966.C
index d111c0a..50f6425 100644
--- a/gcc/testsuite/g++.dg/pr99966.C
+++ b/gcc/testsuite/g++.dg/pr99966.C
@@ -1,6 +1,7 @@
// { dg-do compile }
// { dg-require-effective-target c++17 }
// { dg-options "-O2 -fdump-tree-vrp1" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
// Test we can remove a range bound after the assert.
diff --git a/gcc/testsuite/g++.dg/rtti/typeid4.C b/gcc/testsuite/g++.dg/rtti/typeid4.C
index e6a1dce..fc84dab 100644
--- a/gcc/testsuite/g++.dg/rtti/typeid4.C
+++ b/gcc/testsuite/g++.dg/rtti/typeid4.C
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-options "-O2" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <typeinfo>
#include <iostream>
diff --git a/gcc/testsuite/g++.dg/spellcheck-inttypes.C b/gcc/testsuite/g++.dg/spellcheck-inttypes.C
index 541d668..8c91894 100644
--- a/gcc/testsuite/g++.dg/spellcheck-inttypes.C
+++ b/gcc/testsuite/g++.dg/spellcheck-inttypes.C
@@ -1,4 +1,5 @@
/* { dg-options "-std=c++11" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } } */
#ifdef _AIX
#define _STD_TYPES_T
#endif
diff --git a/gcc/testsuite/g++.dg/template/friend10.C b/gcc/testsuite/g++.dg/template/friend10.C
index cab5e34..49e7531 100644
--- a/gcc/testsuite/g++.dg/template/friend10.C
+++ b/gcc/testsuite/g++.dg/template/friend10.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// Copyright (C) 2002 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 24 Dec 2002 <nathan@codesourcery.com>
diff --git a/gcc/testsuite/g++.dg/template/pr69961a.C b/gcc/testsuite/g++.dg/template/pr69961a.C
index b0c5d41..1cd69b9 100644
--- a/gcc/testsuite/g++.dg/template/pr69961a.C
+++ b/gcc/testsuite/g++.dg/template/pr69961a.C
@@ -1,5 +1,6 @@
// PR c++/69961
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
diff --git a/gcc/testsuite/g++.dg/template/show-template-tree-3.C b/gcc/testsuite/g++.dg/template/show-template-tree-3.C
index ef31137..1b39dfc 100644
--- a/gcc/testsuite/g++.dg/template/show-template-tree-3.C
+++ b/gcc/testsuite/g++.dg/template/show-template-tree-3.C
@@ -9,6 +9,7 @@
for that in this case). */
// { dg-options "-fdiagnostics-show-template-tree -Wno-return-type" }
+// { dg-skip-if "requires hosted libstdc++ for map" { ! hostedlib } }
#include <map>
#include <vector>
diff --git a/gcc/testsuite/g++.dg/tm/inherit2.C b/gcc/testsuite/g++.dg/tm/inherit2.C
index 366f9b3..adaf8a9 100644
--- a/gcc/testsuite/g++.dg/tm/inherit2.C
+++ b/gcc/testsuite/g++.dg/tm/inherit2.C
@@ -1,5 +1,6 @@
// Testcase from TM TS
// { dg-options "-std=c++14 -fgnu-tm" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
diff --git a/gcc/testsuite/g++.dg/tm/pr46270.C b/gcc/testsuite/g++.dg/tm/pr46270.C
index 291e620..64ebb6b 100644
--- a/gcc/testsuite/g++.dg/tm/pr46270.C
+++ b/gcc/testsuite/g++.dg/tm/pr46270.C
@@ -1,5 +1,6 @@
// { dg-do compile }
// { dg-options "-fgnu-tm" }
+// { dg-skip-if "requires hosted libstdc++ for list" { ! hostedlib } }
#include <list>
class Game
diff --git a/gcc/testsuite/g++.dg/torture/alias-1.C b/gcc/testsuite/g++.dg/torture/alias-1.C
index 2abe543..01eb86c 100644
--- a/gcc/testsuite/g++.dg/torture/alias-1.C
+++ b/gcc/testsuite/g++.dg/torture/alias-1.C
@@ -3,6 +3,7 @@
// from inlined destructor, the buf1 variable doesn't go out of scope
// until after the baz call.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
#include <new>
#include <cstring>
diff --git a/gcc/testsuite/g++.dg/torture/builtin-location.C b/gcc/testsuite/g++.dg/torture/builtin-location.C
index cad53de..6dd94b2 100644
--- a/gcc/testsuite/g++.dg/torture/builtin-location.C
+++ b/gcc/testsuite/g++.dg/torture/builtin-location.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
#include <cstring>
diff --git a/gcc/testsuite/g++.dg/torture/pr10148.C b/gcc/testsuite/g++.dg/torture/pr10148.C
index ed278f9..b5483f3 100644
--- a/gcc/testsuite/g++.dg/torture/pr10148.C
+++ b/gcc/testsuite/g++.dg/torture/pr10148.C
@@ -1,4 +1,5 @@
/* { dg-do run } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
#include <assert.h>
diff --git a/gcc/testsuite/g++.dg/torture/pr103669.C b/gcc/testsuite/g++.dg/torture/pr103669.C
index a9509c3..fa96e30 100644
--- a/gcc/testsuite/g++.dg/torture/pr103669.C
+++ b/gcc/testsuite/g++.dg/torture/pr103669.C
@@ -1,5 +1,6 @@
// { dg-do run }
/* { dg-additional-options "--param=modref-max-depth=1" } */
+/* { dg-skip-if "requires hosted libstdc++ for list" { ! hostedlib } } */
#include <list>
typedef std::list<void *> PtrList;
diff --git a/gcc/testsuite/g++.dg/torture/pr104601.C b/gcc/testsuite/g++.dg/torture/pr104601.C
index c8d4661..eaa61bd 100644
--- a/gcc/testsuite/g++.dg/torture/pr104601.C
+++ b/gcc/testsuite/g++.dg/torture/pr104601.C
@@ -1,6 +1,7 @@
// PR tree-optimization/104601
// { dg-do run }
// { dg-options "-std=c++17 -Wno-unused-result" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <algorithm>
#include <optional>
diff --git a/gcc/testsuite/g++.dg/torture/pr106922.C b/gcc/testsuite/g++.dg/torture/pr106922.C
index b0c1489..102c2bd 100644
--- a/gcc/testsuite/g++.dg/torture/pr106922.C
+++ b/gcc/testsuite/g++.dg/torture/pr106922.C
@@ -1,6 +1,7 @@
// { dg-do compile }
// { dg-require-effective-target c++17 }
// { dg-additional-options "-Wall" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
// -O1 doesn't iterate VN and thus has bogus uninit diagnostics
// { dg-skip-if "" { *-*-* } { "-O1" } { "" } }
diff --git a/gcc/testsuite/g++.dg/torture/pr111019.C b/gcc/testsuite/g++.dg/torture/pr111019.C
index ce21a31..4903dc3 100644
--- a/gcc/testsuite/g++.dg/torture/pr111019.C
+++ b/gcc/testsuite/g++.dg/torture/pr111019.C
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-additional-options "-fstrict-aliasing" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
#include <memory>
diff --git a/gcc/testsuite/g++.dg/torture/pr33572.C b/gcc/testsuite/g++.dg/torture/pr33572.C
index b4db2ac..7809c97 100644
--- a/gcc/testsuite/g++.dg/torture/pr33572.C
+++ b/gcc/testsuite/g++.dg/torture/pr33572.C
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-options "-std=c++98" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
#include <memory>
diff --git a/gcc/testsuite/g++.dg/torture/pr33735.C b/gcc/testsuite/g++.dg/torture/pr33735.C
index 0a90745..30522f9 100644
--- a/gcc/testsuite/g++.dg/torture/pr33735.C
+++ b/gcc/testsuite/g++.dg/torture/pr33735.C
@@ -1,4 +1,5 @@
// { dg-do compile }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
typedef struct _ts { } PyThreadState;
PyThreadState * Py_NewInterpreter(void);
diff --git a/gcc/testsuite/g++.dg/torture/pr34099.C b/gcc/testsuite/g++.dg/torture/pr34099.C
index 49fa9ca..cbed17e 100644
--- a/gcc/testsuite/g++.dg/torture/pr34099.C
+++ b/gcc/testsuite/g++.dg/torture/pr34099.C
@@ -1,4 +1,5 @@
/* { dg-do run } */
+/* { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } } */
#include <complex>
diff --git a/gcc/testsuite/g++.dg/torture/pr39417.C b/gcc/testsuite/g++.dg/torture/pr39417.C
index b7bbb88..84d497a 100644
--- a/gcc/testsuite/g++.dg/torture/pr39417.C
+++ b/gcc/testsuite/g++.dg/torture/pr39417.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
diff --git a/gcc/testsuite/g++.dg/torture/pr44972.C b/gcc/testsuite/g++.dg/torture/pr44972.C
index e409148..1ace4d9 100644
--- a/gcc/testsuite/g++.dg/torture/pr44972.C
+++ b/gcc/testsuite/g++.dg/torture/pr44972.C
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } } */
#include<cassert>
#include<new>
diff --git a/gcc/testsuite/g++.dg/torture/pr46364.C b/gcc/testsuite/g++.dg/torture/pr46364.C
index 40fd2f0..d822278 100644
--- a/gcc/testsuite/g++.dg/torture/pr46364.C
+++ b/gcc/testsuite/g++.dg/torture/pr46364.C
@@ -1,4 +1,5 @@
// { dg-do compile }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
void a()
diff --git a/gcc/testsuite/g++.dg/torture/pr49628.C b/gcc/testsuite/g++.dg/torture/pr49628.C
index 4bc6543..0f4e1e6 100644
--- a/gcc/testsuite/g++.dg/torture/pr49628.C
+++ b/gcc/testsuite/g++.dg/torture/pr49628.C
@@ -1,4 +1,5 @@
/* { dg-do compile } */
+/* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
#include <vector>
diff --git a/gcc/testsuite/g++.dg/torture/pr49938.C b/gcc/testsuite/g++.dg/torture/pr49938.C
index d2c73e7..fbb74e7 100644
--- a/gcc/testsuite/g++.dg/torture/pr49938.C
+++ b/gcc/testsuite/g++.dg/torture/pr49938.C
@@ -1,3 +1,4 @@
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
#include <cstdlib>
typedef unsigned short uint16;
diff --git a/gcc/testsuite/g++.dg/torture/pr51903.C b/gcc/testsuite/g++.dg/torture/pr51903.C
index 925021b..36cc52e 100644
--- a/gcc/testsuite/g++.dg/torture/pr51903.C
+++ b/gcc/testsuite/g++.dg/torture/pr51903.C
@@ -1,5 +1,6 @@
// { dg-do compile }
// { dg-options "-O2 -fnon-call-exceptions -fno-guess-branch-probability" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
diff --git a/gcc/testsuite/g++.dg/torture/pr54498.C b/gcc/testsuite/g++.dg/torture/pr54498.C
index 74651f9..5d1e275 100644
--- a/gcc/testsuite/g++.dg/torture/pr54498.C
+++ b/gcc/testsuite/g++.dg/torture/pr54498.C
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-additional-options "-fno-tree-sra" }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
#include <complex>
diff --git a/gcc/testsuite/g++.dg/torture/pr60750.C b/gcc/testsuite/g++.dg/torture/pr60750.C
index a344bd7..c53189a 100644
--- a/gcc/testsuite/g++.dg/torture/pr60750.C
+++ b/gcc/testsuite/g++.dg/torture/pr60750.C
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-options "-std=c++11" }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
#include <stdexcept>
diff --git a/gcc/testsuite/g++.dg/torture/pr67600.C b/gcc/testsuite/g++.dg/torture/pr67600.C
index 0206cae..375654cd 100644
--- a/gcc/testsuite/g++.dg/torture/pr67600.C
+++ b/gcc/testsuite/g++.dg/torture/pr67600.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
#include <sstream>
diff --git a/gcc/testsuite/g++.dg/torture/pr82084.C b/gcc/testsuite/g++.dg/torture/pr82084.C
index 416684d..1fbb4f0 100644
--- a/gcc/testsuite/g++.dg/torture/pr82084.C
+++ b/gcc/testsuite/g++.dg/torture/pr82084.C
@@ -1,4 +1,5 @@
// { dg-do compile }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
int main()
diff --git a/gcc/testsuite/g++.dg/torture/pr86763.C b/gcc/testsuite/g++.dg/torture/pr86763.C
index 8455ac9..0d0061c 100644
--- a/gcc/testsuite/g++.dg/torture/pr86763.C
+++ b/gcc/testsuite/g++.dg/torture/pr86763.C
@@ -1,6 +1,7 @@
// { dg-do run { target { *-*-linux* } } }
// { dg-additional-options "-fschedule-insns2 -fstrict-aliasing" }
// { dg-additional-options "-lrt" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cstdint>
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/torture/pr91334.C b/gcc/testsuite/g++.dg/torture/pr91334.C
index ba79d71..187ab84 100644
--- a/gcc/testsuite/g++.dg/torture/pr91334.C
+++ b/gcc/testsuite/g++.dg/torture/pr91334.C
@@ -1,5 +1,6 @@
/* PR c++/91334. */
/* { dg-do compile } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib size_t" { ! hostedlib } } */
#include <new>
#include <stdlib.h>
diff --git a/gcc/testsuite/g++.dg/torture/pr91606.C b/gcc/testsuite/g++.dg/torture/pr91606.C
index 37a05a5..385c20c 100644
--- a/gcc/testsuite/g++.dg/torture/pr91606.C
+++ b/gcc/testsuite/g++.dg/torture/pr91606.C
@@ -1,5 +1,6 @@
/* { dg-do run } */
/* { dg-additional-options "-fstrict-aliasing" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib size_t" { ! hostedlib } } */
#include <cstdlib>
#include <array>
diff --git a/gcc/testsuite/g++.dg/torture/pr95493-1.C b/gcc/testsuite/g++.dg/torture/pr95493-1.C
index 907d191..57765dd 100644
--- a/gcc/testsuite/g++.dg/torture/pr95493-1.C
+++ b/gcc/testsuite/g++.dg/torture/pr95493-1.C
@@ -1,4 +1,5 @@
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// PR rtl-optimization/95493 comment 8
#include <array>
diff --git a/gcc/testsuite/g++.dg/tree-ssa/allocator-opt1.C b/gcc/testsuite/g++.dg/tree-ssa/allocator-opt1.C
index 51c470d..37b228e 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/allocator-opt1.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/allocator-opt1.C
@@ -1,5 +1,6 @@
// PR c++/105838
// { dg-additional-options -fdump-tree-gimple }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
// Check that there's only one allocator (temporary) variable.
// Currently the dump doesn't print the allocator template arg in this context.
diff --git a/gcc/testsuite/g++.dg/tree-ssa/copyprop.C b/gcc/testsuite/g++.dg/tree-ssa/copyprop.C
index bc9167a..f94c7c6 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/copyprop.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/copyprop.C
@@ -3,6 +3,7 @@
// { dg-do compile { target { lp64 } } }
// { dg-options "-Wno-error -fno-exceptions -fno-tree-vrp -O2 -fprofile-generate -finline-limit=500 -std=c++98" }
// { dg-additional-options "-Wno-return-type" }
+// { dg-skip-if "requires hosted libstdc++ for map" { ! hostedlib } }
#include <map>
#include <vector>
diff --git a/gcc/testsuite/g++.dg/tree-ssa/empty-loop.C b/gcc/testsuite/g++.dg/tree-ssa/empty-loop.C
index dca7868..ed4a603 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/empty-loop.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/empty-loop.C
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-cddce2 -ffinite-loops -Wno-unused-result" } */
+/* { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } } */
#include <string>
#include <vector>
diff --git a/gcc/testsuite/g++.dg/tree-ssa/initlist-opt1.C b/gcc/testsuite/g++.dg/tree-ssa/initlist-opt1.C
index b1d2d25..89abdd9 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/initlist-opt1.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/initlist-opt1.C
@@ -1,6 +1,7 @@
// PR c++/105838
// { dg-additional-options -fdump-tree-gimple }
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
// Test that we do range-initialization from const char *.
// { dg-final { scan-tree-dump {_M_range_initialize<const char\* const\*>} "gimple" } }
diff --git a/gcc/testsuite/g++.dg/tree-ssa/initlist-opt2.C b/gcc/testsuite/g++.dg/tree-ssa/initlist-opt2.C
index 1e9ac73..8080e9f 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/initlist-opt2.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/initlist-opt2.C
@@ -1,6 +1,7 @@
// PR c++/105838
// { dg-additional-options -fdump-tree-gimple }
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
// Test that we do range-initialization from const char *.
// { dg-final { scan-tree-dump {_M_range_initialize<const char\* const\*>} "gimple" } }
diff --git a/gcc/testsuite/g++.dg/tree-ssa/initlist-opt3.C b/gcc/testsuite/g++.dg/tree-ssa/initlist-opt3.C
index c750b99..65ce086 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/initlist-opt3.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/initlist-opt3.C
@@ -1,5 +1,6 @@
// PR c++/108266
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <initializer_list>
#include <vector>
diff --git a/gcc/testsuite/g++.dg/tree-ssa/initlist-opt5.C b/gcc/testsuite/g++.dg/tree-ssa/initlist-opt5.C
index fc928bb..3126fe0 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/initlist-opt5.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/initlist-opt5.C
@@ -1,6 +1,7 @@
// PR c++/105838
// { dg-additional-options -fdump-tree-gimple }
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
// Check that we call the basic_string constructor once (and define it once).
// { dg-final { scan-tree-dump-times {>::basic_string} 2 "gimple" } }
diff --git a/gcc/testsuite/g++.dg/tree-ssa/loop-cond-split-1.C b/gcc/testsuite/g++.dg/tree-ssa/loop-cond-split-1.C
index 0d679cb..0832914 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/loop-cond-split-1.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/loop-cond-split-1.C
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O3 -fdump-tree-lsplit-details" } */
+/* { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } } */
#include <string>
#include <map>
diff --git a/gcc/testsuite/g++.dg/tree-ssa/loop-split-1.C b/gcc/testsuite/g++.dg/tree-ssa/loop-split-1.C
index 9581438..8981006 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/loop-split-1.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/loop-split-1.C
@@ -1,5 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-O3 -fdump-tree-lsplit-details -std=c++11" } */
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
+
#include <vector>
#include <cmath>
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr101839.C b/gcc/testsuite/g++.dg/tree-ssa/pr101839.C
index bb7b61c..3a81c8d 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr101839.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr101839.C
@@ -1,6 +1,7 @@
// { dg-do run }
// { dg-options "-O2 -fdump-tree-optimized" }
// { dg-require-effective-target c++11 }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <string.h>
#include <iostream>
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr102216-2.C b/gcc/testsuite/g++.dg/tree-ssa/pr102216-2.C
index 8d351a9..a49f180 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr102216-2.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr102216-2.C
@@ -1,4 +1,6 @@
/* { dg-options "-O2 -Wall" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstddef NULL" { ! hostedlib } } */
+
#include <algorithm>
static inline bool
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr104529.C b/gcc/testsuite/g++.dg/tree-ssa/pr104529.C
index 3cb3853..f7dd30c 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr104529.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr104529.C
@@ -2,6 +2,7 @@
// { dg-do compile { target c++11 } }
// { dg-options "-O2 -fdump-tree-optimized" }
// { dg-final { scan-tree-dump-not "MEM\[^\n\r]*MEM" "optimized" } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <cstddef>
#include <vector>
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr109849.C b/gcc/testsuite/g++.dg/tree-ssa/pr109849.C
index d06dbb1..f5ce0a6 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr109849.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr109849.C
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-sra -fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
#include <vector>
typedef unsigned int uint32_t;
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr14703.C b/gcc/testsuite/g++.dg/tree-ssa/pr14703.C
index cf821a5..3e5484e 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr14703.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr14703.C
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-optimized -fno-ipa-reference" } */
+/* { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } } */
#include <iostream>
namespace {
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr19786.C b/gcc/testsuite/g++.dg/tree-ssa/pr19786.C
index faaecdf..5f0ca468 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr19786.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr19786.C
@@ -1,5 +1,6 @@
// { dg-do run }
/* { dg-options "-O2" } */
+/* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
// We used to get alias grouping wrong on this one, hoisting accesses
// to the vector's end out of the loop.
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr20458.C b/gcc/testsuite/g++.dg/tree-ssa/pr20458.C
index d4e7d1a..9fd817a 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr20458.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr20458.C
@@ -1,5 +1,6 @@
/* { dg-do run } */
/* { dg-options "-O2" } */
+/* { dg-skip-if "requires hosted libstdc++ for std::locale cdtor" { ! hostedlib } } */
/* The tail call optimization would inapproriately tail call the
destructors due to not recognizing a call clobbered variable */
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr46228.C b/gcc/testsuite/g++.dg/tree-ssa/pr46228.C
index 1178eb7..c4dab1a 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr46228.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr46228.C
@@ -1,4 +1,5 @@
// { dg-options "-fdump-tree-optimized -Os" }
+// { dg-skip-if "requires hosted libstdc++ for set" { ! hostedlib } }
#include <set>
#include <stdio.h>
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr63841.C b/gcc/testsuite/g++.dg/tree-ssa/pr63841.C
index 2a2c78f..cd883f1 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr63841.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr63841.C
@@ -1,5 +1,6 @@
/* { dg-do run } */
/* { dg-options "-O2" } */
+/* { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } } */
#include <string>
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr69336.C b/gcc/testsuite/g++.dg/tree-ssa/pr69336.C
index c946176..39d58e0 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr69336.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr69336.C
@@ -1,5 +1,6 @@
// { dg-do compile }
// { dg-options "-O3 -fdump-tree-optimized -std=c++14" }
+// { dg-skip-if "requires hosted libstdc++ for stdexcept" { ! hostedlib } }
#include <array>
#include <utility>
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr78847.C b/gcc/testsuite/g++.dg/tree-ssa/pr78847.C
index e72e516..f8babd3 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr78847.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr78847.C
@@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-require-effective-target c++14 } */
/* { dg-options "-O3 -fdump-tree-ldist-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } } */
#include <stddef.h>
#include <cstring>
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr95638.C b/gcc/testsuite/g++.dg/tree-ssa/pr95638.C
index d1bea6d..0dcc3fd 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr95638.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr95638.C
@@ -1,6 +1,7 @@
// PR tree-optimization/95638
// { dg-do run }
// { dg-options "-O2 -std=c++14" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
#include <cstdio>
diff --git a/gcc/testsuite/g++.dg/uninit-pr105937.C b/gcc/testsuite/g++.dg/uninit-pr105937.C
index 26b4f74..744817b 100644
--- a/gcc/testsuite/g++.dg/uninit-pr105937.C
+++ b/gcc/testsuite/g++.dg/uninit-pr105937.C
@@ -1,6 +1,7 @@
// { dg-do compile }
// { dg-require-effective-target c++17 }
// { dg-options "-O2 -Wall" }
+// { dg-skip-if "requires hosted libstdc++ for cwchar" { ! hostedlib } }
#include <stdint.h>
#include <optional>
diff --git a/gcc/testsuite/g++.dg/vect/pr102421.cc b/gcc/testsuite/g++.dg/vect/pr102421.cc
index ccab695..c8d3c74 100644
--- a/gcc/testsuite/g++.dg/vect/pr102421.cc
+++ b/gcc/testsuite/g++.dg/vect/pr102421.cc
@@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-additional-options "-O3" } */
/* { dg-additional-options "-march=armv8.2-a+sve" { target aarch64-*-* } } */
+/* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
#include <vector>
diff --git a/gcc/testsuite/g++.dg/vect/pr105053.cc b/gcc/testsuite/g++.dg/vect/pr105053.cc
index 6deef84..142cd0c 100644
--- a/gcc/testsuite/g++.dg/vect/pr105053.cc
+++ b/gcc/testsuite/g++.dg/vect/pr105053.cc
@@ -1,5 +1,6 @@
// { dg-require-effective-target c++11 }
// { dg-require-effective-target int32plus }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
#include <tuple>
diff --git a/gcc/testsuite/g++.dg/vect/pr33426-ivdep-4.cc b/gcc/testsuite/g++.dg/vect/pr33426-ivdep-4.cc
index a0da5cf..26736ce 100644
--- a/gcc/testsuite/g++.dg/vect/pr33426-ivdep-4.cc
+++ b/gcc/testsuite/g++.dg/vect/pr33426-ivdep-4.cc
@@ -2,6 +2,7 @@
/* { dg-require-effective-target vect_int } */
/* { dg-require-effective-target vect_int_mult } */
/* { dg-additional-options "-std=c++11 -O3 -fopt-info-vec-optimized -fdump-tree-original -fdump-tree-gimple" } */
+/* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
/* PR other/33426 */
/* Testing whether #pragma ivdep is working. */
diff --git a/gcc/testsuite/g++.dg/vect/pr64410.cc b/gcc/testsuite/g++.dg/vect/pr64410.cc
index ad4b085..407b893 100644
--- a/gcc/testsuite/g++.dg/vect/pr64410.cc
+++ b/gcc/testsuite/g++.dg/vect/pr64410.cc
@@ -1,6 +1,7 @@
// { dg-do compile }
// { dg-require-effective-target vect_double }
// { dg-additional-options "-fexcess-precision=fast" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
#include <complex>
diff --git a/gcc/testsuite/g++.dg/vect/slp-pr87105.cc b/gcc/testsuite/g++.dg/vect/slp-pr87105.cc
index 1701768..b4cb16a 100644
--- a/gcc/testsuite/g++.dg/vect/slp-pr87105.cc
+++ b/gcc/testsuite/g++.dg/vect/slp-pr87105.cc
@@ -3,6 +3,7 @@
// { dg-require-effective-target vect_double }
// For MIN/MAX recognition
// { dg-additional-options "-ffast-math" }
+// { dg-skip-if "requires hosted libstdc++ for cmath" { ! hostedlib } }
#include <algorithm>
#include <cmath>
diff --git a/gcc/testsuite/g++.dg/vect/slp-pr98855.cc b/gcc/testsuite/g++.dg/vect/slp-pr98855.cc
index e0527c4..9b95a8d 100644
--- a/gcc/testsuite/g++.dg/vect/slp-pr98855.cc
+++ b/gcc/testsuite/g++.dg/vect/slp-pr98855.cc
@@ -1,5 +1,6 @@
// { dg-do compile { target i?86-*-* x86_64-*-* } }
// { dg-additional-options "-fvect-cost-model=cheap -mavx2" }
+// { dg-skip-if "requires hosted libstdc++ for stdlib size_t" { ! hostedlib } }
#include <stdint.h>
#include <stdlib.h>
diff --git a/gcc/testsuite/g++.dg/vect/vect-novector-pragma.cc b/gcc/testsuite/g++.dg/vect/vect-novector-pragma.cc
index 8c6ff22..3e5b42b 100644
--- a/gcc/testsuite/g++.dg/vect/vect-novector-pragma.cc
+++ b/gcc/testsuite/g++.dg/vect/vect-novector-pragma.cc
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-require-effective-target vect_int } */
+/* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
#include <vector>
diff --git a/gcc/testsuite/g++.dg/warn/Warray-bounds-27.C b/gcc/testsuite/g++.dg/warn/Warray-bounds-27.C
index 06ce089..269999a 100644
--- a/gcc/testsuite/g++.dg/warn/Warray-bounds-27.C
+++ b/gcc/testsuite/g++.dg/warn/Warray-bounds-27.C
@@ -2,6 +2,7 @@
// { dg-do compile }
// { dg-require-effective-target c++11 }
// { dg-options "-O2 -Warray-bounds" }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
#include <array>
#include <cstring>
diff --git a/gcc/testsuite/g++.dg/warn/Wdangling-pointer-pr110055.C b/gcc/testsuite/g++.dg/warn/Wdangling-pointer-pr110055.C
index 77dbbf3..b2df01e 100644
--- a/gcc/testsuite/g++.dg/warn/Wdangling-pointer-pr110055.C
+++ b/gcc/testsuite/g++.dg/warn/Wdangling-pointer-pr110055.C
@@ -1,6 +1,7 @@
// { dg-do compile }
// { dg-require-effective-target c++11 }
// { dg-options "-O3 -fno-exceptions -Wdangling-pointer" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <cstdint>
#include <vector>
diff --git a/gcc/testsuite/g++.dg/warn/Wdangling-reference10.C b/gcc/testsuite/g++.dg/warn/Wdangling-reference10.C
index 733fb8c..cc92e6b 100644
--- a/gcc/testsuite/g++.dg/warn/Wdangling-reference10.C
+++ b/gcc/testsuite/g++.dg/warn/Wdangling-reference10.C
@@ -1,6 +1,7 @@
// PR c++/107532
// { dg-do compile { target c++20 } }
// { dg-options "-Wdangling-reference" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <span>
#include <vector>
diff --git a/gcc/testsuite/g++.dg/warn/Wdangling-reference14.C b/gcc/testsuite/g++.dg/warn/Wdangling-reference14.C
index 92b38a9..b83266e 100644
--- a/gcc/testsuite/g++.dg/warn/Wdangling-reference14.C
+++ b/gcc/testsuite/g++.dg/warn/Wdangling-reference14.C
@@ -1,6 +1,7 @@
// PR c++/113256
// { dg-do compile { target c++14 } }
// { dg-options "-Wdangling-reference" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <utility>
#include <cassert>
diff --git a/gcc/testsuite/g++.dg/warn/Wdangling-reference17.C b/gcc/testsuite/g++.dg/warn/Wdangling-reference17.C
index 8cda5de..f7b666d 100644
--- a/gcc/testsuite/g++.dg/warn/Wdangling-reference17.C
+++ b/gcc/testsuite/g++.dg/warn/Wdangling-reference17.C
@@ -1,6 +1,7 @@
// PR c++/111410
// { dg-do compile { target c++20 } }
// { dg-options "-Wdangling-reference" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
#include <ranges>
diff --git a/gcc/testsuite/g++.dg/warn/Wdangling-reference4.C b/gcc/testsuite/g++.dg/warn/Wdangling-reference4.C
index aee7a29..0343bcf 100644
--- a/gcc/testsuite/g++.dg/warn/Wdangling-reference4.C
+++ b/gcc/testsuite/g++.dg/warn/Wdangling-reference4.C
@@ -1,5 +1,6 @@
// { dg-do compile { target c++17 } }
// { dg-options "-Wdangling-reference" }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
// Check that we warn here even without -Wsystem-headers.
#include <optional>
diff --git a/gcc/testsuite/g++.dg/warn/Wdangling-reference5.C b/gcc/testsuite/g++.dg/warn/Wdangling-reference5.C
index 59b5538..5e9da1e 100644
--- a/gcc/testsuite/g++.dg/warn/Wdangling-reference5.C
+++ b/gcc/testsuite/g++.dg/warn/Wdangling-reference5.C
@@ -1,6 +1,7 @@
// PR c++/107488
// { dg-do compile }
// { dg-options "-Wdangling-reference" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
diff --git a/gcc/testsuite/g++.dg/warn/Wfree-nonheap-object-3.C b/gcc/testsuite/g++.dg/warn/Wfree-nonheap-object-3.C
index 47f97dc..9d89585 100644
--- a/gcc/testsuite/g++.dg/warn/Wfree-nonheap-object-3.C
+++ b/gcc/testsuite/g++.dg/warn/Wfree-nonheap-object-3.C
@@ -2,7 +2,8 @@
Verify that even without -Wsystem-headers the warning is issued
for pairs of library functions defined in system headers.
{ dg-do compile { target c++11 } }
- { dg-options "-O2 -Wall" } */
+ { dg-options "-O2 -Wall" }
+ { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } } */
#include <memory>
#include <string>
diff --git a/gcc/testsuite/g++.dg/warn/Winline-3.C b/gcc/testsuite/g++.dg/warn/Winline-3.C
index 1c226d1..0b318a9 100644
--- a/gcc/testsuite/g++.dg/warn/Winline-3.C
+++ b/gcc/testsuite/g++.dg/warn/Winline-3.C
@@ -1,4 +1,5 @@
// { dg-options "-Winline -O" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
diff --git a/gcc/testsuite/g++.dg/warn/Wmemset-elt-size1.C b/gcc/testsuite/g++.dg/warn/Wmemset-elt-size1.C
index e4d3232..1eb29e0 100644
--- a/gcc/testsuite/g++.dg/warn/Wmemset-elt-size1.C
+++ b/gcc/testsuite/g++.dg/warn/Wmemset-elt-size1.C
@@ -1,5 +1,6 @@
// PR c++/85710
// { dg-additional-options -Wmemset-elt-size }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
#include <cstring>
diff --git a/gcc/testsuite/g++.dg/warn/Wparentheses-34.C b/gcc/testsuite/g++.dg/warn/Wparentheses-34.C
index 2100c8a..9109569 100644
--- a/gcc/testsuite/g++.dg/warn/Wparentheses-34.C
+++ b/gcc/testsuite/g++.dg/warn/Wparentheses-34.C
@@ -2,6 +2,7 @@
// such as std::vector<bool>'s reference type the same as ordinary
// bool.
// { dg-additional-options "-Wparentheses" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
diff --git a/gcc/testsuite/g++.dg/warn/Wstrict-aliasing-bogus-escape-2.C b/gcc/testsuite/g++.dg/warn/Wstrict-aliasing-bogus-escape-2.C
index 29414e0..9cb344c 100644
--- a/gcc/testsuite/g++.dg/warn/Wstrict-aliasing-bogus-escape-2.C
+++ b/gcc/testsuite/g++.dg/warn/Wstrict-aliasing-bogus-escape-2.C
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -Wstrict-aliasing" } */
+/* { dg-skip-if "requires hosted libstdc++ for list" { ! hostedlib } } */
#include<list>
diff --git a/gcc/testsuite/g++.dg/warn/Wstrict-aliasing-bogus-escape.C b/gcc/testsuite/g++.dg/warn/Wstrict-aliasing-bogus-escape.C
index 9ea6198..9d4f827 100644
--- a/gcc/testsuite/g++.dg/warn/Wstrict-aliasing-bogus-escape.C
+++ b/gcc/testsuite/g++.dg/warn/Wstrict-aliasing-bogus-escape.C
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O2 -Wstrict-aliasing" } */
+/* { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } } */
#include <string>
#include <list>
diff --git a/gcc/testsuite/g++.dg/warn/Wstringop-overflow-6.C b/gcc/testsuite/g++.dg/warn/Wstringop-overflow-6.C
index 8173e60..51238dc 100644
--- a/gcc/testsuite/g++.dg/warn/Wstringop-overflow-6.C
+++ b/gcc/testsuite/g++.dg/warn/Wstringop-overflow-6.C
@@ -1,7 +1,8 @@
/* PR middle-end/97595 - bogus -Wstringop-overflow due to DECL_SIZE_UNIT
underreporting field size
{ dg-do compile { target c++11 } }
- { dg-options "-O2 -Wall -Wsystem-headers" } */
+ { dg-options "-O2 -Wall -Wsystem-headers" }
+ { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } } */
#include <iostream>
diff --git a/gcc/testsuite/g++.dg/warn/Wstringop-overflow-8.C b/gcc/testsuite/g++.dg/warn/Wstringop-overflow-8.C
index d0ef5e7..7666fa3 100644
--- a/gcc/testsuite/g++.dg/warn/Wstringop-overflow-8.C
+++ b/gcc/testsuite/g++.dg/warn/Wstringop-overflow-8.C
@@ -1,5 +1,6 @@
// PR c++/103534
// { dg-additional-options "-O -Wall" }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
diff --git a/gcc/testsuite/g++.dg/warn/Wstringop-overread-1.C b/gcc/testsuite/g++.dg/warn/Wstringop-overread-1.C
index f7ba617..65874be 100644
--- a/gcc/testsuite/g++.dg/warn/Wstringop-overread-1.C
+++ b/gcc/testsuite/g++.dg/warn/Wstringop-overread-1.C
@@ -1,6 +1,7 @@
// PR middle-end/98994
// { dg-do compile }
// { dg-additional-options "-Wstringop-overread -O2" }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
diff --git a/gcc/testsuite/g++.dg/warn/Wsystem-headers1a.C b/gcc/testsuite/g++.dg/warn/Wsystem-headers1a.C
index 68f6ea1..c44d6a9 100644
--- a/gcc/testsuite/g++.dg/warn/Wsystem-headers1a.C
+++ b/gcc/testsuite/g++.dg/warn/Wsystem-headers1a.C
@@ -1,5 +1,6 @@
// { dg-do compile { target *-*-*gnu } }
// { dg-options "-Wsystem-headers" }
+// { dg-skip-if "requires hosted libstdc++ for stdlib atof" { ! hostedlib } }
#include <stdlib.h>
diff --git a/gcc/testsuite/g++.dg/warn/Wuninitialized-33.C b/gcc/testsuite/g++.dg/warn/Wuninitialized-33.C
index 1bb0639..41232c0 100644
--- a/gcc/testsuite/g++.dg/warn/Wuninitialized-33.C
+++ b/gcc/testsuite/g++.dg/warn/Wuninitialized-33.C
@@ -2,6 +2,7 @@
// { dg-do compile }
// { dg-require-effective-target c++17 }
// { dg-options "-O2 -Wall" }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <algorithm>
#include <memory>
diff --git a/gcc/testsuite/g++.dg/warn/Wuninitialized-pr111123-1.C b/gcc/testsuite/g++.dg/warn/Wuninitialized-pr111123-1.C
index 17a6f2b..4d3c447 100644
--- a/gcc/testsuite/g++.dg/warn/Wuninitialized-pr111123-1.C
+++ b/gcc/testsuite/g++.dg/warn/Wuninitialized-pr111123-1.C
@@ -1,6 +1,7 @@
// { dg-do compile }
// { dg-require-effective-target c++11 }
// { dg-options "-O -Wuninitialized" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
diff --git a/gcc/testsuite/g++.dg/warn/format1.C b/gcc/testsuite/g++.dg/warn/format1.C
index 27bc414..fec23e6 100644
--- a/gcc/testsuite/g++.dg/warn/format1.C
+++ b/gcc/testsuite/g++.dg/warn/format1.C
@@ -2,6 +2,7 @@
// Origin: Joseph Myers <jsm28@cam.ac.uk>.
// { dg-do compile }
// { dg-options "-ansi -pedantic -Wformat" }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
#include <cstdio>
diff --git a/gcc/testsuite/g++.dg/warn/huge-val1.C b/gcc/testsuite/g++.dg/warn/huge-val1.C
index 2ddfae0..c480cf32 100644
--- a/gcc/testsuite/g++.dg/warn/huge-val1.C
+++ b/gcc/testsuite/g++.dg/warn/huge-val1.C
@@ -2,6 +2,7 @@
// Origin: Joseph Myers <joseph@codesourcery.com>
// { dg-do link }
// { dg-options "-pedantic-errors" }
+// { dg-skip-if "requires hosted libstdc++ for cmath" { ! hostedlib } }
#include <math.h>
diff --git a/gcc/testsuite/g++.dg/warn/noreturn-1.C b/gcc/testsuite/g++.dg/warn/noreturn-1.C
index 17375d4..2a3dbcd 100644
--- a/gcc/testsuite/g++.dg/warn/noreturn-1.C
+++ b/gcc/testsuite/g++.dg/warn/noreturn-1.C
@@ -2,6 +2,7 @@
// Origin: Kaveh Ghazi <ghazi@caip.rutgers.edu> 2002-06-18.
// { dg-do compile }
// { dg-options "-Wall -O2" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include <cstdlib>
diff --git a/gcc/testsuite/g++.dg/warn/string1.C b/gcc/testsuite/g++.dg/warn/string1.C
index 9eb5fb6..c162bdf 100644
--- a/gcc/testsuite/g++.dg/warn/string1.C
+++ b/gcc/testsuite/g++.dg/warn/string1.C
@@ -1,5 +1,6 @@
// PR c++/35652
// { dg-options "-O -Wall" }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
int test() {
diff --git a/gcc/testsuite/g++.dg/warn/uninit-pr105562.C b/gcc/testsuite/g++.dg/warn/uninit-pr105562.C
index ec3a550..63a53b4 100644
--- a/gcc/testsuite/g++.dg/warn/uninit-pr105562.C
+++ b/gcc/testsuite/g++.dg/warn/uninit-pr105562.C
@@ -1,5 +1,6 @@
// { dg-require-effective-target c++11 }
// { dg-options "-O -Wall -fno-strict-aliasing" }
+// { dg-skip-if "requires hosted libstdc++ for regex" { ! hostedlib } }
#include <regex>
diff --git a/gcc/testsuite/g++.old-deja/g++.abi/arraynew.C b/gcc/testsuite/g++.old-deja/g++.abi/arraynew.C
index 2e11cae..05b6686 100644
--- a/gcc/testsuite/g++.old-deja/g++.abi/arraynew.C
+++ b/gcc/testsuite/g++.old-deja/g++.abi/arraynew.C
@@ -2,6 +2,7 @@
// Origin: Mark Mitchell <mark@codesourcery.com>
// Avoid use of none-overridable new/delete operators in shared
// { dg-options "-static" { target *-*-mingw* } }
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib size_t" { ! hostedlib } } */
#if defined (__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100
diff --git a/gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C b/gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C
index de647c4..2d1a08e 100644
--- a/gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C
+++ b/gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C
@@ -7,6 +7,8 @@
// { dg-options "-flat_namespace" { target *-*-darwin[67]* } }
// Avoid use of non-overridable new/delete operators in shared
// { dg-options "-static" { target *-*-mingw* } }
+// { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } }
+
// Test __cxa_vec routines
// Copyright (C) 2000, 2005 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 7 Apr 2000 <nathan@nathan@codesourcery.com>
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/15071.C b/gcc/testsuite/g++.old-deja/g++.benjamin/15071.C
index d05f48f..f9a7ad5 100644
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/15071.C
+++ b/gcc/testsuite/g++.old-deja/g++.benjamin/15071.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// 981203 bkoz
// g++/15071
// gcc invocation fails to link in libstdc++
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/copy9.C b/gcc/testsuite/g++.old-deja/g++.brendan/copy9.C
index 79339c1..1294e6c 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/copy9.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/copy9.C
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-additional-options "-fexcess-precision=fast" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed copy-ctors
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash15.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash15.C
index 3c59fa6..a6acd0a 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash15.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash15.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed old-abort
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash20.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash20.C
index 93dc58c..116d118 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash20.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash20.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
// GROUPS passed old-abort
#include <complex>
typedef std::complex<double> Complex;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash30.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash30.C
index 937cb10..ee7a1ff 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash30.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash30.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
// GROUPS passed old-abort
#include <string>
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash38.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash38.C
index 80ef471..bdcd110 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash38.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash38.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed old-abort
/*
I received the following message when using g++ (version 2.3.3):
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash39.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash39.C
index 392c0a0..fda212a 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash39.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash39.C
@@ -1,5 +1,6 @@
// { dg-do assemble }
// { dg-options "-w" }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
// GROUPS passed old-abort
//#include <GetOpt.h>
#include <stdio.h>
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash49.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash49.C
index e0664da..0b39781 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash49.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash49.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed old-abort
#include<iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash52.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash52.C
index 1318ea6..be46b71 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash52.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash52.C
@@ -1,5 +1,6 @@
// { dg-do assemble }
// { dg-options "-Wreturn-type" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed old-abort
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash62.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash62.C
index 7147c9a..52531e6 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash62.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash62.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed old-abort
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/cvt1.C b/gcc/testsuite/g++.old-deja/g++.brendan/cvt1.C
index f67602d..a33aa6c 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/cvt1.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/cvt1.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed conversions
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg3.C b/gcc/testsuite/g++.old-deja/g++.brendan/err-msg3.C
index 724c6f5..9b1da17 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/err-msg3.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/err-msg3.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for fstream" { ! hostedlib } }
// GROUPS passed error-messages
#include <fstream>
#include <iomanip>
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/nest21.C b/gcc/testsuite/g++.old-deja/g++.brendan/nest21.C
index 62ddab1..a43d179 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/nest21.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/nest21.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed nested-classes
#include <iostream>
#include <cstdio>
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/new3.C b/gcc/testsuite/g++.old-deja/g++.brendan/new3.C
index cc716d5..3ae4439 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/new3.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/new3.C
@@ -7,6 +7,8 @@
// { dg-options "-flat_namespace" { target *-*-darwin[67]* } }
// Avoid use of none-overridable new/delete operators in shared
// { dg-options "-static" { target *-*-mingw* } }
+// { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } }
+
// GROUPS passed operator-new
#include <stdio.h>
#include <stdlib.h>
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/ptolemy2.C b/gcc/testsuite/g++.old-deja/g++.brendan/ptolemy2.C
index 669bd79..72e04f1 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/ptolemy2.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/ptolemy2.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed ptolemy-bugs
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/new1.C b/gcc/testsuite/g++.old-deja/g++.eh/new1.C
index 929188f..5020a6b 100644
--- a/gcc/testsuite/g++.old-deja/g++.eh/new1.C
+++ b/gcc/testsuite/g++.old-deja/g++.eh/new1.C
@@ -2,6 +2,7 @@
// Test that a throw in foo destroys the A, but does not free the memory.
// Avoid use of none-overridable new/delete operators in shared
// { dg-options "-static" { target *-*-mingw* } }
+// { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } }
#include <cstddef>
#include <cstdlib>
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/new2.C b/gcc/testsuite/g++.old-deja/g++.eh/new2.C
index 563a794..42382f3 100644
--- a/gcc/testsuite/g++.old-deja/g++.eh/new2.C
+++ b/gcc/testsuite/g++.old-deja/g++.eh/new2.C
@@ -3,6 +3,7 @@
// Avoid use of none-overridable new/delete operators in shared
// { dg-options "-static" { target *-*-mingw* } }
// { dg-xfail-run-if "AIX operator new" { powerpc-ibm-aix* } }
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#include <cstddef>
#include <cstdlib>
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/2371.C b/gcc/testsuite/g++.old-deja/g++.jason/2371.C
index c4263d6..052fd4e 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/2371.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/2371.C
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-options "" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
# 1 "SetLS.cc"
// GROUPS passed templates nested-classes
//
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template24.C b/gcc/testsuite/g++.old-deja/g++.jason/template24.C
index 0efce9f..09fdc2e 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/template24.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/template24.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// Bug: g++ doesn't find the conversion from ostream_withassign to ostream.
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template31.C b/gcc/testsuite/g++.old-deja/g++.jason/template31.C
index 81d696f..45b0e6e 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/template31.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/template31.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// PRMS Id: 8569
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template44.C b/gcc/testsuite/g++.old-deja/g++.jason/template44.C
index 2aea33a..72da26e 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/template44.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/template44.C
@@ -1,4 +1,6 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for stdlib qsort" { ! hostedlib } }
+
#include <stdlib.h>
#include <string.h>
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/typeid1.C b/gcc/testsuite/g++.old-deja/g++.jason/typeid1.C
index ec5156e..9eb3c92 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/typeid1.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/typeid1.C
@@ -1,4 +1,5 @@
// { dg-do compile }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <typeinfo>
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arg1.C b/gcc/testsuite/g++.old-deja/g++.law/arg1.C
index 2a87633..ea71917 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/arg1.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/arg1.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed arg-matching
// arg-matching file
// Subject: argument matching depending on the def order
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arg8.C b/gcc/testsuite/g++.old-deja/g++.law/arg8.C
index 1aba05f..6e8a467 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/arg8.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/arg8.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed arg-matching
// arg-matching file
// Message-Id: <9307081747.AA14030@tnt>
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arm12.C b/gcc/testsuite/g++.old-deja/g++.law/arm12.C
index 866b47a..7866296 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/arm12.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/arm12.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed ARM-compliance
// arm file
// From: belley@cae.ca (Benoit Belley 3218)
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arm13.C b/gcc/testsuite/g++.old-deja/g++.law/arm13.C
index f1393c6..66952dd 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/arm13.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/arm13.C
@@ -1,4 +1,6 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } }
+
// GROUPS passed ARM-compliance
#include <stdio.h>
#include <stdlib.h>
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arm9.C b/gcc/testsuite/g++.old-deja/g++.law/arm9.C
index ab18189..c0e5efc 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/arm9.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/arm9.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed ARM-compliance
#include <iostream>
enum f1 {
diff --git a/gcc/testsuite/g++.old-deja/g++.law/bad-error7.C b/gcc/testsuite/g++.old-deja/g++.law/bad-error7.C
index 4c07d43..dc3bc75 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/bad-error7.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/bad-error7.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed bad-errors
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.law/code-gen5.C b/gcc/testsuite/g++.old-deja/g++.law/code-gen5.C
index 0a992d0..aadded8 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/code-gen5.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/code-gen5.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// GROUPS passed code-generation
// code-gen file
// From: "David" <norman@pi14.arc.umn.edu>
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors10.C b/gcc/testsuite/g++.old-deja/g++.law/ctors10.C
index cbf36cf..d131a8c 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors10.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/ctors10.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed constructors
// ctor file
// Message-Id: <9302052351.AA10789@harvey>
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors12.C b/gcc/testsuite/g++.old-deja/g++.law/ctors12.C
index adc5128..bc5bf77 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors12.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/ctors12.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// GROUPS passed constructors
#include <cstdio>
#include <cstdlib>
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors13.C b/gcc/testsuite/g++.old-deja/g++.law/ctors13.C
index 82f70f3..f129727 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors13.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/ctors13.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed constructors
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors17.C b/gcc/testsuite/g++.old-deja/g++.law/ctors17.C
index 0d61c49..e910458 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors17.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/ctors17.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for fstream" { ! hostedlib } }
// GROUPS passed constructors
// ctor file
// Message-Id: <199306151813.gD28471@mail.Germany.EU.net>
diff --git a/gcc/testsuite/g++.old-deja/g++.law/ctors6.C b/gcc/testsuite/g++.old-deja/g++.law/ctors6.C
index ee26cb5..9c6de0b 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/ctors6.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/ctors6.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
// GROUPS passed constructors
#include <complex>
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt16.C b/gcc/testsuite/g++.old-deja/g++.law/cvt16.C
index 0c821b5..9f88a6e 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt16.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/cvt16.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed conversions
// cvt file
// Message-Id: <9304121647.AA25819@tnt>
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt2.C b/gcc/testsuite/g++.old-deja/g++.law/cvt2.C
index afe138b..77b000e 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt2.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/cvt2.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// GROUPS passed conversions
#include <cstdio>
#include <cstdlib>
diff --git a/gcc/testsuite/g++.old-deja/g++.law/cvt7.C b/gcc/testsuite/g++.old-deja/g++.law/cvt7.C
index e68adf0..bf68a0f 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/cvt7.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/cvt7.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// GROUPS passed conversions
// cvt file
// From: krste@icsi.berkeley.edu (Krste Asanovic)
diff --git a/gcc/testsuite/g++.old-deja/g++.law/except5.C b/gcc/testsuite/g++.old-deja/g++.law/except5.C
index a99ad8a..7a4ad28 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/except5.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/except5.C
@@ -1,5 +1,6 @@
// { dg-do assemble }
// { dg-options "-fexceptions" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed exceptions
// except file
// Message-Id: <199311101607.AA11803@hsi86.hsi.com>
diff --git a/gcc/testsuite/g++.old-deja/g++.law/missed-error2.C b/gcc/testsuite/g++.old-deja/g++.law/missed-error2.C
index 7ae494b..a42cf6a 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/missed-error2.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/missed-error2.C
@@ -1,5 +1,6 @@
// { dg-do assemble }
// { dg-additional-options -fpermissive }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed missed-error
// missed-error file
// From: ndc!don@csvax.cs.caltech.edu (Don Erway)
diff --git a/gcc/testsuite/g++.old-deja/g++.law/nest3.C b/gcc/testsuite/g++.old-deja/g++.law/nest3.C
index daeaa20..fdac0ec 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/nest3.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/nest3.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed nest
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators32.C b/gcc/testsuite/g++.old-deja/g++.law/operators32.C
index 991e38d..577c52c 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/operators32.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/operators32.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed operators
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators4.C b/gcc/testsuite/g++.old-deja/g++.law/operators4.C
index fc623b4..dda42aa 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/operators4.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/operators4.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
// GROUPS passed operators
// opr-del file
// From: rollins@bart.ee.queensu.ca (Mark Rollins)
diff --git a/gcc/testsuite/g++.old-deja/g++.law/scope2.C b/gcc/testsuite/g++.old-deja/g++.law/scope2.C
index 13c02c2..af1892e 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/scope2.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/scope2.C
@@ -1,4 +1,6 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } }
+
// GROUPS passed scoping
// scoping file
// From: svkakkad@cs.utexas.edu (Sheetal V. Kakkad)
diff --git a/gcc/testsuite/g++.old-deja/g++.law/vbase1.C b/gcc/testsuite/g++.old-deja/g++.law/vbase1.C
index 4cfe51d..077d6b2 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/vbase1.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/vbase1.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed vbase
// vbase file
// From: pino@hubble.eecs.berkeley.edu (Jose Luis Pino)
diff --git a/gcc/testsuite/g++.old-deja/g++.law/virtual3.C b/gcc/testsuite/g++.old-deja/g++.law/virtual3.C
index 46fa085..a1a105e 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/virtual3.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/virtual3.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed virtual-functions
// virtual file
// From: allan@ramjet.multinet.DE (Allan Brighton)
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility1.C b/gcc/testsuite/g++.old-deja/g++.law/visibility1.C
index 1c786fe..ab5baf7 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility1.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/visibility1.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed visibility
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility10.C b/gcc/testsuite/g++.old-deja/g++.law/visibility10.C
index 7abb4a8..4eb5615 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility10.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/visibility10.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed visibility
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility13.C b/gcc/testsuite/g++.old-deja/g++.law/visibility13.C
index 451ef1a..9644c08 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility13.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/visibility13.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed visibility
// visibility file
// From: dinh@cs.ucla.edu (Dinh Le)
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility17.C b/gcc/testsuite/g++.old-deja/g++.law/visibility17.C
index bf7a747..501855a 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility17.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/visibility17.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed visibility
// visibility file
// From: Sandeep Shroff <ss@caere.com>
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility2.C b/gcc/testsuite/g++.old-deja/g++.law/visibility2.C
index 5391696..c926ef5 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility2.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/visibility2.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed visibility
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility22.C b/gcc/testsuite/g++.old-deja/g++.law/visibility22.C
index e3d9d1f..2088432 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility22.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/visibility22.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed visibility
// visibility file
// From: Robert Carden <carden@thoth.ics.uci.edu>
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility25.C b/gcc/testsuite/g++.old-deja/g++.law/visibility25.C
index 167436d..91931b0 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility25.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/visibility25.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed visibility
// visibility file
// From: gfm@mencon.mencon.oz.au (Graham Menhennitt)
diff --git a/gcc/testsuite/g++.old-deja/g++.law/visibility7.C b/gcc/testsuite/g++.old-deja/g++.law/visibility7.C
index 33358b1..db65523 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/visibility7.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/visibility7.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed visibility
// visibility file
// From: Gordon Joly <G.Joly@cs.ucl.ac.uk>
diff --git a/gcc/testsuite/g++.old-deja/g++.law/weak.C b/gcc/testsuite/g++.old-deja/g++.law/weak.C
index 52444e7..c751af6 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/weak.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/weak.C
@@ -1,6 +1,8 @@
// { dg-do link { target i?86-*-linux* i?86-*-gnu* x86_64-*-linux* } }
// { dg-require-effective-target static }
// { dg-options "-static" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
+
// Bug: g++ fails to instantiate operator<<.
// libc-5.4.xx has __IO_putc in its static C library, which can conflict
diff --git a/gcc/testsuite/g++.old-deja/g++.martin/new1.C b/gcc/testsuite/g++.old-deja/g++.martin/new1.C
index 18eb88d..68a5fd8 100644
--- a/gcc/testsuite/g++.old-deja/g++.martin/new1.C
+++ b/gcc/testsuite/g++.old-deja/g++.martin/new1.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
//Lifetime of temporaries:
//egcs 2.92 performs cleanup for temporaries inside new expressions
//after the new is complete, not at the end of the full expression.
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/dyncast7.C b/gcc/testsuite/g++.old-deja/g++.mike/dyncast7.C
index 33e3fa7..2c6d459 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/dyncast7.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/dyncast7.C
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-options "-fexceptions" }
+// { dg-skip-if "requires hosted libstdc++ for stdexcept" { ! hostedlib } }
#include <typeinfo>
#include <stdexcept>
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh13.C b/gcc/testsuite/g++.old-deja/g++.mike/eh13.C
index e2c7435..170d7bc 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh13.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/eh13.C
@@ -1,5 +1,6 @@
// { dg-do run { xfail arm-*-pe } }
// { dg-options "-fexceptions" }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh2.C b/gcc/testsuite/g++.old-deja/g++.mike/eh2.C
index 862bd6e..1ef7d45 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh2.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/eh2.C
@@ -1,5 +1,6 @@
// { dg-do run { xfail sparc64-*-elf arm-*-pe } }
// { dg-options "-fexceptions" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <cstdlib>
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh47.C b/gcc/testsuite/g++.old-deja/g++.mike/eh47.C
index 36d3b9d..0b99a9f 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh47.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/eh47.C
@@ -1,5 +1,6 @@
// { dg-do run { xfail sparc64-*-elf arm-*-pe } }
// { dg-options "-fexceptions" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib exit" { ! hostedlib } }
#include <cstdlib>
#include <exception>
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net34.C b/gcc/testsuite/g++.old-deja/g++.mike/net34.C
index 19a7e16..cb69cfa 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/net34.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/net34.C
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-options "" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net46.C b/gcc/testsuite/g++.old-deja/g++.mike/net46.C
index a236232..b1dcd18 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/net46.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/net46.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
#include <cstdlib>
#include <cstddef>
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/ns15.C b/gcc/testsuite/g++.old-deja/g++.mike/ns15.C
index b4cf044..5b3607f 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/ns15.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/ns15.C
@@ -1,6 +1,7 @@
// { dg-do assemble }
// { dg-xfail-if "" { xstormy16-*-* } }
// { dg-require-effective-target size20plus }
+// { dg-skip-if "requires hosted libstdc++ for stdlib qsort" { ! hostedlib } }
#include <stdio.h>
#include <stdlib.h>
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p658.C b/gcc/testsuite/g++.old-deja/g++.mike/p658.C
index a6268a3..0f52805 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/p658.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p658.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// prms-id: 658
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p710.C b/gcc/testsuite/g++.old-deja/g++.mike/p710.C
index 7fdd5b0..3756a5e 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/p710.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p710.C
@@ -1,4 +1,6 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for stdlib size_t" { ! hostedlib } }
+
// GROUPS passed delete
/*
Bug Id:
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p9706.C b/gcc/testsuite/g++.old-deja/g++.mike/p9706.C
index 0ed15e4..7a4c05f 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/p9706.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p9706.C
@@ -1,5 +1,6 @@
// { dg-do run { xfail sparc64-*-elf arm-*-pe } }
// { dg-options "-fexceptions" }
+// { dg-skip-if "requires hosted libstdc++ for stdlib size_t" { ! hostedlib } }
// prms-id: 9706
#include <stdlib.h>
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/rtti1.C b/gcc/testsuite/g++.old-deja/g++.mike/rtti1.C
index 19aa389..795aab9 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/rtti1.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/rtti1.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <typeinfo>
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/using4.C b/gcc/testsuite/g++.old-deja/g++.ns/using4.C
index 72332f1..7a3c465 100644
--- a/gcc/testsuite/g++.old-deja/g++.ns/using4.C
+++ b/gcc/testsuite/g++.old-deja/g++.ns/using4.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
//Build don't link
#include <vector>
namespace csp {
diff --git a/gcc/testsuite/g++.old-deja/g++.ns/using6.C b/gcc/testsuite/g++.old-deja/g++.ns/using6.C
index 68cf2da..bb54b80 100644
--- a/gcc/testsuite/g++.old-deja/g++.ns/using6.C
+++ b/gcc/testsuite/g++.old-deja/g++.ns/using6.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
namespace csp {
diff --git a/gcc/testsuite/g++.old-deja/g++.oliva/new1.C b/gcc/testsuite/g++.old-deja/g++.oliva/new1.C
index 86d25f8..3b6af27 100644
--- a/gcc/testsuite/g++.old-deja/g++.oliva/new1.C
+++ b/gcc/testsuite/g++.old-deja/g++.oliva/new1.C
@@ -1,4 +1,6 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for stdlib size_t" { ! hostedlib } }
+
// Copyright (C) 1999 Free Software Foundation
// by Alexandre Oliva <oliva@dcc.unicamp.br>
diff --git a/gcc/testsuite/g++.old-deja/g++.other/defarg6.C b/gcc/testsuite/g++.old-deja/g++.other/defarg6.C
index fabf019..a2b9fd1 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/defarg6.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/defarg6.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
// Origin: Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
#include <vector>
diff --git a/gcc/testsuite/g++.old-deja/g++.other/delete8.C b/gcc/testsuite/g++.old-deja/g++.other/delete8.C
index ea44445..b3b374d 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/delete8.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/delete8.C
@@ -1,4 +1,6 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for stdlib size_t" { ! hostedlib } }
+
// Origin: Mark Mitchell <mark@codesourcery.com>
#include <stdlib.h>
diff --git a/gcc/testsuite/g++.old-deja/g++.other/headers1.C b/gcc/testsuite/g++.old-deja/g++.other/headers1.C
index 1080fe3..5d37e94 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/headers1.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/headers1.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
// Copyright (C) 2000 Free Software Foundation, Inc.
// Contributed by Loren J. Rittle 07 Jun 2000 <ljrittle@acm.org>
//
diff --git a/gcc/testsuite/g++.old-deja/g++.other/init9.C b/gcc/testsuite/g++.old-deja/g++.other/init9.C
index 0194cd1..d38f978 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/init9.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/init9.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
// Based on a testcase submitted by Tudor Hulubei <tudor@cs.unh.edu>
diff --git a/gcc/testsuite/g++.old-deja/g++.other/inline14.C b/gcc/testsuite/g++.old-deja/g++.other/inline14.C
index 1bd74b4..473a8f0 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/inline14.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/inline14.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// Origin: Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.other/inline2.C b/gcc/testsuite/g++.old-deja/g++.other/inline2.C
index f1d1962..4a9499a 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/inline2.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/inline2.C
@@ -1,5 +1,6 @@
// { dg-do assemble }
// { dg-options "-O2 -Winline" }
+// { dg-skip-if "requires hosted libstdc++ for cmath" { ! hostedlib } }
// Origin: Martin Reinecke <martin@MPA-Garching.MPG.DE>
#include <cmath>
diff --git a/gcc/testsuite/g++.old-deja/g++.other/inline7.C b/gcc/testsuite/g++.old-deja/g++.other/inline7.C
index 6260000..410351f 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/inline7.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/inline7.C
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-options "-O2" }
+// { dg-skip-if "requires hosted libstdc++ for list" { ! hostedlib } }
// Origin: Mark Mitchell <mark@codesourcery.com>
#include <list>
diff --git a/gcc/testsuite/g++.old-deja/g++.other/inline8.C b/gcc/testsuite/g++.old-deja/g++.other/inline8.C
index c12a8f7..d45a359 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/inline8.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/inline8.C
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-options "-O1" }
+// { dg-skip-if "requires hosted libstdc++ for map" { ! hostedlib } }
// Origin: Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
#include <map>
diff --git a/gcc/testsuite/g++.old-deja/g++.other/optimize2.C b/gcc/testsuite/g++.old-deja/g++.other/optimize2.C
index b34eae0..a16394f 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/optimize2.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/optimize2.C
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-options "-O2" }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
//
// Copyright (C) 2001 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 26 May 2001 <nathan@codesourcery.com>
diff --git a/gcc/testsuite/g++.old-deja/g++.other/sibcall1.C b/gcc/testsuite/g++.old-deja/g++.other/sibcall1.C
index fa9e37b..ecf2e1b 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/sibcall1.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/sibcall1.C
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-options "-O2" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.other/unchanging1.C b/gcc/testsuite/g++.old-deja/g++.other/unchanging1.C
index 6b2999c..6beb513 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/unchanging1.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/unchanging1.C
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-options "-O2" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
#include <complex>
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/crash68.C b/gcc/testsuite/g++.old-deja/g++.pt/crash68.C
index 9afeae0..c5ce84f 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/crash68.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/crash68.C
@@ -1,5 +1,6 @@
// { dg-do assemble }
// { dg-prune-output "mangled name" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
//
// Copyright (C) 2001 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 25 Jul 2001 <nathan@codesourcery.com>
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp100.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp100.C
index c049523..e498c3b 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/memtemp100.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/memtemp100.C
@@ -1,5 +1,6 @@
// { dg-do assemble }
// { dg-options "" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// Origin: philippeb@videotron.ca
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb109.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb109.C
index b98e8da..44e7eac 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb109.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb109.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for map" { ! hostedlib } }
#include<map>
#include<iostream>
#include<vector>
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb113.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb113.C
index 9c7ca6b..a5dbfa4 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb113.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb113.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
class X : public std::streambuf
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb115.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb115.C
index e7065b2..fe44e06 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb115.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb115.C
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-options "-O" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
#include <typeinfo>
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb124.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb124.C
index 0be035a..728d9c2 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb124.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb124.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for stdexcept" { ! hostedlib } }
#include <stdexcept>
class X : public std::runtime_error {
X ();
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb127.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb127.C
index d8d28b3..1cd9abb 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb127.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb127.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
// Gets ICE 40.
#include <vector>
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb129.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb129.C
index a8dae01..c42f88a 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb129.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb129.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for list" { ! hostedlib } }
// Gives ICE on EGCS release branch as of 98/06/08 on i686-pc-linux-gnulibc1)
// From: Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-karlsruhe.de>
// Message-Id: <199806081358.PAA02505@achibm5.chemie.uni-karlsruhe.de>
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb129a.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb129a.C
index 3150422..51ffcbe 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb129a.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb129a.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for list" { ! hostedlib } }
// Gives ICE on EGCS release branch as of 98/06/08 on i686-pc-linux-gnulibc1)
// From: Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-karlsruhe.de>
// Message-Id: <199806081358.PAA02505@achibm5.chemie.uni-karlsruhe.de>
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb130.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb130.C
index 20175cd..932f249 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb130.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb130.C
@@ -1,5 +1,6 @@
// { dg-do assemble }
// { dg-options "-Wall -Wno-deprecated" }
+// { dg-skip-if "requires hosted libstdc++ for backward/hash_set" { ! hostedlib } }
// Gives spurious warnings when compiled with -Wall
// EGCS 06/08/98 i686-pc-linux-gnulibc1
// Message-Id: <199806081358.PAA02505@achibm5.chemie.uni-karlsruhe.de>
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb132.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb132.C
index e5992aa..b432b2d 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb132.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb132.C
@@ -1,5 +1,6 @@
// { dg-do assemble }
// { dg-options "-O -Wall -fgcse" }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
// From: Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-karlsruhe.de>
// Reported against EGCS snaps 98/06/28.
//
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb15.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb15.C
index 1cb9fd1..c1d9449 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb15.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb15.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include<iostream>
#include<cstddef>
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb21.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb21.C
index a061fc0..0c615d4 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb21.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb21.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
#include <sstream>
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb24.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb24.C
index 5e2a3ee..0abbce2 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb24.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb24.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
template < class T >
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb27.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb27.C
index 0df2e10..054e531 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb27.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb27.C
@@ -1,5 +1,6 @@
// { dg-do assemble }
// { dg-options "-Wno-deprecated -Wno-return-type" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
/* bug.cc */
/* simple program to demonstrate the bug with named return values in gcc
*/
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb28.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb28.C
index 89f19d5..7f93d76 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb28.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb28.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
using namespace std;
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb29.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb29.C
index bea0d12..c1880c8 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb29.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb29.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
using namespace std;
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb3.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb3.C
index b7487e9..91e7e73 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb3.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb3.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
#include <complex>
template<class T>
class Vec {
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb30.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb30.C
index e0f290b..b22d482 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb30.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb30.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for fstream" { ! hostedlib } }
#include <fstream>
class bifstream : public std::ifstream {
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb31.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb31.C
index 1e3c8f0..49c9067 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb31.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb31.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include<iostream>
int main() {
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb33.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb33.C
index 50328ad..005f9c9 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb33.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb33.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for fstream" { ! hostedlib } }
#include <fstream>
#include <cstdio>
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb36.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb36.C
index 56e67b3..0c5ebf9 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb36.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb36.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
using namespace std;
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb39.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb39.C
index 144d3ff..24aa24b 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb39.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb39.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for cctype" { ! hostedlib } }
#include <cctype>
#include <iostream>
#include <sstream>
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb4.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb4.C
index 99c2ca9..4747841 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb4.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb4.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// Error: Internal Compiler Error in GCC 2.7.2 and EGCS 1998/05/28 snapshot.
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb41.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb41.C
index 9f6ee5f..37422fb 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb41.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb41.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
#include <iterator>
#include <string>
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb43.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb43.C
index c54050c..e4d16c7 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb43.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb43.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
// All the pointer_to_binary_function cases used to fail because g++
// couldn't handle converting an overloaded function to a class type.
// The first one should still fail because it requires an implicit conversion
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb44.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb44.C
index b21343c4..ca8fcc3 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb44.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb44.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// spurious 'const' in error.
// For egcs-2.91.34, the warning message refers to
// class ostream & operator <<(class ostream &, const class Vector<T> &)
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb46.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb46.C
index cbe482e..7102504 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb46.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb46.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
class A1 {
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb54.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb54.C
index 1e71ca8..de89167 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb54.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb54.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iomanip" { ! hostedlib } }
#include <iomanip>
#include <iostream>
#include <cstdlib>
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb55.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb55.C
index c1e2400..2486a06 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb55.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb55.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for sstream" { ! hostedlib } }
// Since the constructor is in streambuf.h, additional diagnostics are
// produced, which are not really supported in the old-deja framework
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb59.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb59.C
index 84ccff2..7fadf9a 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb59.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb59.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#define INC_FUNCTIONAL 1
#define USE_STATIC_CAST 1
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb60.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb60.C
index ea80a4c..f81861e 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb60.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb60.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
class t {
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb62.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb62.C
index bffba04..8f6094a 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb62.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb62.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
void f(void)
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb66.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb66.C
index 3088593..d9dc0a0 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb66.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb66.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb7.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb7.C
index 4785305..83fa20d 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb7.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb7.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
class T
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb73.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb73.C
index bf9cf59..6fcad36 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb73.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb73.C
@@ -1,5 +1,6 @@
// { dg-do run }
// { dg-options "-O -Wall" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// Depletes VM.
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb77.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb77.C
index 358c186..553fc53 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb77.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb77.C
@@ -1,4 +1,5 @@
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
#include <sstream>
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb79.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb79.C
index 1c1ad3e..9597d2e 100644
--- a/gcc/testsuite/g++.old-deja/g++.robertl/eb79.C
+++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb79.C
@@ -1,5 +1,6 @@
// { dg-do assemble }
// { dg-prune-output "note" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// Makes bogus x86 assembly code.
#include <iostream>
diff --git a/gcc/testsuite/g++.old-deja/g++.warn/iomanip.C b/gcc/testsuite/g++.old-deja/g++.warn/iomanip.C
index c437b26..c31d4cf 100644
--- a/gcc/testsuite/g++.old-deja/g++.warn/iomanip.C
+++ b/gcc/testsuite/g++.old-deja/g++.warn/iomanip.C
@@ -1,5 +1,6 @@
// { dg-do assemble }
// { dg-options "-O -Winline" }
+// { dg-skip-if "requires hosted libstdc++ for iomanip" { ! hostedlib } }
// Bug: g++ wouldn't inline op<< because it was an explicit instantiation.
// Origin: Jason Merrill <jason@cygnus.com>
diff --git a/gcc/testsuite/g++.target/i386/avx-pr54700-1.C b/gcc/testsuite/g++.target/i386/avx-pr54700-1.C
index ef69688..9037650 100644
--- a/gcc/testsuite/g++.target/i386/avx-pr54700-1.C
+++ b/gcc/testsuite/g++.target/i386/avx-pr54700-1.C
@@ -5,5 +5,6 @@
/* { dg-final { scan-assembler-times "vpblendvb" 2 } } */
/* { dg-final { scan-assembler-times "vblendvps" 4 } } */
/* { dg-final { scan-assembler-times "vblendvpd" 4 } } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#include "sse4_1-pr54700-1.C"
diff --git a/gcc/testsuite/g++.target/i386/avx-pr54700-2.C b/gcc/testsuite/g++.target/i386/avx-pr54700-2.C
index e3556f3..251b950 100644
--- a/gcc/testsuite/g++.target/i386/avx-pr54700-2.C
+++ b/gcc/testsuite/g++.target/i386/avx-pr54700-2.C
@@ -1,6 +1,7 @@
/* PR target/54700 */
/* { dg-do run { target avx } } */
/* { dg-options "-O2 -std=c++14 -mavx -mno-xop -mno-avx2" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#define CHECK_H "avx-check.h"
#define TEST avx_test
diff --git a/gcc/testsuite/g++.target/i386/avx2-pr54700-1.C b/gcc/testsuite/g++.target/i386/avx2-pr54700-1.C
index b685c2a..99050c6 100644
--- a/gcc/testsuite/g++.target/i386/avx2-pr54700-1.C
+++ b/gcc/testsuite/g++.target/i386/avx2-pr54700-1.C
@@ -5,6 +5,7 @@
/* { dg-final { scan-assembler-times "vpblendvb" 2 } } */
/* { dg-final { scan-assembler-times "vblendvps" 4 } } */
/* { dg-final { scan-assembler-times "vblendvpd" 4 } } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#include <x86intrin.h>
diff --git a/gcc/testsuite/g++.target/i386/avx2-pr54700-2.C b/gcc/testsuite/g++.target/i386/avx2-pr54700-2.C
index e7a85c3..0845d4a 100644
--- a/gcc/testsuite/g++.target/i386/avx2-pr54700-2.C
+++ b/gcc/testsuite/g++.target/i386/avx2-pr54700-2.C
@@ -1,6 +1,7 @@
/* PR target/54700 */
/* { dg-do run { target avx2 } } */
/* { dg-options "-O2 -std=c++14 -mavx2 -mno-xop -mno-avx512f" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#ifndef CHECK_H
#define CHECK_H "avx2-check.h"
diff --git a/gcc/testsuite/g++.target/i386/avx512bw-pr96246-2.C b/gcc/testsuite/g++.target/i386/avx512bw-pr96246-2.C
index 30a1b95..126d4d2 100644
--- a/gcc/testsuite/g++.target/i386/avx512bw-pr96246-2.C
+++ b/gcc/testsuite/g++.target/i386/avx512bw-pr96246-2.C
@@ -2,6 +2,7 @@
/* { dg-do run } */
/* { dg-require-effective-target avx512bw } */
/* { dg-options "-O2 -std=c++14 -mavx512bw" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#define AVX512BW
diff --git a/gcc/testsuite/g++.target/i386/avx512vl-pr54700-1a.C b/gcc/testsuite/g++.target/i386/avx512vl-pr54700-1a.C
index fedc3aa..e03d864 100644
--- a/gcc/testsuite/g++.target/i386/avx512vl-pr54700-1a.C
+++ b/gcc/testsuite/g++.target/i386/avx512vl-pr54700-1a.C
@@ -5,5 +5,6 @@
/* { dg-final { scan-assembler-times "vpblendvb" 2 } } */
/* { dg-final { scan-assembler-times "vblendvps" 4 } } */
/* { dg-final { scan-assembler-times "vblendvpd" 4 } } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#include "avx2-pr54700-1.C"
diff --git a/gcc/testsuite/g++.target/i386/avx512vl-pr54700-1b.C b/gcc/testsuite/g++.target/i386/avx512vl-pr54700-1b.C
index 03f9343..1259f28 100644
--- a/gcc/testsuite/g++.target/i386/avx512vl-pr54700-1b.C
+++ b/gcc/testsuite/g++.target/i386/avx512vl-pr54700-1b.C
@@ -5,5 +5,6 @@
/* { dg-final { scan-assembler-times "pblendvb" 2 } } */
/* { dg-final { scan-assembler-times "blendvps" 4 } } */
/* { dg-final { scan-assembler-times "blendvpd" 4 } } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#include "sse4_1-pr54700-1.C"
diff --git a/gcc/testsuite/g++.target/i386/avx512vl-pr54700-2a.C b/gcc/testsuite/g++.target/i386/avx512vl-pr54700-2a.C
index 687a8c4..b58d5f5 100644
--- a/gcc/testsuite/g++.target/i386/avx512vl-pr54700-2a.C
+++ b/gcc/testsuite/g++.target/i386/avx512vl-pr54700-2a.C
@@ -1,6 +1,7 @@
/* PR target/100648 */
/* { dg-do run { target avx2 } } */
/* { dg-options "-O2 -std=c++14 -mavx2 -mavx512vl -mavx512bw" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#ifndef CHECK_H
#define CHECK_H "avx512f-helper.h"
diff --git a/gcc/testsuite/g++.target/i386/avx512vl-pr54700-2b.C b/gcc/testsuite/g++.target/i386/avx512vl-pr54700-2b.C
index 40450a9..f184d25 100644
--- a/gcc/testsuite/g++.target/i386/avx512vl-pr54700-2b.C
+++ b/gcc/testsuite/g++.target/i386/avx512vl-pr54700-2b.C
@@ -1,6 +1,7 @@
/* PR target/pr100648 */
/* { dg-do run { target sse4 } } */
/* { dg-options "-O2 -std=c++14 -msse4 -mavx512vl -mavx512bw -mno-xop" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#ifndef CHECK_H
#define CHECK_H "avx512f-helper.h"
diff --git a/gcc/testsuite/g++.target/i386/avx512vl-pr96246-2.C b/gcc/testsuite/g++.target/i386/avx512vl-pr96246-2.C
index db9dce2..5ac756d 100644
--- a/gcc/testsuite/g++.target/i386/avx512vl-pr96246-2.C
+++ b/gcc/testsuite/g++.target/i386/avx512vl-pr96246-2.C
@@ -3,6 +3,7 @@
/* { dg-require-effective-target avx512bw } */
/* { dg-require-effective-target avx512vl } */
/* { dg-options "-O2 -std=c++14 -mavx512bw -mavx512vl" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#define AVX512VL
#define AVX512BW
diff --git a/gcc/testsuite/g++.target/i386/mvc4.C b/gcc/testsuite/g++.target/i386/mvc4.C
index 68df5e3..fd8c3e3 100644
--- a/gcc/testsuite/g++.target/i386/mvc4.C
+++ b/gcc/testsuite/g++.target/i386/mvc4.C
@@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-require-ifunc "" } */
/* { dg-options "-mavx" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#include <immintrin.h>
diff --git a/gcc/testsuite/g++.target/i386/pr100885.C b/gcc/testsuite/g++.target/i386/pr100885.C
index bec08f7..c09f743 100644
--- a/gcc/testsuite/g++.target/i386/pr100885.C
+++ b/gcc/testsuite/g++.target/i386/pr100885.C
@@ -1,5 +1,6 @@
/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-mavx512vl -mno-avx512bw -O2 -Wno-int-to-pointer-cast -std=c++14" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#include<x86intrin.h>
typedef unsigned char byte;
diff --git a/gcc/testsuite/g++.target/i386/pr102166.C b/gcc/testsuite/g++.target/i386/pr102166.C
index 751cd2c..f26a60c 100644
--- a/gcc/testsuite/g++.target/i386/pr102166.C
+++ b/gcc/testsuite/g++.target/i386/pr102166.C
@@ -1,6 +1,7 @@
/* PR target/102166 */
/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-O2 -std=c++14" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include<immintrin.h>
__attribute__((target("amx-tile"))) void amx()
diff --git a/gcc/testsuite/g++.target/i386/pr103750-fwprop-1.C b/gcc/testsuite/g++.target/i386/pr103750-fwprop-1.C
index 26987d3..922e33e 100644
--- a/gcc/testsuite/g++.target/i386/pr103750-fwprop-1.C
+++ b/gcc/testsuite/g++.target/i386/pr103750-fwprop-1.C
@@ -2,6 +2,7 @@
/* { dg-do compile } */
/* { dg-options "-O2 -std=c++1y -march=cannonlake -fdump-rtl-fwprop1" } */
/* { dg-final { scan-rtl-dump-not "subreg:HI\[ \\\(\]*reg:SI\[^\n]*\n\[^\n]*UNSPEC_TZCNT" "fwprop1" } } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#include<immintrin.h>
const char16_t *qustrchr(char16_t *n, char16_t *e, char16_t c) noexcept
diff --git a/gcc/testsuite/g++.target/i386/pr105593.C b/gcc/testsuite/g++.target/i386/pr105593.C
index 3897f70..aef1adb 100644
--- a/gcc/testsuite/g++.target/i386/pr105593.C
+++ b/gcc/testsuite/g++.target/i386/pr105593.C
@@ -1,6 +1,7 @@
// PR c++/105593
// { dg-do compile { target c++14 } }
// { dg-options "-mavx512fp16 -W -Wall -O2" }
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#include <x86intrin.h>
diff --git a/gcc/testsuite/g++.target/i386/pr105638.C b/gcc/testsuite/g++.target/i386/pr105638.C
index c877093..b91301b 100644
--- a/gcc/testsuite/g++.target/i386/pr105638.C
+++ b/gcc/testsuite/g++.target/i386/pr105638.C
@@ -1,6 +1,7 @@
/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-std=gnu++20 -O2 -march=skylake" } */
/* { dg-final { scan-assembler-not "call\[\\t \]_?memset\[\r\n\]\[^\r\n\]movq\[\\t \]%\[a-z0-9]*, %\[a-z0-9]*\[\r\n\]\[^\r\n\]vpxor\[\\t \]%xmm0, %xmm0, %xmm0\[\r\n\]\[^\r\n\]vmovdqu\[\\t \]%xmm0, 36\\(%rax\\)" } } */
+/* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
#include <stdint.h>
diff --git a/gcc/testsuite/g++.target/i386/pr110170.C b/gcc/testsuite/g++.target/i386/pr110170.C
index 21cca8f..d2d8811 100644
--- a/gcc/testsuite/g++.target/i386/pr110170.C
+++ b/gcc/testsuite/g++.target/i386/pr110170.C
@@ -1,5 +1,7 @@
/* { dg-do run { target sse4 } } */
/* { dg-options " -O2 -msse4.1 -mfpmath=sse -std=gnu++20" } */
+/* { dg-skip-if "requires hosted libstdc++ for cmath" { ! hostedlib } } */
+
#include <math.h>
#ifndef CHECK_H
diff --git a/gcc/testsuite/g++.target/i386/pr112443.C b/gcc/testsuite/g++.target/i386/pr112443.C
index ebfa9b4..7a47cea 100644
--- a/gcc/testsuite/g++.target/i386/pr112443.C
+++ b/gcc/testsuite/g++.target/i386/pr112443.C
@@ -2,6 +2,7 @@
/* { dg-require-effective-target avx512bw } */
/* { dg-require-effective-target avx512vl } */
/* { dg-options "-O2 -std=c++17 -mavx512bw -mavx512vl" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#include <cstdint>
#include <x86intrin.h>
diff --git a/gcc/testsuite/g++.target/i386/pr113560.C b/gcc/testsuite/g++.target/i386/pr113560.C
index 179b68f..c4a1ccf 100644
--- a/gcc/testsuite/g++.target/i386/pr113560.C
+++ b/gcc/testsuite/g++.target/i386/pr113560.C
@@ -1,5 +1,6 @@
/* { dg-do compile { target { ! ia32 } } } */
/* { dg-options "-Ofast -std=c++23 -march=znver4" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#include <immintrin.h>
auto f(char *buf, unsigned long long in) noexcept
diff --git a/gcc/testsuite/g++.target/i386/pr80566-1.C b/gcc/testsuite/g++.target/i386/pr80566-1.C
index 29da31d..2a8031c 100644
--- a/gcc/testsuite/g++.target/i386/pr80566-1.C
+++ b/gcc/testsuite/g++.target/i386/pr80566-1.C
@@ -1,5 +1,6 @@
// { dg-do compile }
// { dg-options "-O2 -march=haswell -mtune-ctrl=avx256_store_by_pieces" }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
#include <cstring>
diff --git a/gcc/testsuite/g++.target/i386/pr80566-2.C b/gcc/testsuite/g++.target/i386/pr80566-2.C
index 9ffd2c8..9f09c9d 100644
--- a/gcc/testsuite/g++.target/i386/pr80566-2.C
+++ b/gcc/testsuite/g++.target/i386/pr80566-2.C
@@ -1,5 +1,6 @@
// { dg-do compile }
// { dg-options "-O2 -march=haswell -mtune-ctrl=avx256_move_by_pieces" }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
#include <cstring>
diff --git a/gcc/testsuite/g++.target/i386/pr88152.C b/gcc/testsuite/g++.target/i386/pr88152.C
index 9f1659b..a0aed94 100644
--- a/gcc/testsuite/g++.target/i386/pr88152.C
+++ b/gcc/testsuite/g++.target/i386/pr88152.C
@@ -8,6 +8,7 @@
// { dg-final { scan-assembler-times "vmovmskpd\[^\n\r]*xmm" 4 } }
// { dg-final { scan-assembler-times "vmovmskpd\[^\n\r]*ymm" 4 } }
// { dg-final { scan-assembler-not "vpcmpgt|vpcmpeq|vpsra" } }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } }
#include <x86intrin.h>
diff --git a/gcc/testsuite/g++.target/i386/pr88998.C b/gcc/testsuite/g++.target/i386/pr88998.C
index a338ad7..a541328 100644
--- a/gcc/testsuite/g++.target/i386/pr88998.C
+++ b/gcc/testsuite/g++.target/i386/pr88998.C
@@ -2,6 +2,7 @@
// { dg-do run { target sse2_runtime } }
// { dg-options "-O2 -msse2 -mfpmath=387" }
// { dg-require-effective-target c++11 }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } }
#include <cassert>
#include <unordered_map>
diff --git a/gcc/testsuite/g++.target/i386/pr94046-1.C b/gcc/testsuite/g++.target/i386/pr94046-1.C
index f2d4724..708c9f8 100644
--- a/gcc/testsuite/g++.target/i386/pr94046-1.C
+++ b/gcc/testsuite/g++.target/i386/pr94046-1.C
@@ -1,6 +1,7 @@
// PR target/94046
// { dg-do compile }
// { dg-options "-O2 -mavx2 -mxop" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } }
#include <x86intrin.h>
diff --git a/gcc/testsuite/g++.target/i386/pr94046-2.C b/gcc/testsuite/g++.target/i386/pr94046-2.C
index abc8c3e..ba66786 100644
--- a/gcc/testsuite/g++.target/i386/pr94046-2.C
+++ b/gcc/testsuite/g++.target/i386/pr94046-2.C
@@ -1,5 +1,6 @@
// PR target/94046
// { dg-do compile }
// { dg-options "-O0 -mavx2 -mxop" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } }
#include "pr94046-1.C"
diff --git a/gcc/testsuite/g++.target/i386/sse4_1-pr54700-1.C b/gcc/testsuite/g++.target/i386/sse4_1-pr54700-1.C
index 2b5cdb1..020da69 100644
--- a/gcc/testsuite/g++.target/i386/sse4_1-pr54700-1.C
+++ b/gcc/testsuite/g++.target/i386/sse4_1-pr54700-1.C
@@ -5,6 +5,7 @@
/* { dg-final { scan-assembler-times "pblendvb" 2 } } */
/* { dg-final { scan-assembler-times "blendvps" 4 } } */
/* { dg-final { scan-assembler-times "blendvpd" 4 } } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#include <x86intrin.h>
diff --git a/gcc/testsuite/g++.target/i386/sse4_1-pr54700-2.C b/gcc/testsuite/g++.target/i386/sse4_1-pr54700-2.C
index cef7d97..09e768f 100644
--- a/gcc/testsuite/g++.target/i386/sse4_1-pr54700-2.C
+++ b/gcc/testsuite/g++.target/i386/sse4_1-pr54700-2.C
@@ -1,6 +1,7 @@
/* PR target/54700 */
/* { dg-do run { target sse4 } } */
/* { dg-options "-O2 -std=c++14 -msse4 -mno-avx -mno-xop" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#ifndef CHECK_H
#define CHECK_H "sse4_1-check.h"
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index c4d2c33..8f2afe8 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -865,6 +865,24 @@ proc check_effective_target_freestanding { } {
return 0
}
+# Return 1 if a hosted implementation of libstdc++ is available
+# (i.e. not freestanding). Language must be c++.
+proc check_effective_target_hostedlib { } {
+ if [check_effective_target_freestanding] {
+ return 0
+ }
+ if [check_effective_target_c++] {
+ return [check_no_compiler_messages hostedlib assembly {
+ #include <bits/c++config.h>
+ #if ! _GLIBCXX_HOSTED
+ #error not hosted
+ #endif
+ int hosted;
+ }]
+ }
+ return 1
+}
+
# Check to see that file I/O functions are available.
proc check_effective_target_fileio { } {
return [check_no_compiler_messages fileio_available executable {