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.
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}.
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include <stdio.h>
#include <stdint.h>
/* { 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>
/* { 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 } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include <stdint.h>
/* { 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>
/* { 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>
/* { 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>
/* { 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>
/* { dg-additional-options "-fanalyzer-call-summaries" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
#include <stdlib.h>
/* { 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.
+/* { 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. */
+/* { 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. */
/* { 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"
/* { dg-skip-if "" { powerpc*-*-aix* } } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib size_t" { ! hostedlib } } */
#include <stdlib.h>
#include "analyzer-decls.h"
/* { dg-require-effective-target alloca } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib size_t" { ! hostedlib } } */
#include <stdlib.h>
#include "analyzer-decls.h"
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
struct ptr_wrapper
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
void *global_ptr;
/* { dg-additional-options "-Wno-analyzer-too-complex" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
/* A toy re-implementation of CPython's object model. */
#include <stddef.h>
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
+
/* Verify that we can override -fanalyzer with -fno-analyzer. */
/* { dg-additional-options "-fno-analyzer" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
/* Verify that __analyzer_dump_state works as expected. */
#include <stdlib.h>
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
int foo ();
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
/* A toy re-implementation of CPython's object model. */
#include <stdlib.h>
/* { 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 */
/* { 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 */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include <string.h>
#include "../../gcc.dg/analyzer/analyzer-decls.h"
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
+
#include <stdlib.h>
#include "../../gcc.dg/analyzer/analyzer-decls.h"
+/* { dg-skip-if "requires hosted libstdc++ for stdlib size_t" { ! hostedlib } } */
+
#include <stdlib.h>
typedef void *(*alloc_func_t) (size_t);
+/* { 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. */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
typedef struct z_stream_s {
unsigned char *next_out;
/* { dg-require-effective-target alloca } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include "../../gcc.dg/analyzer/analyzer-decls.h"
+/* { 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
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
/* Various tests of memory leak detection. */
#include <stdlib.h>
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include "../../gcc.dg/analyzer/analyzer-decls.h"
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
void test(int c)
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
/* Don't complain about leaks due to exiting from "main". */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
void test (void)
+/* { 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:
+/* { 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:
+/* { 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:
/* { 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."
/* { dg-require-effective-target alloca } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
/* { dg-additional-options "-O2" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
extern void foo (void);
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include "../../gcc.dg/analyzer/analyzer-decls.h"
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
void *
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
+
#include <stdlib.h>
void
/* { 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>
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
+
#include <stdlib.h>
void recursive_free (void *ptr)
/* { dg-additional-options "-fanalyzer-verbosity=1" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
#include <stdlib.h>
/* { dg-additional-options "-fanalyzer-verbosity=1" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
#include <stdlib.h>
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
void *
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
+
#include <stdlib.h>
static void calls_free(int *q)
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
static int *calls_malloc(void)
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
void *
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
+
#include <stdlib.h>
/**************************************************************************/
/* { dg-additional-options "-fdiagnostics-path-format=none -fanalyzer-verbosity=1" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
#include <stdlib.h>
/* 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"
/* 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"
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
extern int foo (void);
/* { dg-additional-options "-fanalyzer-verbose-state-changes" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
/* Verify that we emit sane paths for state machine errors. */
#include <stdlib.h>
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
+
/* Verify that we emit sane paths for state machine errors. */
#include <stdlib.h>
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
/* Verify that we emit sane paths for state machine errors. */
#include <stdlib.h>
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
/* Verify that we emit sane paths for state machine errors. */
#include <stdlib.h>
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdio.h>
#include <stdlib.h>
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
+
#include <stdlib.h>
void test (void *ptr)
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
extern int foo (void);
/* { 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>
/* { 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>
/* { 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>
/* { 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"
/* { dg-additional-options "-fanalyzer-call-summaries" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
#include "analyzer-decls.h"
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include "analyzer-decls.h"
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include "analyzer-decls.h"
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
{ 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>
/* { 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>
/* { dg-additional-options "-fanalyzer-transitivity" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
#include "analyzer-decls.h"
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include "analyzer-decls.h"
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include "analyzer-decls.h"
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include <string.h>
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
void *test (void)
+/* { dg-skip-if "requires hosted libstdc++ for cmath" { ! hostedlib } } */
+
#include <math.h>
int test_1 (void)
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
+
#include <stdlib.h>
#define _cleanup_(f) __attribute__((cleanup(f)))
/* { 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>
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>
/* { dg-additional-options "-O2 -Wno-analyzer-symbol-too-complex" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
#include <stdlib.h>
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
void *f (void)
/* { dg-additional-options "-Wno-analyzer-symbol-too-complex" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
#include <stdlib.h>
+/* { 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. */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
extern void foo (void *);
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
+
/* Verify that we can disable analyzer warnings via pragmas. */
#include <stdlib.h>
/* { 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>
/* { 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>
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
int test_1 (void)
/* { 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>
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include "analyzer-decls.h"
#include <stdio.h>
#include <stdlib.h>
+/* { dg-skip-if "requires hosted libstdc++ for stdlib realloc" { ! hostedlib } } */
+
#include "analyzer-decls.h"
#include <stdio.h>
#include <stdlib.h>
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
+
#include <stdlib.h>
void test_1 (int x, int y, int *out)
+/* { dg-skip-if "requires hosted libstdc++ for stdlib calloc" { ! hostedlib } } */
+
#include <stdlib.h>
#include <string.h>
/* { 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>
/* { 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>
/* { 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>
/* { 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>
/* { 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>
/* { 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>
/* { 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>
/* { 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>
/*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"
/* { 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>
/* { 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>
/* { 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>
/* { 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>
/* { 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>
/* PR middle-end/103642 */
/* { dg-do compile } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
/* { 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
/* 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
/* { 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>
/* { dg-do compile } */
/* { dg-options "-fgnu-tm -fdump-tree-tmmark" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
// 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" } }
// { 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" } }
// 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" }
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib free" { ! hostedlib } } */
+
#include <cstdlib>
void test_1 (void *ptr)
/* { 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>
/* { 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>
/* { 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>
// { dg-do compile }
+/* { dg-skip-if "requires hosted libstdc++ for stdlib free" { ! hostedlib } } */
#include <stdlib.h>
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib free" { ! hostedlib } } */
+
#include <cstdlib>
struct s {};
/* { 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>
// { dg-do compile { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
auto lol()
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
#include <cstdio>
#include <cstdlib>
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
+
#include <cstdlib>
struct A
/* { 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>
/* { 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" } } */
/* { 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>
// { dg-do run { target c++17 } }
// { dg-options "-fconcepts" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
#include <iostream>
// { dg-do compile { target c++17 } }
// { dg-options "-fconcepts" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// { dg-do compile { target c++17 } }
// { dg-options "-fconcepts" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// { dg-do compile { target c++17 } }
// { dg-options "-fconcepts" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
#include <type_traits>
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)" }
// 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) {
// 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);
// 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" }
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)} }
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)" }
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)" }
// 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;
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)" }
// 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) {
]];
}
+// { 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)" }
// { 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 ]];
// { 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]]
// { 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]]
// { dg-do run }
// { dg-options "-std=c++2a -fcontracts" }
+/* { dg-skip-if "requires hosted libstdc++ for cwchar" { ! hostedlib } } */
#include <experimental/contract>
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)} }
}
}
+// { 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)" }
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)" }
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)" }
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)" }
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)" }
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)" }
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)" }
}
}
+// { 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)" }
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)" }
}
}
+// { 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)" }
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)" }
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)" }
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)} }
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)} }
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)" }
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)" }
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)" }
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)" }
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" }
// (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()
{
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)" }
// (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()
{
// { 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()
// (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()
{
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)" }
// { 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()
{
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)" }
// 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()
{
// { 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()
{
// 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()
{
// { 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()
{
// 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)} }
// 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>
// { 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)
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)" }
+// { 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.
+// { 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.
// { 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
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
#if !__has_include(<coroutine>) \
&& __has_include(<experimental/coroutine>) // for __clang__
#include <experimental/coroutine>
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <coroutine>
#include <string>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
#include <coroutine>
using namespace std;
// 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"
// { 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
// { dg-additional-options "-fno-exceptions" }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <coroutine>
#include <string>
// { dg-additional-options "-fsyntax-only" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <coroutine>
#include <vector>
template <typename> struct promise {
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#define CASE 0
#include <coroutine>
// { dg-additional-options "-fcontracts -fcontract-continuation-mode=on" }
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
+
#include <iostream>
#include <coroutine>
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)" }
// { dg-additional-options "-fcontracts -fcontract-continuation-mode=on" }
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
#include <coroutine>
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)" }
// { dg-additional-options "-w" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include "coro.h"
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "coro.h"
// { dg-do run }
// { dg-output "coroutine name: MyFoo" }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
#include <coroutine>
#include <cstdio>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// The simplest co_await we can do.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#if __has_include(<coroutine>)
#include <coroutine>
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
#include <exception>
#include <cassert>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include<cassert>
#include<coroutine>
// { 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
// { 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
// { dg-additional-options "-std=c++14" }
+// { dg-skip-if "requires hosted libstdc++ for vector in ramp-return.h" { ! hostedlib } }
#include "ramp-return.h"
// { 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"
// { 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"
// { 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>)
// { 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
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// check codegen for overloaded simple operator new/delete.
// { 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.
// { 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
// { 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. */
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check that we can use co_await as a call parm.
// { 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.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check foo (compiler temp, co_await).
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check foo (compiler temp, co_await).
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Simplest class.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Class with parm capture
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// template parm in a class
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// template parm in a class
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// template parm in a class
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// template parm in a class
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// template parm in a class
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Show that we are correctly accessing class variables.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// The simplest co_await we can do.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
/* The simplest valued co_await we can do. */
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test of basic await transform, no local state.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Basic check of co_await with an expression to await transform.
// { 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.
// { 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.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Basic check of the co_await operator overload.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check that we correctly operate when the coroutine object is templated.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check cascaded co_await operations.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "../coro.h"
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check type dependent function parms.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test of forwarding a templated awaitable to co_await.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Basic check of the co_await operator overload.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
/* The simplest valued co_await we can do. */
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
/* The simplest valued co_await we can do. */
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
/* Check that we handle await_resume for a non-trivial type. */
// { 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"
// { dg-do run { target c++17 } }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "../coro.h"
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test co-await in if condition.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test co-await in while condition.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test co-await in do-while conditional
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test co-await in while condition.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test co-await in while condition.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test co-await in while condition.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test co-await in while condition.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test co-await in while condition.
// { 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-
// { 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".
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// GRO differs from the eventual return type.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// GRO differs from eventual return type and has non-trivial dtor.
// { 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
// { 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
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check that "co_return (void)expression;" evaluates expression once.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test templated co-return.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// test boolean return from await_suspend ().
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check that "co_return expression;" only evaluates expression once.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check co_return co_await
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check co_return function (co_await)
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check type dependent function parms.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check type dependent function parms.
// { 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>
// { 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
// { 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.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test yielding an int.
// { 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
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test co_yield in a loop with no local state.
// { 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.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test co_yield in templated code.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
// using non-trivial types in the coro.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check co_return co_await
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check co_return co_await
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check type dependent function parms.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check co_return co_await
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Check co_return co_await
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test exceptions.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test exceptions in the initial await expression, per n4849.
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
+
#include <coroutine>
#include <cstdio>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test promise construction from function args list.
// { 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.
// { 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.
// { 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.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test that we can manage a constructed param copy.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test that we can manage a constructed param reference
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// check references are handled as expected.
// { 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.
// { 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.
// { 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.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Simplest lambda
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Lambda with parm
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// lambda with parm and local state
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// generic Lambda with auto parm (c++14)
// { 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)
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// lambda with parm and local state
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// lambda with parm and local state
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// lambda with parm and local state
// { 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.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// lambda with initialized captures
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// lambda with mutable closure object.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Simplest local decl.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Simplest local var
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test local vars in nested scopes
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
// Test modifying a local var and yielding several instances of it.
// { 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.
// { 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
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "../coro.h"
// { 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.
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "../coro.h"
#include "../coro1-ret-int-yield-int.h"
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "../coro.h"
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "../coro.h"
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "../coro.h"
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "../coro.h"
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "../coro.h"
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "../coro.h"
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "../coro.h"
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include "../coro.h"
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert in pr95615.inc" { ! hostedlib } }
#define INITIAL_SUSPEND_THROWS 1
#include "pr95615.inc"
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert in pr95615.inc" { ! hostedlib } }
#define PROMISE_CTOR_THROWS 1
#include "pr95615.inc"
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert in pr95615.inc" { ! hostedlib } }
#define GET_RETURN_OBJECT_THROWS 1
#include "pr95615.inc"
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert in pr95615.inc" { ! hostedlib } }
#define INITIAL_AWAIT_READY_THROWS 1
#include "pr95615.inc"
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert in pr95615.inc" { ! hostedlib } }
#define INITIAL_AWAIT_SUSPEND_THROWS 1
#include "pr95615.inc"
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for stdexcept" { ! hostedlib } }
#include "../coro.h"
#include <stdexcept>
// PR preprocessor/80005
// { dg-do preprocess }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#undef vector
#define vector NOPE
// { 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.
// 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>
// 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>
// PR c++/66635
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// PR c++/82307
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// PR c++/82307
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// 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 }
// PR c++/108195
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
// PR c++/39056
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
#include <complex>
// { 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" }
// PR c++/41754
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for map" { ! hostedlib } }
#include <map>
#include <string>
// PR c++/49355
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
// PR c++/64665, DR 1467
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
int main() {
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
int main() {
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
int main() {
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
int main() {
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
int main() {
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
int main() {
// PR c++/54170
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
#include <algorithm>
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
//#include <iostream>
#include <functional>
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// Test using std::function wrapper.
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for functional function" { ! hostedlib } }
#include <functional>
// PR c++/56135
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for functional function" { ! hostedlib } }
#include <functional>
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// Test passing to ellipisis
// PR c++/61038
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
#include <cstring>
#include <cstdlib>
// 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>
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
// PR c++/33235
#include <cassert>
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
// { 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.
// { 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;
// { 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.
// { 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.
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
#include <cstring>
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
// { dg-options "-std=c++17 -fchar8_t" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cstdint>
#include <cassert>
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cstdint>
#include <cassert>
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// { 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"
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
// { 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.
// { 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>
// { 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>
// { 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>
// { 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>
// PR c++/69057
// { dg-do compile { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// PR c++/79228
// { dg-do compile { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
#include <complex>
// PR c++/79228
// { dg-do compile { target c++14 } }
// { dg-options "" }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
#include <complex>
// { dg-do run { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// PR c++/59329
// { dg-do compile { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// PR c++/65985
// { dg-do compile { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// { 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:
// PR c++/69078
// { dg-do run { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// 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>
// 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>
// 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>
/* { 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>
// PR c++/90926
// { dg-do run { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// { dg-do compile { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for chrono" { ! hostedlib } }
#include <chrono>
// PR c++/77786
// { dg-do compile { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
// PR c++/95226
// { dg-do run { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
// { dg-do run { target c++14 } }
// { dg-options -w }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// { dg-do run { target c++14 } }
// { dg-options -w }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// { dg-do compile { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for complex in complex_literals.h" { ! hostedlib } }
#include "complex_literals.h"
// { dg-do compile { target c++17 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
/* { dg-do compile } */
/* { dg-options "-std=gnu++17" } */
+/* { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } } */
#include <string>
/* { dg-do compile } */
/* { dg-options "-std=gnu++17" } */
+/* { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } } */
#include <string>
// { dg-do compile { target c++17 } }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <memory>
#include <tuple>
// 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();
// { 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:
// { dg-do run { target c++17 } }
// { dg-options "" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// Testcase from P0305R1
// { dg-do compile { target c++17 } }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
#include <map>
// { dg-do run { target c++11 } }
// { dg-additional-options "-O2" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// { dg-do run { target c++11 } }
// { dg-additional-options "-O2" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// { 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"
// { 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"
// { dg-do compile { target c++17 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
#include <experimental/type_traits>
// { dg-options "" }
// { dg-add-options float16 }
// { dg-add-options bfloat16 }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
#include <complex>
#include <stdfloat>
// { 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:
// P2128R6
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include <initializer_list>
#include <cstdlib>
// P2128R6
// { dg-do run }
// { dg-options "-std=c++23" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
#include <initializer_list>
#include <cstdlib>
// 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>
// PR c++/110344
// { dg-do compile { target c++26 } }
+// { dg-skip-if "requires hosted libstdc++ for cwchar" { ! hostedlib } }
#include <string_view>
struct Sheep {
// { 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:
// { dg-do compile { target c++20 } }
+// { dg-skip-if "requires hosted libstdc++ for cmath" { ! hostedlib } }
#include <cmath>
// { dg-do run { target c++20 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// { dg-do run { target c++20 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// { dg-do compile { target c++20 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// { dg-do run { target c++20 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// { dg-do compile { target c++20 } }
// { dg-additional-options "-fconcepts" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <type_traits>
#include <utility>
// PR c++/67348
// { dg-do compile { target c++20 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <type_traits>
#include <vector>
// 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>
// { 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:
// { dg-do compile { target c++20 } }
+// { dg-skip-if "requires hosted libstdc++ for cmath" { ! hostedlib } }
#include <cmath>
// { dg-options "-Wtemplates -Wmultiple-inheritance -Wvirtual-inheritance -Wnamespaces" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
#include <algorithm>
// { dg-require-effective-target c++11 }
+// { dg-skip-if "requires hosted libstdc++ for map" { ! hostedlib } }
#include <map>
// { dg-do compile { target c++14 } }
+// { dg-skip-if "requires hosted libstdc++ for chrono" { ! hostedlib } }
#include <chrono>
/* { 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. */
// 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>
// 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>
// { dg-do run }
// { dg-options -fomit-frame-pointer }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
// { 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>
// { 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>
// { 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>
// { 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>
// { 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>
// { 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>
// { 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>
// { dg-options "-w" }
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include<typeinfo>
#include<cassert>
// __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
// { 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>
/* { 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. */
/* { 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. */
/* { 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>
/* { 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. */
/* { 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. */
// { 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;
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
// PR c++/36870
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
// PR c++/36870
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct S { S (); };
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
// PR c++/36871
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A {
// PR c++/36871
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct F {
// PR c++/36872
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct S {
// PR c++/36872
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct S {
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct S {
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct S {
// PR c++/36870
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct S { S (const S&); };
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
#include <exception>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
template<typename T>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
class A1
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
// 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>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
// { 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>
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
#include <exception>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
struct A
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
// { dg-do compile }
+// { dg-skip-if "requires hosted libstdc++ for tr1/type_traits" { ! hostedlib } }
#include <tr1/type_traits>
/* { dg-options "-fprofile-arcs -ftest-coverage -Ofast" } */
/* { dg-do run { target native } } */
+/* { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } } */
#include <iostream>
/* { 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>
// 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>
// 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>
// 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>
// { dg-do compile }
// { dg-additional-options "-fdump-tree-gimple" }
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#include <cstdlib>
// { dg-do compile }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cstdio>
#include <cstring>
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
#include <cassert>
struct S {
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
#include <cassert>
int main (int argc, char *argv[])
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
#include <cassert>
int glob = 10;
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
#include <cassert>
struct S {
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
#include <cassert>
struct S {
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
#include <cassert>
int foo (int x)
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
#include <cassert>
int foo (bool yesno)
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
#include <cassert>
typedef int intarr100[100];
// PR target/71910
// { dg-do compile }
// { dg-additional-options "-O2" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
// PR c++/91118
// { dg-do compile }
// { dg-additional-options "-fsanitize=undefined" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
/* { 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. */
// 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
// { 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 ();
// 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>
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
// { 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>
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
+
#include <vector>
template <int rank, int dim> class Tensor;
/* { 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;
return 0;
}
-/* { dg-do run } */
-
// PR c++/48035
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
#include <new>
#include <cstring>
// { 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
// PR c++/17670
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib size_t" { ! hostedlib } }
#include <cstdlib>
#include <new>
// { 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.
// Testcase for overflow handling in operator new[].
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for stdexcept" { ! hostedlib } }
#include <stdlib.h>
#include <stdexcept>
// { 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>
// 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>
/* { 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" } */
/* { dg-do run } */
/* { dg-options "-O2" } */
+/* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
#include <vector>
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 ()
{
// PR c++/21802
// { dg-do run }
// { dg-require-effective-target size20plus }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
#include <cassert>
struct X;
// { dg-lto-do link }
// { dg-lto-options {{-O3 -flto -Winline}} }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
// { dg-lto-do run }
// { dg-lto-options {{-O3 -flto}} }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
#include <map>
// { 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 {
// { 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.
//
/* { dg-lto-do link } */
/* { dg-lto-options "-std=c++17" } */
+/* { dg-skip-if "requires hosted libstdc++ for map" { ! hostedlib } } */
#include <map>
extern void test();
/* { dg-options "-std=c++14" } */
+
#include <map>
void test()
// { dg-additional-options -fmodule-header }
// { dg-module-cmi {} }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
// { dg-additional-options -fmodule-header }
// { dg-module-cmi {} }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
// 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>
// { 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;
export int fn3(int n)
[[ pre: pre_print2(n) > 0 ]];
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
return x;
}
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// 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>
// { 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;
// 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>
// { 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;
// { 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;
// { dg-module-do run }
// { dg-additional-options -fmodules-ts }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
module;
#include <iostream>
// PR c++/105512
// { dg-additional-options -fmodules-ts }
// { dg-module-cmi Hello2 }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
module;
#include <string>
// 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;
// { 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
// { 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.
// { dg-additional-options -fmodules-ts }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
import module1;
// 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} }
// 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} }
// { dg-additional-options {-fmodules-ts -flang-info-module-cmi=<iostream>} }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
+
export module Foo;
import <iostream>;
// { 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;
// { 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;
// { dg-additional-options -fmodule-header }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
// { dg-module-cmi {} }
#include <string>
// { dg-additional-options "-fmodules-ts -fno-module-lazy" }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
import "string-1_a.H";
// { dg-additional-options "-fmodules-ts" }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
module;
#include <cstdio>
#include <string_view>
// { 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"
// { 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";
// { 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"
// { 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";
// { 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"
// { 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";
// { 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"
// { 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";
// { 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"
// { 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";
// { 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"
// { 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";
// { 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"
// 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";
// { 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"
// { 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";
// { 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"
// { 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";
// 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>
// { dg-do compile }
// { dg-options "" }
+// { dg-skip-if "requires hosted libstdc++ for cassert in dtor4.h" { ! hostedlib } }
#include "dtor4.h"
// { 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"
// { 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
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
#include <cstdlib>
#include <complex>
// { 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>
// { 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>
// { 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>
// { dg-do compile { target c++11 } }
// { dg-options "-O3 -fdump-tree-optimized" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
//
// { dg-do run }
// { dg-options "-O3" }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
#include <cstring>
#include <fstream>
/* { 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>
// 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>
/* { 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>
// PR debug/77844
// { dg-do compile }
// { dg-options "-O3 -g" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
// 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>
// { 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>
// 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"
// 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>
// PR c++/90909
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
/* { 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>
// { 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>
/* { 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,
/* { 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,
/* { 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>
/* 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>
// { 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>
// { dg-do compile { target i?86-*-* x86_64-*-* } }
// { dg-options "-msse" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } }
#include <xmmintrin.h>
/* { 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>
// { 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>
// { dg-do compile }
+// { dg-skip-if "requires hosted libstdc++ for set" { ! hostedlib } }
#include <set>
/* { 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>
/* { 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; }
/* { 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; }
+// { dg-skip-if "requires hosted libstdc++ for list" { ! hostedlib } }
#include <list>
using namespace std;
/* PR c++/590 */
/* { dg-do compile } */
+/* { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } } */
#include <iostream>
#include <sstream>
+// { dg-skip-if "requires hosted libstdc++ for iostream in system-1.H" { ! hostedlib } }
+
#include "system-1.H"
int main()
+// { dg-skip-if "requires hosted libstdc++ for iostream in system-1.H" { ! hostedlib } }
+
#include <iostream>
+// { dg-skip-if "requires hosted libstdc++ for iostream in system-2.H" { ! hostedlib } }
+
#include "system-2.H"
int main()
+// { dg-skip-if "requires hosted libstdc++ for iostream in system-1.H" { ! hostedlib } }
+
#include <iostream>
#include <string>
/* { dg-do run } */
/* { dg-options "-O2 -fno-tree-bit-ccp -ftree-slp-vectorize" } */
+/* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
#include <vector>
// { dg-do compile }
// { dg-options "-O3 -fdump-tree-vrp2" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
// { dg-do compile }
// { dg-require-effective-target c++11 }
// { dg-options "-O2" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
// { 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>
// { 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>
/* { dg-do compile } */
/* { dg-options "-Wall -O3" } */
+/* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
#include <vector>
// { 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>
// 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>
// { 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.
// { dg-do run }
// { dg-options "-O2" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <typeinfo>
#include <iostream>
/* { dg-options "-std=c++11" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } } */
#ifdef _AIX
#define _STD_TYPES_T
#endif
// { 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>
// PR c++/69961
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
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>
// Testcase from TM TS
// { dg-options "-std=c++14 -fgnu-tm" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
// { dg-do compile }
// { dg-options "-fgnu-tm" }
+// { dg-skip-if "requires hosted libstdc++ for list" { ! hostedlib } }
#include <list>
class Game
// 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>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
#include <cstring>
/* { dg-do run } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } } */
#include <stdlib.h>
#include <assert.h>
// { 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;
// 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>
// { 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" } { "" } }
// { dg-do run }
// { dg-additional-options "-fstrict-aliasing" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
#include <memory>
// { dg-do run }
// { dg-options "-std=c++98" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
#include <memory>
// { dg-do compile }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
typedef struct _ts { } PyThreadState;
PyThreadState * Py_NewInterpreter(void);
/* { dg-do run } */
+/* { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } } */
#include <complex>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
/* { dg-do compile } */
+/* { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } } */
#include<cassert>
#include<new>
// { dg-do compile }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
void a()
/* { dg-do compile } */
+/* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
#include <vector>
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
#include <cstdlib>
typedef unsigned short uint16;
// { dg-do compile }
// { dg-options "-O2 -fnon-call-exceptions -fno-guess-branch-probability" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
// { dg-do run }
// { dg-additional-options "-fno-tree-sra" }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
#include <complex>
// { dg-do run }
// { dg-options "-std=c++11" }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
#include <stdexcept>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
#include <sstream>
// { dg-do compile }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
int main()
// { 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>
/* PR c++/91334. */
/* { dg-do compile } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib size_t" { ! hostedlib } } */
#include <new>
#include <stdlib.h>
/* { dg-do run } */
/* { dg-additional-options "-fstrict-aliasing" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib size_t" { ! hostedlib } } */
#include <cstdlib>
#include <array>
// { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// PR rtl-optimization/95493 comment 8
#include <array>
// 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.
// { 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>
/* { 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>
// 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" } }
// 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" } }
// PR c++/108266
// { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <initializer_list>
#include <vector>
// 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" } }
/* { dg-do compile } */
/* { dg-options "-O3 -fdump-tree-lsplit-details" } */
+/* { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } } */
#include <string>
#include <map>
/* { 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>
// { 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>
/* { dg-options "-O2 -Wall" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstddef NULL" { ! hostedlib } } */
+
#include <algorithm>
static inline bool
// { 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>
/* { 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;
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-optimized -fno-ipa-reference" } */
+/* { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } } */
#include <iostream>
namespace {
// { 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.
/* { 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 */
// { dg-options "-fdump-tree-optimized -Os" }
+// { dg-skip-if "requires hosted libstdc++ for set" { ! hostedlib } }
#include <set>
#include <stdio.h>
/* { dg-do run } */
/* { dg-options "-O2" } */
+/* { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } } */
#include <string>
// { 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>
/* { 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>
// 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>
// { 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>
/* { 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>
// { dg-require-effective-target c++11 }
// { dg-require-effective-target int32plus }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
#include <tuple>
/* { 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. */
// { 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>
// { 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>
// { 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>
/* { dg-do compile } */
/* { dg-require-effective-target vect_int } */
+/* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
#include <vector>
// { 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>
// { 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>
// 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>
// 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>
// 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>
// { 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>
// PR c++/107488
// { dg-do compile }
// { dg-options "-Wdangling-reference" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
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>
// { dg-options "-Winline -O" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
// PR c++/85710
// { dg-additional-options -Wmemset-elt-size }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
#include <cstring>
// 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>
/* { dg-do compile } */
/* { dg-options "-O2 -Wstrict-aliasing" } */
+/* { dg-skip-if "requires hosted libstdc++ for list" { ! hostedlib } } */
#include<list>
/* { dg-do compile } */
/* { dg-options "-O2 -Wstrict-aliasing" } */
+/* { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } } */
#include <string>
#include <list>
/* 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>
// PR c++/103534
// { dg-additional-options "-O -Wall" }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
// PR middle-end/98994
// { dg-do compile }
// { dg-additional-options "-Wstringop-overread -O2" }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
// { dg-do compile { target *-*-*gnu } }
// { dg-options "-Wsystem-headers" }
+// { dg-skip-if "requires hosted libstdc++ for stdlib atof" { ! hostedlib } }
#include <stdlib.h>
// { 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>
// { dg-do compile }
// { dg-require-effective-target c++11 }
// { dg-options "-O -Wuninitialized" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
// 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>
// 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>
// 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>
// PR c++/35652
// { dg-options "-O -Wall" }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
int test() {
// { dg-require-effective-target c++11 }
// { dg-options "-O -Wall -fno-strict-aliasing" }
+// { dg-skip-if "requires hosted libstdc++ for regex" { ! hostedlib } }
#include <regex>
// 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
// { 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>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// 981203 bkoz
// g++/15071
// gcc invocation fails to link in libstdc++
// { dg-do run }
// { dg-additional-options "-fexcess-precision=fast" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed copy-ctors
#include <iostream>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed old-abort
#include <iostream>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
// GROUPS passed old-abort
#include <complex>
typedef std::complex<double> Complex;
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
// GROUPS passed old-abort
#include <string>
// { 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):
// { 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>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed old-abort
#include<iostream>
// { dg-do assemble }
// { dg-options "-Wreturn-type" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed old-abort
#include <iostream>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed old-abort
#include <iostream>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed conversions
#include <iostream>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for fstream" { ! hostedlib } }
// GROUPS passed error-messages
#include <fstream>
#include <iomanip>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed nested-classes
#include <iostream>
#include <cstdio>
// { 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>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed ptolemy-bugs
#include <iostream>
// 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>
// 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>
// { dg-do run }
// { dg-options "" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
# 1 "SetLS.cc"
// GROUPS passed templates nested-classes
//
// { 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>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// PRMS Id: 8569
#include <iostream>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for stdlib qsort" { ! hostedlib } }
+
#include <stdlib.h>
#include <string.h>
// { dg-do compile }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <typeinfo>
#include <iostream>
// { 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
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed arg-matching
// arg-matching file
// Message-Id: <9307081747.AA14030@tnt>
// { 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)
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } }
+
// GROUPS passed ARM-compliance
#include <stdio.h>
#include <stdlib.h>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed ARM-compliance
#include <iostream>
enum f1 {
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed bad-errors
#include <iostream>
// { 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>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed constructors
// ctor file
// Message-Id: <9302052351.AA10789@harvey>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// GROUPS passed constructors
#include <cstdio>
#include <cstdlib>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed constructors
#include <iostream>
// { 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>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
// GROUPS passed constructors
#include <complex>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed conversions
// cvt file
// Message-Id: <9304121647.AA25819@tnt>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// GROUPS passed conversions
#include <cstdio>
#include <cstdlib>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdio" { ! hostedlib } }
// GROUPS passed conversions
// cvt file
// From: krste@icsi.berkeley.edu (Krste Asanovic)
// { 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>
// { 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)
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed nest
#include <iostream>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed operators
#include <iostream>
// { 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)
// { 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)
// { 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)
// { 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)
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed visibility
#include <iostream>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed visibility
#include <iostream>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed visibility
// visibility file
// From: dinh@cs.ucla.edu (Dinh Le)
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed visibility
// visibility file
// From: Sandeep Shroff <ss@caere.com>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// GROUPS passed visibility
#include <iostream>
// { 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>
// { 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)
// { 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>
// { 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
// { 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.
// { dg-do run }
// { dg-options "-fexceptions" }
+// { dg-skip-if "requires hosted libstdc++ for stdexcept" { ! hostedlib } }
#include <typeinfo>
#include <stdexcept>
// { dg-do run { xfail arm-*-pe } }
// { dg-options "-fexceptions" }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
// { dg-do run { xfail sparc64-*-elf arm-*-pe } }
// { dg-options "-fexceptions" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <cstdlib>
#include <iostream>
// { 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>
// { dg-do run }
// { dg-options "" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
#include <cstdlib>
#include <cstddef>
// { 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>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// prms-id: 658
#include <iostream>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for stdlib size_t" { ! hostedlib } }
+
// GROUPS passed delete
/*
Bug Id:
// { 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>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <typeinfo>
#include <iostream>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
//Build don't link
#include <vector>
namespace csp {
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
namespace csp {
// { 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>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
// Origin: Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
#include <vector>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for stdlib size_t" { ! hostedlib } }
+
// Origin: Mark Mitchell <mark@codesourcery.com>
#include <stdlib.h>
// { 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>
//
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
// Based on a testcase submitted by Tudor Hulubei <tudor@cs.unh.edu>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// Origin: Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
#include <iostream>
// { 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>
// { dg-do run }
// { dg-options "-O2" }
+// { dg-skip-if "requires hosted libstdc++ for list" { ! hostedlib } }
// Origin: Mark Mitchell <mark@codesourcery.com>
#include <list>
// { 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>
// { 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>
// { dg-do run }
// { dg-options "-O2" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
// { dg-do run }
// { dg-options "-O2" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
#include <complex>
// { 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>
// { dg-do assemble }
// { dg-options "" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// Origin: philippeb@videotron.ca
#include <iostream>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for map" { ! hostedlib } }
#include<map>
#include<iostream>
#include<vector>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
class X : public std::streambuf
// { dg-do run }
// { dg-options "-O" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
#include <typeinfo>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for stdexcept" { ! hostedlib } }
#include <stdexcept>
class X : public std::runtime_error {
X ();
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
// Gets ICE 40.
#include <vector>
// { 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>
// { 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>
// { 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>
// { 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.
//
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include<iostream>
#include<cstddef>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
#include <sstream>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
template < class T >
// { 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
*/
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
using namespace std;
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
using namespace std;
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
#include <complex>
template<class T>
class Vec {
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for fstream" { ! hostedlib } }
#include <fstream>
class bifstream : public std::ifstream {
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include<iostream>
int main() {
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for fstream" { ! hostedlib } }
#include <fstream>
#include <cstdio>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
using namespace std;
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for cctype" { ! hostedlib } }
#include <cctype>
#include <iostream>
#include <sstream>
// { 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>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
#include <iterator>
#include <string>
// { 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
// { 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> &)
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
class A1 {
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iomanip" { ! hostedlib } }
#include <iomanip>
#include <iostream>
#include <cstdlib>
// { 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
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#define INC_FUNCTIONAL 1
#define USE_STATIC_CAST 1
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
#include <string>
class t {
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
void f(void)
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
#include <cassert>
#include <iostream>
// { dg-do assemble }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
#include <vector>
class T
// { dg-do run }
// { dg-options "-O -Wall" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// Depletes VM.
#include <iostream>
// { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#include <iostream>
#include <sstream>
// { dg-do assemble }
// { dg-prune-output "note" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
// Makes bogus x86 assembly code.
#include <iostream>
// { 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>
/* { 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"
/* 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
/* { 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>
/* 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"
/* { 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
/* { 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"
/* { 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"
/* 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"
/* 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"
/* { 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
/* { dg-do compile } */
/* { dg-require-ifunc "" } */
/* { dg-options "-mavx" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } } */
#include <immintrin.h>
/* { 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;
/* 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()
/* { 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
// 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>
/* { 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>
/* { 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
/* { 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>
/* { 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
// { 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>
// { 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>
// { 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>
// { 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>
// PR target/94046
// { dg-do compile }
// { dg-options "-O2 -mavx2 -mxop" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } }
#include <x86intrin.h>
// 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"
/* { 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>
/* 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"
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 {