https://gcc.gnu.org/g:07051d45ce803cf70272fcbfce71828598c1d7c8

commit 07051d45ce803cf70272fcbfce71828598c1d7c8
Author: Alexandre Oliva <ol...@gnu.org>
Date:   Sat Aug 31 14:54:41 2024 -0300

    more hostedlib notes

Diff:
---
 gcc/testsuite/c-c++-common/goacc/kernels-counter-vars-function-scope.c  | 1 +
 gcc/testsuite/c-c++-common/goacc/kernels-loop-2.c                       | 1 +
 gcc/testsuite/c-c++-common/goacc/kernels-loop-3.c                       | 1 +
 gcc/testsuite/c-c++-common/goacc/kernels-loop-data-2.c                  | 1 +
 gcc/testsuite/c-c++-common/goacc/kernels-loop-data-enter-exit-2.c       | 1 +
 gcc/testsuite/c-c++-common/goacc/kernels-loop-data-enter-exit.c         | 1 +
 gcc/testsuite/c-c++-common/goacc/kernels-loop-data-update.c             | 1 +
 gcc/testsuite/c-c++-common/goacc/kernels-loop-data.c                    | 1 +
 gcc/testsuite/c-c++-common/goacc/kernels-loop-g.c                       | 1 +
 gcc/testsuite/c-c++-common/goacc/kernels-loop-mod-not-zero.c            | 1 +
 gcc/testsuite/c-c++-common/goacc/kernels-loop-n.c                       | 1 +
 gcc/testsuite/c-c++-common/goacc/kernels-loop.c                         | 1 +
 gcc/testsuite/c-c++-common/goacc/kernels-one-counter-var.c              | 1 +
 .../c-c++-common/goacc/kernels-parallel-loop-data-enter-exit.c          | 1 +
 gcc/testsuite/c-c++-common/gomp/pr103642.c                              | 1 +
 gcc/testsuite/c-c++-common/gomp/target-implicit-map-2.c                 | 2 ++
 gcc/testsuite/c-c++-common/simulate-thread/bitfields-4.c                | 1 +
 gcc/testsuite/c-c++-common/tm/malloc.c                                  | 1 +
 gcc/testsuite/g++.dg/abi/mangle36.C                                     | 1 +
 gcc/testsuite/g++.dg/abi/mangle40.C                                     | 1 +
 gcc/testsuite/g++.dg/abi/mangle41.C                                     | 1 +
 gcc/testsuite/g++.dg/cdce3.C                                            | 1 +
 gcc/testsuite/g++.dg/contracts/contracts-post7.C                        | 1 +
 gcc/testsuite/g++.dg/contracts/pr110159.C                               | 1 +
 gcc/testsuite/g++.dg/contracts/pr115434.C                               | 1 +
 .../g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C         | 2 ++
 .../g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C         | 2 ++
 gcc/testsuite/g++.dg/coroutines/pr110635.C                              | 1 +
 gcc/testsuite/g++.dg/coroutines/pr110871.C                              | 2 ++
 gcc/testsuite/g++.dg/coroutines/pr110872.C                              | 1 +
 gcc/testsuite/g++.dg/coroutines/symmetric-transfer-00-basic.C           | 1 +
 gcc/testsuite/g++.dg/coroutines/torture/co-yield-03-tmpl-nondependent.C | 1 +
 gcc/testsuite/g++.dg/cpp/pr80005.C                                      | 1 +
 gcc/testsuite/g++.dg/cpp0x/lambda/lambda-std-function.C                 | 1 +
 gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this8.C                        | 1 +
 gcc/testsuite/g++.dg/cpp0x/pr70887.C                                    | 1 +
 gcc/testsuite/g++.dg/cpp0x/udlit-extended-id-1.C                        | 2 ++
 gcc/testsuite/g++.dg/cpp1y/feat-cxx14.C                                 | 1 +
 gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic2.C                   | 1 +
 gcc/testsuite/g++.dg/cpp1z/constexpr-asm-1.C                            | 1 +
 gcc/testsuite/g++.dg/cpp1z/constexpr-asm-3.C                            | 1 +
 gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C                                 | 1 +
 gcc/testsuite/g++.dg/cpp23/ext-floating12.C                             | 1 +
 gcc/testsuite/g++.dg/cpp23/feat-cxx2b.C                                 | 1 +
 gcc/testsuite/g++.dg/cpp26/constexpr-new2.C                             | 1 +
 gcc/testsuite/g++.dg/cpp26/constexpr-voidptr1.C                         | 1 +
 gcc/testsuite/g++.dg/cpp26/feat-cxx26.C                                 | 1 +
 gcc/testsuite/g++.dg/cpp2a/destroying-delete5.C                         | 1 +
 gcc/testsuite/g++.dg/cpp2a/feat-cxx2a.C                                 | 1 +
 gcc/testsuite/g++.dg/diagnostic/missing-header-pr110164.C               | 1 +
 gcc/testsuite/g++.dg/expr/anew1.C                                       | 2 ++
 gcc/testsuite/g++.dg/expr/anew2.C                                       | 2 ++
 gcc/testsuite/g++.dg/expr/anew3.C                                       | 2 ++
 gcc/testsuite/g++.dg/expr/anew4.C                                       | 2 ++
 gcc/testsuite/g++.dg/ext/builtin10.C                                    | 1 +
 gcc/testsuite/g++.dg/ext/cleanup-10.C                                   | 1 +
 gcc/testsuite/g++.dg/ext/cleanup-11.C                                   | 1 +
 gcc/testsuite/g++.dg/ext/cleanup-5.C                                    | 1 +
 gcc/testsuite/g++.dg/ext/cleanup-8.C                                    | 1 +
 gcc/testsuite/g++.dg/ext/cleanup-9.C                                    | 1 +
 gcc/testsuite/g++.dg/ext/is_invocable2.C                                | 1 +
 gcc/testsuite/g++.dg/goacc/pr107028-2.C                                 | 1 +
 gcc/testsuite/g++.dg/gomp/has_device_addr-non-lvalue-1.C                | 1 +
 gcc/testsuite/g++.dg/gomp/ind-base-3.C                                  | 2 ++
 gcc/testsuite/g++.dg/gomp/map-assignment-1.C                            | 2 ++
 gcc/testsuite/g++.dg/gomp/map-lvalue-ref-1.C                            | 2 ++
 gcc/testsuite/g++.dg/gomp/map-ptrmem-1.C                                | 2 ++
 gcc/testsuite/g++.dg/gomp/map-ptrmem-2.C                                | 2 ++
 gcc/testsuite/g++.dg/gomp/map-static-cast-lvalue-1.C                    | 2 ++
 gcc/testsuite/g++.dg/gomp/map-ternary-1.C                               | 2 ++
 gcc/testsuite/g++.dg/gomp/member-array-2.C                              | 2 ++
 gcc/testsuite/g++.dg/gomp/pr71910.C                                     | 1 +
 gcc/testsuite/g++.dg/gomp/pr91118-1.C                                   | 1 +
 gcc/testsuite/g++.dg/gomp/sink-2.C                                      | 1 +
 gcc/testsuite/g++.dg/gomp/target-lambda-2.C                             | 2 ++
 gcc/testsuite/g++.dg/gomp/target-this-3.C                               | 2 ++
 gcc/testsuite/g++.dg/gomp/target-this-4.C                               | 2 ++
 gcc/testsuite/g++.dg/gomp/tile-1.C                                      | 1 +
 gcc/testsuite/g++.dg/gomp/tile-2.C                                      | 1 +
 gcc/testsuite/g++.dg/gomp/unroll-1.C                                    | 1 +
 gcc/testsuite/g++.dg/gomp/unroll-2.C                                    | 1 +
 gcc/testsuite/g++.dg/gomp/unroll-3.C                                    | 1 +
 gcc/testsuite/g++.dg/graphite/id-1.C                                    | 2 ++
 gcc/testsuite/g++.dg/graphite/pr42130.C                                 | 2 ++
 gcc/testsuite/g++.dg/init/new11.C                                       | 1 +
 gcc/testsuite/g++.dg/init/value3.C                                      | 1 +
 gcc/testsuite/g++.dg/lto/pr66180_0.C                                    | 2 ++
 gcc/testsuite/g++.dg/modules/hello-2_a.C                                | 1 +
 gcc/testsuite/g++.dg/modules/hello-2_b.C                                | 1 +
 gcc/testsuite/g++.dg/modules/p1689-2.C                                  | 1 +
 gcc/testsuite/g++.dg/modules/pr99023_a.X                                | 1 +
 gcc/testsuite/g++.dg/modules/pr99166_a.X                                | 1 +
 gcc/testsuite/g++.dg/modules/pr99166_b.C                                | 2 ++
 gcc/testsuite/g++.dg/modules/pr99425-2_a.X                              | 1 +
 gcc/testsuite/g++.dg/modules/pr99425-2_b.X                              | 1 +
 gcc/testsuite/g++.dg/modules/xtreme-header-7_a.H                        | 1 +
 gcc/testsuite/g++.dg/modules/xtreme-header-7_b.C                        | 1 +
 gcc/testsuite/g++.dg/opt/builtins2.C                                    | 1 +
 gcc/testsuite/g++.dg/opt/pr103989.C                                     | 1 +
 gcc/testsuite/g++.dg/opt/pr110879.C                                     | 1 +
 gcc/testsuite/g++.dg/opt/pr65074.C                                      | 1 +
 gcc/testsuite/g++.dg/opt/pr66119.C                                      | 1 +
 gcc/testsuite/g++.dg/opt/pr80385.C                                      | 1 +
 gcc/testsuite/g++.dg/opt/pr94223.C                                      | 1 +
 gcc/testsuite/g++.dg/other/i386-1.C                                     | 1 +
 gcc/testsuite/g++.dg/other/i386-11.C                                    | 1 +
 gcc/testsuite/g++.dg/other/i386-2.C                                     | 1 +
 gcc/testsuite/g++.dg/other/i386-3.C                                     | 1 +
 gcc/testsuite/g++.dg/other/i386-4.C                                     | 1 +
 gcc/testsuite/g++.dg/other/i386-7.C                                     | 1 +
 gcc/testsuite/g++.dg/other/i386-8.C                                     | 1 +
 gcc/testsuite/g++.dg/other/mmintrin.C                                   | 1 +
 gcc/testsuite/g++.dg/other/pr34435.C                                    | 1 +
 gcc/testsuite/g++.dg/other/pr40446.C                                    | 1 +
 gcc/testsuite/g++.dg/other/pr49133.C                                    | 1 +
 gcc/testsuite/g++.dg/pch/system-1.Hs                                    | 2 ++
 gcc/testsuite/g++.dg/pch/system-2.Hs                                    | 2 ++
 gcc/testsuite/g++.dg/pr80481.C                                          | 1 +
 gcc/testsuite/g++.dg/tm/inherit2.C                                      | 1 +
 gcc/testsuite/g++.dg/tm/pr46270.C                                       | 1 +
 gcc/testsuite/g++.dg/torture/pr10148.C                                  | 1 +
 gcc/testsuite/g++.dg/torture/pr86763.C                                  | 1 +
 gcc/testsuite/g++.dg/torture/pr91334.C                                  | 1 +
 gcc/testsuite/g++.dg/torture/pr91606.C                                  | 1 +
 gcc/testsuite/g++.dg/tree-ssa/copyprop.C                                | 1 +
 gcc/testsuite/g++.dg/tree-ssa/initlist-opt5.C                           | 1 +
 gcc/testsuite/g++.dg/tree-ssa/loop-split-1.C                            | 2 ++
 gcc/testsuite/g++.dg/tree-ssa/pr102216-2.C                              | 2 ++
 gcc/testsuite/g++.dg/tree-ssa/pr109849.C                                | 1 +
 gcc/testsuite/g++.dg/tree-ssa/pr20458.C                                 | 1 +
 gcc/testsuite/g++.dg/uninit-pr105937.C                                  | 1 +
 gcc/testsuite/g++.dg/vect/pr102421.cc                                   | 1 +
 gcc/testsuite/g++.dg/vect/pr105053.cc                                   | 1 +
 gcc/testsuite/g++.dg/vect/pr33426-ivdep-4.cc                            | 1 +
 gcc/testsuite/g++.dg/vect/pr64410.cc                                    | 1 +
 gcc/testsuite/g++.dg/vect/slp-pr87105.cc                                | 1 +
 gcc/testsuite/g++.dg/vect/slp-pr98855.cc                                | 1 +
 gcc/testsuite/g++.dg/vect/vect-novector-pragma.cc                       | 1 +
 gcc/testsuite/g++.dg/warn/Wdangling-reference14.C                       | 1 +
 gcc/testsuite/g++.dg/warn/Wdangling-reference17.C                       | 1 +
 gcc/testsuite/g++.dg/warn/Wparentheses-34.C                             | 1 +
 gcc/testsuite/g++.dg/warn/Wsystem-headers1a.C                           | 1 +
 gcc/testsuite/g++.dg/warn/Wuninitialized-pr111123-1.C                   | 1 +
 gcc/testsuite/g++.dg/warn/huge-val1.C                                   | 1 +
 gcc/testsuite/g++.old-deja/g++.abi/arraynew.C                           | 1 +
 gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C                            | 2 ++
 gcc/testsuite/g++.old-deja/g++.brendan/new3.C                           | 2 ++
 gcc/testsuite/g++.old-deja/g++.eh/new1.C                                | 1 +
 gcc/testsuite/g++.old-deja/g++.eh/new2.C                                | 1 +
 gcc/testsuite/g++.old-deja/g++.jason/2371.C                             | 1 +
 gcc/testsuite/g++.old-deja/g++.jason/template44.C                       | 2 ++
 gcc/testsuite/g++.old-deja/g++.law/arm13.C                              | 2 ++
 gcc/testsuite/g++.old-deja/g++.law/scope2.C                             | 2 ++
 gcc/testsuite/g++.old-deja/g++.law/weak.C                               | 2 ++
 gcc/testsuite/g++.old-deja/g++.mike/eh47.C                              | 1 +
 gcc/testsuite/g++.old-deja/g++.mike/ns15.C                              | 1 +
 gcc/testsuite/g++.old-deja/g++.mike/p710.C                              | 2 ++
 gcc/testsuite/g++.old-deja/g++.mike/p9706.C                             | 1 +
 gcc/testsuite/g++.old-deja/g++.oliva/new1.C                             | 2 ++
 gcc/testsuite/g++.old-deja/g++.other/delete8.C                          | 2 ++
 gcc/testsuite/g++.target/i386/avx-pr54700-1.C                           | 1 +
 gcc/testsuite/g++.target/i386/avx-pr54700-2.C                           | 1 +
 gcc/testsuite/g++.target/i386/avx2-pr54700-1.C                          | 1 +
 gcc/testsuite/g++.target/i386/avx2-pr54700-2.C                          | 1 +
 gcc/testsuite/g++.target/i386/avx512bw-pr96246-2.C                      | 1 +
 gcc/testsuite/g++.target/i386/avx512vl-pr54700-1a.C                     | 1 +
 gcc/testsuite/g++.target/i386/avx512vl-pr54700-2a.C                     | 1 +
 gcc/testsuite/g++.target/i386/mvc4.C                                    | 1 +
 gcc/testsuite/g++.target/i386/pr100885.C                                | 1 +
 gcc/testsuite/g++.target/i386/pr103750-fwprop-1.C                       | 1 +
 gcc/testsuite/g++.target/i386/pr105593.C                                | 1 +
 gcc/testsuite/g++.target/i386/pr105638.C                                | 1 +
 gcc/testsuite/g++.target/i386/pr110170.C                                | 2 ++
 gcc/testsuite/g++.target/i386/pr112443.C                                | 1 +
 gcc/testsuite/g++.target/i386/pr113560.C                                | 1 +
 gcc/testsuite/g++.target/i386/pr80566-1.C                               | 1 +
 gcc/testsuite/g++.target/i386/pr80566-2.C                               | 1 +
 gcc/testsuite/g++.target/i386/pr88152.C                                 | 1 +
 gcc/testsuite/g++.target/i386/pr88998.C                                 | 1 +
 gcc/testsuite/g++.target/i386/pr94046-1.C                               | 1 +
 gcc/testsuite/g++.target/i386/pr94046-2.C                               | 1 +
 gcc/testsuite/g++.target/i386/sse4_1-pr54700-1.C                        | 1 +
 gcc/testsuite/g++.target/i386/sse4_1-pr54700-2.C                        | 1 +
 183 files changed, 221 insertions(+)

diff --git 
a/gcc/testsuite/c-c++-common/goacc/kernels-counter-vars-function-scope.c 
b/gcc/testsuite/c-c++-common/goacc/kernels-counter-vars-function-scope.c
index bce17a1011c3..6ddee621ccaa 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-counter-vars-function-scope.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-counter-vars-function-scope.c
@@ -1,6 +1,7 @@
 /* { dg-additional-options "-O2" } */
 /* { dg-additional-options "-fdump-tree-parloops1-all" } */
 /* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <stdlib.h>
 
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-2.c 
b/gcc/testsuite/c-c++-common/goacc/kernels-loop-2.c
index 456a95451fa7..9c608a50993b 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-loop-2.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-2.c
@@ -1,6 +1,7 @@
 /* { dg-additional-options "-O2" } */
 /* { dg-additional-options "-fdump-tree-parloops1-all" } */
 /* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <stdlib.h>
 
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-3.c 
b/gcc/testsuite/c-c++-common/goacc/kernels-loop-3.c
index ef0c481dea09..9852814192e1 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-loop-3.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-3.c
@@ -1,6 +1,7 @@
 /* { dg-additional-options "-O2" } */
 /* { dg-additional-options "-fdump-tree-parloops1-all" } */
 /* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <stdlib.h>
 
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-2.c 
b/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-2.c
index a64007815c19..54a6f58a7f82 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-2.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-2.c
@@ -1,6 +1,7 @@
 /* { dg-additional-options "-O2" } */
 /* { dg-additional-options "-fdump-tree-parloops1-all" } */
 /* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <stdlib.h>
 
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-enter-exit-2.c 
b/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-enter-exit-2.c
index d46bba8ec3a0..0bd59e391cb6 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-enter-exit-2.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-enter-exit-2.c
@@ -1,6 +1,7 @@
 /* { dg-additional-options "-O2" } */
 /* { dg-additional-options "-fdump-tree-parloops1-all" } */
 /* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <stdlib.h>
 
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-enter-exit.c 
b/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-enter-exit.c
index 6698980a86f3..2ed12707a5a9 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-enter-exit.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-enter-exit.c
@@ -1,6 +1,7 @@
 /* { dg-additional-options "-O2" } */
 /* { dg-additional-options "-fdump-tree-parloops1-all" } */
 /* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <stdlib.h>
 
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-update.c 
b/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-update.c
index 9c6997f86b0a..a10b7d9aaa5a 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-update.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-data-update.c
@@ -1,6 +1,7 @@
 /* { dg-additional-options "-O2" } */
 /* { dg-additional-options "-fdump-tree-parloops1-all" } */
 /* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <stdlib.h>
 
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-data.c 
b/gcc/testsuite/c-c++-common/goacc/kernels-loop-data.c
index 0ef576521b09..140b672341dc 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-loop-data.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-data.c
@@ -1,6 +1,7 @@
 /* { dg-additional-options "-O2" } */
 /* { dg-additional-options "-fdump-tree-parloops1-all" } */
 /* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <stdlib.h>
 
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-g.c 
b/gcc/testsuite/c-c++-common/goacc/kernels-loop-g.c
index cf9f1ee6b28a..1e3708865dbd 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-loop-g.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-g.c
@@ -5,6 +5,7 @@
 /*TODO PR100400 { dg-additional-options -fcompare-debug } */
 /* { dg-additional-options "-fdump-tree-parloops1-all" } */
 /* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include "kernels-loop.c"
 
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-mod-not-zero.c 
b/gcc/testsuite/c-c++-common/goacc/kernels-loop-mod-not-zero.c
index eea9a735e8b5..9b7c79ef4ca4 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-loop-mod-not-zero.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-mod-not-zero.c
@@ -1,6 +1,7 @@
 /* { dg-additional-options "-O2" } */
 /* { dg-additional-options "-fdump-tree-parloops1-all" } */
 /* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <stdlib.h>
 
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop-n.c 
b/gcc/testsuite/c-c++-common/goacc/kernels-loop-n.c
index a63ed8ab1fd8..5cbf33fabb3b 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-loop-n.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop-n.c
@@ -1,6 +1,7 @@
 /* { dg-additional-options "-O2" } */
 /* { dg-additional-options "-fdump-tree-parloops1-all" } */
 /* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <stdlib.h>
 
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-loop.c 
b/gcc/testsuite/c-c++-common/goacc/kernels-loop.c
index 2602081f2c66..5f88bcc37c6c 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-loop.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-loop.c
@@ -1,6 +1,7 @@
 /* { dg-additional-options "-O2" } */
 /* { dg-additional-options "-fdump-tree-parloops1-all" } */
 /* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <stdlib.h>
 
diff --git a/gcc/testsuite/c-c++-common/goacc/kernels-one-counter-var.c 
b/gcc/testsuite/c-c++-common/goacc/kernels-one-counter-var.c
index 0d9c875f3d93..99d7640f9103 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-one-counter-var.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-one-counter-var.c
@@ -1,6 +1,7 @@
 /* { dg-additional-options "-O2" } */
 /* { dg-additional-options "-fdump-tree-parloops1-all" } */
 /* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <stdlib.h>
 
diff --git 
a/gcc/testsuite/c-c++-common/goacc/kernels-parallel-loop-data-enter-exit.c 
b/gcc/testsuite/c-c++-common/goacc/kernels-parallel-loop-data-enter-exit.c
index 1dcd32fb8dc1..c9974919787b 100644
--- a/gcc/testsuite/c-c++-common/goacc/kernels-parallel-loop-data-enter-exit.c
+++ b/gcc/testsuite/c-c++-common/goacc/kernels-parallel-loop-data-enter-exit.c
@@ -1,6 +1,7 @@
 /* { dg-additional-options "-O2" } */
 /* { dg-additional-options "-fdump-tree-parloops1-all" } */
 /* { dg-additional-options "-fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <stdlib.h>
 
diff --git a/gcc/testsuite/c-c++-common/gomp/pr103642.c 
b/gcc/testsuite/c-c++-common/gomp/pr103642.c
index bbd0896841f6..7f05ded06ed1 100644
--- a/gcc/testsuite/c-c++-common/gomp/pr103642.c
+++ b/gcc/testsuite/c-c++-common/gomp/pr103642.c
@@ -1,5 +1,6 @@
 /* PR middle-end/103642 */
 /* { dg-do compile } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <stdlib.h>
 
diff --git a/gcc/testsuite/c-c++-common/gomp/target-implicit-map-2.c 
b/gcc/testsuite/c-c++-common/gomp/target-implicit-map-2.c
index 222272df5b1e..3c65e20d6e63 100644
--- a/gcc/testsuite/c-c++-common/gomp/target-implicit-map-2.c
+++ b/gcc/testsuite/c-c++-common/gomp/target-implicit-map-2.c
@@ -1,5 +1,7 @@
 /* { dg-do compile } */
 /* { dg-additional-options "-fdump-tree-gimple" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
+
 #include <stdlib.h>
 
 #define N 10
diff --git a/gcc/testsuite/c-c++-common/simulate-thread/bitfields-4.c 
b/gcc/testsuite/c-c++-common/simulate-thread/bitfields-4.c
index 84aad5e9e216..6ee91aa3bc47 100644
--- a/gcc/testsuite/c-c++-common/simulate-thread/bitfields-4.c
+++ b/gcc/testsuite/c-c++-common/simulate-thread/bitfields-4.c
@@ -1,6 +1,7 @@
 /* { dg-do link } */
 /* { dg-options "-fno-allow-store-data-races" } */
 /* { dg-final { simulate-thread } } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib calloc" { ! hostedlib } 
} */
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/gcc/testsuite/c-c++-common/tm/malloc.c 
b/gcc/testsuite/c-c++-common/tm/malloc.c
index 4312765f750d..801d8fed4e1a 100644
--- a/gcc/testsuite/c-c++-common/tm/malloc.c
+++ b/gcc/testsuite/c-c++-common/tm/malloc.c
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-fgnu-tm -fdump-tree-tmmark" } */
+// { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } }
 
 #include <stdlib.h>
 
diff --git a/gcc/testsuite/g++.dg/abi/mangle36.C 
b/gcc/testsuite/g++.dg/abi/mangle36.C
index 1acfc879b96a..d0f2b37dfb04 100644
--- a/gcc/testsuite/g++.dg/abi/mangle36.C
+++ b/gcc/testsuite/g++.dg/abi/mangle36.C
@@ -1,6 +1,7 @@
 // PR c++/41959
 // { dg-do compile { target i?86-*-* x86_64-*-* } }
 // { dg-options "-mavx -fabi-version=4 -fabi-compat-version=4" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
}
 // { dg-final { scan-assembler "_Z1fDv4_f" } }
 // { dg-final { scan-assembler "_Z1fDv8_f" } }
 
diff --git a/gcc/testsuite/g++.dg/abi/mangle40.C 
b/gcc/testsuite/g++.dg/abi/mangle40.C
index 898565ac5720..98a1ff08a4ea 100644
--- a/gcc/testsuite/g++.dg/abi/mangle40.C
+++ b/gcc/testsuite/g++.dg/abi/mangle40.C
@@ -3,6 +3,7 @@
 // { dg-require-weak "" }
 // { dg-require-alias "" }
 // { dg-options "-mavx -Wabi -fabi-version=2 -fabi-compat-version=0" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
}
 // { dg-final { scan-assembler "(weak|glob)\[^\n\]*_Z1fIDv4_fEvT_" } }
 // { dg-final { scan-assembler "(weak|glob)\[^\n\]*_Z1fIU8__vectorfEvT_" } }
 // { dg-final { scan-assembler "(weak|glob)\[^\n\]*_ZN1AIDv4_fE1tE" } }
diff --git a/gcc/testsuite/g++.dg/abi/mangle41.C 
b/gcc/testsuite/g++.dg/abi/mangle41.C
index 9da72f11feb6..d11f4541f99c 100644
--- a/gcc/testsuite/g++.dg/abi/mangle41.C
+++ b/gcc/testsuite/g++.dg/abi/mangle41.C
@@ -1,6 +1,7 @@
 // PR c++/41959
 // { dg-do compile { target i?86-*-* x86_64-*-* } }
 // { dg-options "-mavx -fabi-version=2" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
}
 
 #include <x86intrin.h>
 void f(__m128) { }     // { dg-message "previous mangling" }
diff --git a/gcc/testsuite/g++.dg/cdce3.C b/gcc/testsuite/g++.dg/cdce3.C
index 4b547b5d994e..6999392f0fce 100644
--- a/gcc/testsuite/g++.dg/cdce3.C
+++ b/gcc/testsuite/g++.dg/cdce3.C
@@ -4,6 +4,7 @@
 /* { dg-additional-options "-DLARGE_LONG_DOUBLE" { target large_long_double } 
} */
 /* { dg-additional-options "-DGNU_EXTENSION" { target pow10 } } */
 /* { dg-add-options ieee } */
+/* { dg-skip-if "requires hosted libstdc++ for cmath" { ! hostedlib } } */
 /* { dg-final { scan-tree-dump  "cdce3.C:91: .* function call is 
shrink-wrapped into error conditions\." "cdce" { target pow10 } } } */
 /* { 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" } } */
diff --git a/gcc/testsuite/g++.dg/contracts/contracts-post7.C 
b/gcc/testsuite/g++.dg/contracts/contracts-post7.C
index 1c33181b5e60..5830c5ead105 100644
--- a/gcc/testsuite/g++.dg/contracts/contracts-post7.C
+++ b/gcc/testsuite/g++.dg/contracts/contracts-post7.C
@@ -1,5 +1,6 @@
 // { dg-do run }
 // { dg-options "-std=c++2a -fcontracts" }
+/* { dg-skip-if "requires hosted libstdc++ for cwchar" { ! hostedlib } } */
 
 #include <experimental/contract>
 
diff --git a/gcc/testsuite/g++.dg/contracts/pr110159.C 
b/gcc/testsuite/g++.dg/contracts/pr110159.C
index 614b466b1a39..3cf5967cfd6f 100644
--- a/gcc/testsuite/g++.dg/contracts/pr110159.C
+++ b/gcc/testsuite/g++.dg/contracts/pr110159.C
@@ -1,6 +1,7 @@
 // check that contracts can be handled even when exceptions are disabled
 // { dg-do run }
 // { dg-options "-std=c++2a -fcontracts -fno-exceptions " }
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
 // { dg-output "contract violation in function f at .* a<5" }
 
 #include <exception>
diff --git a/gcc/testsuite/g++.dg/contracts/pr115434.C 
b/gcc/testsuite/g++.dg/contracts/pr115434.C
index e9c847f8969d..1e3327a00972 100644
--- a/gcc/testsuite/g++.dg/contracts/pr115434.C
+++ b/gcc/testsuite/g++.dg/contracts/pr115434.C
@@ -2,6 +2,7 @@
 
 // { dg-do run }
 // { dg-options "-std=c++20 -fcontracts -fcontract-continuation-mode=on" }
+// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } }
 
 
 void foo (const int b)
diff --git 
a/gcc/testsuite/g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C 
b/gcc/testsuite/g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C
index 605a2135878b..639d859a9620 100644
--- a/gcc/testsuite/g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C
+++ b/gcc/testsuite/g++.dg/coroutines/coro-bad-gro-00-class-gro-scalar-return.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
+
 // Test handling of the case where we have a class g-r-o and a non-void
 // and non-class-type ramp return.
 
diff --git 
a/gcc/testsuite/g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C 
b/gcc/testsuite/g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C
index a7e3f3d1ac7d..680e7c35c1e6 100644
--- a/gcc/testsuite/g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C
+++ b/gcc/testsuite/g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
+
 // Test handling of the case where we have a void g-r-o and a non-void
 // and non-class-type ramp return.
 
diff --git a/gcc/testsuite/g++.dg/coroutines/pr110635.C 
b/gcc/testsuite/g++.dg/coroutines/pr110635.C
index ea4e0e853eb5..7b577ba71865 100644
--- a/gcc/testsuite/g++.dg/coroutines/pr110635.C
+++ b/gcc/testsuite/g++.dg/coroutines/pr110635.C
@@ -1,3 +1,4 @@
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
 
 #define CASE 0
 #include <coroutine>
diff --git a/gcc/testsuite/g++.dg/coroutines/pr110871.C 
b/gcc/testsuite/g++.dg/coroutines/pr110871.C
index 8a667c856ae8..7ea07ccdf479 100644
--- a/gcc/testsuite/g++.dg/coroutines/pr110871.C
+++ b/gcc/testsuite/g++.dg/coroutines/pr110871.C
@@ -1,5 +1,7 @@
 // { dg-additional-options "-fcontracts -fcontract-continuation-mode=on" }
 // { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
+
 #include <iostream>
 #include <coroutine>
 
diff --git a/gcc/testsuite/g++.dg/coroutines/pr110872.C 
b/gcc/testsuite/g++.dg/coroutines/pr110872.C
index a809986f2962..fbc2d84ddee4 100644
--- a/gcc/testsuite/g++.dg/coroutines/pr110872.C
+++ b/gcc/testsuite/g++.dg/coroutines/pr110872.C
@@ -1,5 +1,6 @@
 // { dg-additional-options "-fcontracts -fcontract-continuation-mode=on" }
 // { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
 
 #include <iostream>
 #include <coroutine>
diff --git a/gcc/testsuite/g++.dg/coroutines/symmetric-transfer-00-basic.C 
b/gcc/testsuite/g++.dg/coroutines/symmetric-transfer-00-basic.C
index a95940851356..5f663fb6a2c7 100644
--- a/gcc/testsuite/g++.dg/coroutines/symmetric-transfer-00-basic.C
+++ b/gcc/testsuite/g++.dg/coroutines/symmetric-transfer-00-basic.C
@@ -4,6 +4,7 @@
 
 // { dg-do run { target { i?86-*-linux-gnu x86_64-*-linux-gnu *-*-darwin* } } }
 // { dg-additional-options "-O2" }
+// { dg-skip-if "requires hosted libstdc++ for chrono" { ! hostedlib } }
 
 #if __has_include(<coroutine>)
 
diff --git 
a/gcc/testsuite/g++.dg/coroutines/torture/co-yield-03-tmpl-nondependent.C 
b/gcc/testsuite/g++.dg/coroutines/torture/co-yield-03-tmpl-nondependent.C
index 8e91d9557d2f..399c0116a127 100644
--- a/gcc/testsuite/g++.dg/coroutines/torture/co-yield-03-tmpl-nondependent.C
+++ b/gcc/testsuite/g++.dg/coroutines/torture/co-yield-03-tmpl-nondependent.C
@@ -1,4 +1,5 @@
 //  { dg-do run }
+//  { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } 
}
 
 // Test co_yield in templated code where the promise type is not dependent.
 
diff --git a/gcc/testsuite/g++.dg/cpp/pr80005.C 
b/gcc/testsuite/g++.dg/cpp/pr80005.C
index cc752616782f..1c4b01ecae80 100644
--- a/gcc/testsuite/g++.dg/cpp/pr80005.C
+++ b/gcc/testsuite/g++.dg/cpp/pr80005.C
@@ -1,5 +1,6 @@
 // PR preprocessor/80005
 // { dg-do preprocess }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
 
 #undef vector
 #define vector NOPE
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-std-function.C 
b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-std-function.C
index a410384a451f..78a1284da5e6 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-std-function.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-std-function.C
@@ -1,5 +1,6 @@
 // Test using std::function wrapper.
 // { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for functional function" { ! 
hostedlib } }
 
 #include <functional>
 
diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this8.C 
b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this8.C
index e62cd08a614e..f4cfcb527046 100644
--- a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this8.C
+++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-this8.C
@@ -1,5 +1,6 @@
 // PR c++/56135
 // { dg-do run { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for functional function" { ! 
hostedlib } }
 
 #include <functional>
 
diff --git a/gcc/testsuite/g++.dg/cpp0x/pr70887.C 
b/gcc/testsuite/g++.dg/cpp0x/pr70887.C
index f5b31b229003..38b0fb2f9b2e 100644
--- a/gcc/testsuite/g++.dg/cpp0x/pr70887.C
+++ b/gcc/testsuite/g++.dg/cpp0x/pr70887.C
@@ -1,6 +1,7 @@
 // PR middle-end/70887
 // { dg-do compile { target { { i?86-*-* x86_64-*-* } && c++11 } } }
 // { dg-options "-O2 -msse2" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
}
 
 #include <x86intrin.h>
 
diff --git a/gcc/testsuite/g++.dg/cpp0x/udlit-extended-id-1.C 
b/gcc/testsuite/g++.dg/cpp0x/udlit-extended-id-1.C
index 94c0cd430aa1..e9373e563d95 100644
--- a/gcc/testsuite/g++.dg/cpp0x/udlit-extended-id-1.C
+++ b/gcc/testsuite/g++.dg/cpp0x/udlit-extended-id-1.C
@@ -1,6 +1,8 @@
 // { dg-do run { target c++11 } }
 // { dg-additional-options "-Wno-error=normalized" }
 // { dg-require-effective-target ucn }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
+
 #include <cstring>
 #include <cstddef>
 using namespace std;
diff --git a/gcc/testsuite/g++.dg/cpp1y/feat-cxx14.C 
b/gcc/testsuite/g++.dg/cpp1y/feat-cxx14.C
index a78b6a36f36e..cd58309c322f 100644
--- a/gcc/testsuite/g++.dg/cpp1y/feat-cxx14.C
+++ b/gcc/testsuite/g++.dg/cpp1y/feat-cxx14.C
@@ -1,4 +1,5 @@
 // { dg-options "-std=c++14 -I${srcdir}/g++.dg/cpp1y 
-I${srcdir}/g++.dg/cpp1y/testinc" }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
 
 //  C++98 features:
 
diff --git a/gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic2.C 
b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic2.C
index c70cc8d7747c..b7ff75541086 100644
--- a/gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic2.C
+++ b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-variadic2.C
@@ -1,6 +1,7 @@
 // PR c++/64105
 // This test was ICEing in C++11 mode.
 // { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for functional function" { ! 
hostedlib } }
 
 #include <functional>
 
diff --git a/gcc/testsuite/g++.dg/cpp1z/constexpr-asm-1.C 
b/gcc/testsuite/g++.dg/cpp1z/constexpr-asm-1.C
index 311209acb43b..204836019b5c 100644
--- a/gcc/testsuite/g++.dg/cpp1z/constexpr-asm-1.C
+++ b/gcc/testsuite/g++.dg/cpp1z/constexpr-asm-1.C
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-std=gnu++17" } */
+/* { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } } */
 
 #include <string>
 
diff --git a/gcc/testsuite/g++.dg/cpp1z/constexpr-asm-3.C 
b/gcc/testsuite/g++.dg/cpp1z/constexpr-asm-3.C
index 0cf8940e109c..6950374643c0 100644
--- a/gcc/testsuite/g++.dg/cpp1z/constexpr-asm-3.C
+++ b/gcc/testsuite/g++.dg/cpp1z/constexpr-asm-3.C
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-std=gnu++17" } */
+/* { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } } */
 
 #include <string>
 
diff --git a/gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C 
b/gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C
index e6f456b24154..bb16425982e9 100644
--- a/gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C
+++ b/gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C
@@ -1,5 +1,6 @@
 // { dg-do compile }
 // { dg-options "-std=c++17 -I${srcdir}/g++.dg/cpp1y 
-I${srcdir}/g++.dg/cpp1y/testinc" }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
 
 //  C++98 features:
 
diff --git a/gcc/testsuite/g++.dg/cpp23/ext-floating12.C 
b/gcc/testsuite/g++.dg/cpp23/ext-floating12.C
index a09c3fc10c4e..c1edcd593ef7 100644
--- a/gcc/testsuite/g++.dg/cpp23/ext-floating12.C
+++ b/gcc/testsuite/g++.dg/cpp23/ext-floating12.C
@@ -3,6 +3,7 @@
 // { dg-options "" }
 // { dg-add-options float16 }
 // { dg-add-options bfloat16 }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
 
 #include <complex>
 #include <stdfloat>
diff --git a/gcc/testsuite/g++.dg/cpp23/feat-cxx2b.C 
b/gcc/testsuite/g++.dg/cpp23/feat-cxx2b.C
index d81aab756382..a1ddc81cefde 100644
--- a/gcc/testsuite/g++.dg/cpp23/feat-cxx2b.C
+++ b/gcc/testsuite/g++.dg/cpp23/feat-cxx2b.C
@@ -1,4 +1,5 @@
 // { dg-options "-std=c++2b -I${srcdir}/g++.dg/cpp1y 
-I${srcdir}/g++.dg/cpp1y/testinc" }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
 
 //  C++98 features:
 
diff --git a/gcc/testsuite/g++.dg/cpp26/constexpr-new2.C 
b/gcc/testsuite/g++.dg/cpp26/constexpr-new2.C
index e33318542537..02200ecb3633 100644
--- a/gcc/testsuite/g++.dg/cpp26/constexpr-new2.C
+++ b/gcc/testsuite/g++.dg/cpp26/constexpr-new2.C
@@ -1,5 +1,6 @@
 // C++26 P2747R2 - constexpr placement new
 // { dg-do compile { target c++26 } }
+// { dg-skip-if "requires hosted libstdc++ for memory allocator" { ! hostedlib 
} }
 
 #include <memory>
 #include <new>
diff --git a/gcc/testsuite/g++.dg/cpp26/constexpr-voidptr1.C 
b/gcc/testsuite/g++.dg/cpp26/constexpr-voidptr1.C
index ce0ccbef5f9a..c9e645515ab1 100644
--- a/gcc/testsuite/g++.dg/cpp26/constexpr-voidptr1.C
+++ b/gcc/testsuite/g++.dg/cpp26/constexpr-voidptr1.C
@@ -1,5 +1,6 @@
 // PR c++/110344
 // { dg-do compile { target c++26 } }
+// { dg-skip-if "requires hosted libstdc++ for cwchar" { ! hostedlib } }
 
 #include <string_view>
 struct Sheep {
diff --git a/gcc/testsuite/g++.dg/cpp26/feat-cxx26.C 
b/gcc/testsuite/g++.dg/cpp26/feat-cxx26.C
index 82be39c996f2..52c89e498fb0 100644
--- a/gcc/testsuite/g++.dg/cpp26/feat-cxx26.C
+++ b/gcc/testsuite/g++.dg/cpp26/feat-cxx26.C
@@ -1,4 +1,5 @@
 // { dg-options "-std=c++26 -I${srcdir}/g++.dg/cpp1y 
-I${srcdir}/g++.dg/cpp1y/testinc" }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
 
 //  C++98 features:
 
diff --git a/gcc/testsuite/g++.dg/cpp2a/destroying-delete5.C 
b/gcc/testsuite/g++.dg/cpp2a/destroying-delete5.C
index 6113d7f3d9e7..d298d1a124c8 100644
--- a/gcc/testsuite/g++.dg/cpp2a/destroying-delete5.C
+++ b/gcc/testsuite/g++.dg/cpp2a/destroying-delete5.C
@@ -1,6 +1,7 @@
 // PR c++/91859
 // { dg-do run { target c++20 } }
 // { dg-additional-options -O2 }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
}
 
 #include <cstdlib>
 #include <new>
diff --git a/gcc/testsuite/g++.dg/cpp2a/feat-cxx2a.C 
b/gcc/testsuite/g++.dg/cpp2a/feat-cxx2a.C
index fc268d44e1a9..3c43e9dae465 100644
--- a/gcc/testsuite/g++.dg/cpp2a/feat-cxx2a.C
+++ b/gcc/testsuite/g++.dg/cpp2a/feat-cxx2a.C
@@ -1,4 +1,5 @@
 // { dg-options "-std=c++2a -I${srcdir}/g++.dg/cpp1y 
-I${srcdir}/g++.dg/cpp1y/testinc" }
+// { dg-skip-if "requires hosted libstdc++ for complex" { ! hostedlib } }
 
 //  C++98 features:
 
diff --git a/gcc/testsuite/g++.dg/diagnostic/missing-header-pr110164.C 
b/gcc/testsuite/g++.dg/diagnostic/missing-header-pr110164.C
index 15980071c383..737bbb503b6f 100644
--- a/gcc/testsuite/g++.dg/diagnostic/missing-header-pr110164.C
+++ b/gcc/testsuite/g++.dg/diagnostic/missing-header-pr110164.C
@@ -1,4 +1,5 @@
 // { dg-require-effective-target c++11 }
+// { dg-skip-if "requires hosted libstdc++ for map" { ! hostedlib } }
 
 #include <map>
 
diff --git a/gcc/testsuite/g++.dg/expr/anew1.C 
b/gcc/testsuite/g++.dg/expr/anew1.C
index d7a4288802a1..d51293658230 100644
--- a/gcc/testsuite/g++.dg/expr/anew1.C
+++ b/gcc/testsuite/g++.dg/expr/anew1.C
@@ -1,4 +1,6 @@
 // { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } }
+
 // PR 11228: array operator new, with zero-initialization and a variable sized 
array.
 // Regression test for PR 
 // Author: Matt Austern <aust...@apple.com>
diff --git a/gcc/testsuite/g++.dg/expr/anew2.C 
b/gcc/testsuite/g++.dg/expr/anew2.C
index fbf2152d4acc..36c9a2bbb713 100644
--- a/gcc/testsuite/g++.dg/expr/anew2.C
+++ b/gcc/testsuite/g++.dg/expr/anew2.C
@@ -1,4 +1,6 @@
 // { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } }
+
 // PR 11228: array operator new, with zero-initialization and a variable sized 
array.
 // Regression test for PR 
 // Author: Matt Austern <aust...@apple.com>
diff --git a/gcc/testsuite/g++.dg/expr/anew3.C 
b/gcc/testsuite/g++.dg/expr/anew3.C
index 9bb64ea4ea70..1ab639a5dc75 100644
--- a/gcc/testsuite/g++.dg/expr/anew3.C
+++ b/gcc/testsuite/g++.dg/expr/anew3.C
@@ -1,4 +1,6 @@
 // { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } }
+
 // PR 11228: array operator new, with zero-initialization and a variable sized 
array.
 // Regression test for PR 
 // Author: Matt Austern <aust...@apple.com>
diff --git a/gcc/testsuite/g++.dg/expr/anew4.C 
b/gcc/testsuite/g++.dg/expr/anew4.C
index 4ce1d8899f96..9b55d45f0a63 100644
--- a/gcc/testsuite/g++.dg/expr/anew4.C
+++ b/gcc/testsuite/g++.dg/expr/anew4.C
@@ -1,4 +1,6 @@
 // { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } }
+
 // PR 11228: array operator new, with zero-initialization and a variable sized 
array.
 // Regression test for PR 
 // Author: Matt Austern <aust...@apple.com>
diff --git a/gcc/testsuite/g++.dg/ext/builtin10.C 
b/gcc/testsuite/g++.dg/ext/builtin10.C
index 64e8995f3bfe..de3df967cc11 100644
--- a/gcc/testsuite/g++.dg/ext/builtin10.C
+++ b/gcc/testsuite/g++.dg/ext/builtin10.C
@@ -1,5 +1,6 @@
 // { dg-do compile { target correct_iso_cpp_string_wchar_protos } }
 // { dg-options "-O2 -fdump-tree-optimized" }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
 
 #include <cstring>
 
diff --git a/gcc/testsuite/g++.dg/ext/cleanup-10.C 
b/gcc/testsuite/g++.dg/ext/cleanup-10.C
index 56aeb66b8507..0d535e451a7e 100644
--- a/gcc/testsuite/g++.dg/ext/cleanup-10.C
+++ b/gcc/testsuite/g++.dg/ext/cleanup-10.C
@@ -1,5 +1,6 @@
 /* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* 
*-*-darwin[912]* *-*-uclinux* } } */
 /* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } 
} */
 /* Verify that cleanups work with exception handling through signal frames
    on alternate stack.  */
 
diff --git a/gcc/testsuite/g++.dg/ext/cleanup-11.C 
b/gcc/testsuite/g++.dg/ext/cleanup-11.C
index c6d35607d1a3..b9e7426d44bf 100644
--- a/gcc/testsuite/g++.dg/ext/cleanup-11.C
+++ b/gcc/testsuite/g++.dg/ext/cleanup-11.C
@@ -1,5 +1,6 @@
 /* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* 
*-*-darwin[912]* *-*-uclinux* } } */
 /* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } 
} */
 /* Verify that cleanups work with exception handling through realtime signal
    frames on alternate stack.  */
 
diff --git a/gcc/testsuite/g++.dg/ext/cleanup-5.C 
b/gcc/testsuite/g++.dg/ext/cleanup-5.C
index 167f01a7cc54..ee7b4a0d2481 100644
--- a/gcc/testsuite/g++.dg/ext/cleanup-5.C
+++ b/gcc/testsuite/g++.dg/ext/cleanup-5.C
@@ -2,6 +2,7 @@
 /* { dg-do run } */
 /* { dg-options "-fexceptions" } */
 /* { dg-skip-if "" { "ia64-*-hpux11.*" } } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } 
} */
 /* Verify that cleanups work with exception handling.  */
 
 #include <unwind.h>
diff --git a/gcc/testsuite/g++.dg/ext/cleanup-8.C 
b/gcc/testsuite/g++.dg/ext/cleanup-8.C
index e99508dfdbfa..13d55f174d51 100644
--- a/gcc/testsuite/g++.dg/ext/cleanup-8.C
+++ b/gcc/testsuite/g++.dg/ext/cleanup-8.C
@@ -1,5 +1,6 @@
 /* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* 
*-*-darwin[912]* *-*-uclinux* } } */
 /* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } 
} */
 /* Verify that cleanups work with exception handling through signal
    frames.  */
 
diff --git a/gcc/testsuite/g++.dg/ext/cleanup-9.C 
b/gcc/testsuite/g++.dg/ext/cleanup-9.C
index 45e5f90bceef..282df75c1a83 100644
--- a/gcc/testsuite/g++.dg/ext/cleanup-9.C
+++ b/gcc/testsuite/g++.dg/ext/cleanup-9.C
@@ -1,5 +1,6 @@
 /* { dg-do run { target hppa*-*-hpux* *-*-linux* *-*-gnu* powerpc*-*-darwin* 
*-*-darwin[912]* *-*-uclinux* } } */
 /* { dg-options "-fexceptions -fnon-call-exceptions -O2" } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } 
} */
 /* Verify that cleanups work with exception handling through realtime
    signal frames.  */
 
diff --git a/gcc/testsuite/g++.dg/ext/is_invocable2.C 
b/gcc/testsuite/g++.dg/ext/is_invocable2.C
index a68aefd3e13b..3df31656fcba 100644
--- a/gcc/testsuite/g++.dg/ext/is_invocable2.C
+++ b/gcc/testsuite/g++.dg/ext/is_invocable2.C
@@ -1,4 +1,5 @@
 // { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for functional function" { ! 
hostedlib } }
 // __is_invocable should handle std::reference_wrapper correctly.
 
 #include <functional>
diff --git a/gcc/testsuite/g++.dg/goacc/pr107028-2.C 
b/gcc/testsuite/g++.dg/goacc/pr107028-2.C
index cf741bd78c7a..7bef75090a8f 100644
--- a/gcc/testsuite/g++.dg/goacc/pr107028-2.C
+++ b/gcc/testsuite/g++.dg/goacc/pr107028-2.C
@@ -1,5 +1,6 @@
 // { dg-do compile }
 // { dg-additional-options "-fdump-tree-gimple" }
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <cstdlib>
 
diff --git a/gcc/testsuite/g++.dg/gomp/has_device_addr-non-lvalue-1.C 
b/gcc/testsuite/g++.dg/gomp/has_device_addr-non-lvalue-1.C
index 3d778538d3ab..295b1b7cc84e 100644
--- a/gcc/testsuite/g++.dg/gomp/has_device_addr-non-lvalue-1.C
+++ b/gcc/testsuite/g++.dg/gomp/has_device_addr-non-lvalue-1.C
@@ -1,4 +1,5 @@
 // { dg-do compile }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
 
 #include <cstdio>
 #include <cstring>
diff --git a/gcc/testsuite/g++.dg/gomp/ind-base-3.C 
b/gcc/testsuite/g++.dg/gomp/ind-base-3.C
index 7695b1f907e1..e3ecdddf9cb2 100644
--- a/gcc/testsuite/g++.dg/gomp/ind-base-3.C
+++ b/gcc/testsuite/g++.dg/gomp/ind-base-3.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
 #include <cassert>
 
 struct S {
diff --git a/gcc/testsuite/g++.dg/gomp/map-assignment-1.C 
b/gcc/testsuite/g++.dg/gomp/map-assignment-1.C
index 5979ec379f19..17862ab3b169 100644
--- a/gcc/testsuite/g++.dg/gomp/map-assignment-1.C
+++ b/gcc/testsuite/g++.dg/gomp/map-assignment-1.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
 #include <cassert>
 
 int main (int argc, char *argv[])
diff --git a/gcc/testsuite/g++.dg/gomp/map-lvalue-ref-1.C 
b/gcc/testsuite/g++.dg/gomp/map-lvalue-ref-1.C
index d720d4318ae4..2f75b238ebd0 100644
--- a/gcc/testsuite/g++.dg/gomp/map-lvalue-ref-1.C
+++ b/gcc/testsuite/g++.dg/gomp/map-lvalue-ref-1.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
 #include <cassert>
 
 int glob = 10;
diff --git a/gcc/testsuite/g++.dg/gomp/map-ptrmem-1.C 
b/gcc/testsuite/g++.dg/gomp/map-ptrmem-1.C
index c4023f59fc60..110996b349c1 100644
--- a/gcc/testsuite/g++.dg/gomp/map-ptrmem-1.C
+++ b/gcc/testsuite/g++.dg/gomp/map-ptrmem-1.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
 #include <cassert>
 
 struct S {
diff --git a/gcc/testsuite/g++.dg/gomp/map-ptrmem-2.C 
b/gcc/testsuite/g++.dg/gomp/map-ptrmem-2.C
index fbf379da0eb2..644e5bb3c84f 100644
--- a/gcc/testsuite/g++.dg/gomp/map-ptrmem-2.C
+++ b/gcc/testsuite/g++.dg/gomp/map-ptrmem-2.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
 #include <cassert>
 
 struct S {
diff --git a/gcc/testsuite/g++.dg/gomp/map-static-cast-lvalue-1.C 
b/gcc/testsuite/g++.dg/gomp/map-static-cast-lvalue-1.C
index 3af9668202cb..bc9d4dc25d7a 100644
--- a/gcc/testsuite/g++.dg/gomp/map-static-cast-lvalue-1.C
+++ b/gcc/testsuite/g++.dg/gomp/map-static-cast-lvalue-1.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
 #include <cassert>
 
 int foo (int x)
diff --git a/gcc/testsuite/g++.dg/gomp/map-ternary-1.C 
b/gcc/testsuite/g++.dg/gomp/map-ternary-1.C
index 7b365a909bbb..7017fbd30849 100644
--- a/gcc/testsuite/g++.dg/gomp/map-ternary-1.C
+++ b/gcc/testsuite/g++.dg/gomp/map-ternary-1.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
 #include <cassert>
 
 int foo (bool yesno)
diff --git a/gcc/testsuite/g++.dg/gomp/member-array-2.C 
b/gcc/testsuite/g++.dg/gomp/member-array-2.C
index caf8ece42624..a4e3a220c41b 100644
--- a/gcc/testsuite/g++.dg/gomp/member-array-2.C
+++ b/gcc/testsuite/g++.dg/gomp/member-array-2.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
+
 #include <cassert>
 
 typedef int intarr100[100];
diff --git a/gcc/testsuite/g++.dg/gomp/pr71910.C 
b/gcc/testsuite/g++.dg/gomp/pr71910.C
index 0063be8a9b0f..aea9483f4396 100644
--- a/gcc/testsuite/g++.dg/gomp/pr71910.C
+++ b/gcc/testsuite/g++.dg/gomp/pr71910.C
@@ -1,6 +1,7 @@
 // PR target/71910
 // { dg-do compile }
 // { dg-additional-options "-O2" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
 
 #include <vector>
 
diff --git a/gcc/testsuite/g++.dg/gomp/pr91118-1.C 
b/gcc/testsuite/g++.dg/gomp/pr91118-1.C
index f29d69db0847..2ed7e2eabe2a 100644
--- a/gcc/testsuite/g++.dg/gomp/pr91118-1.C
+++ b/gcc/testsuite/g++.dg/gomp/pr91118-1.C
@@ -1,6 +1,7 @@
 // PR c++/91118
 // { dg-do compile }
 // { dg-additional-options "-fsanitize=undefined" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
 
 #include <iostream>
 
diff --git a/gcc/testsuite/g++.dg/gomp/sink-2.C 
b/gcc/testsuite/g++.dg/gomp/sink-2.C
index d1681a77aadc..26669ef588e7 100644
--- a/gcc/testsuite/g++.dg/gomp/sink-2.C
+++ b/gcc/testsuite/g++.dg/gomp/sink-2.C
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } } */
 
 /* Tests iterators are allowed in ordered loops and that we keep track
    of the original iterator DECL for diagnostic purposes.  */
diff --git a/gcc/testsuite/g++.dg/gomp/target-lambda-2.C 
b/gcc/testsuite/g++.dg/gomp/target-lambda-2.C
index bdf2564cd042..7c504de36dfd 100644
--- a/gcc/testsuite/g++.dg/gomp/target-lambda-2.C
+++ b/gcc/testsuite/g++.dg/gomp/target-lambda-2.C
@@ -1,5 +1,7 @@
 // We use 'auto' without a function return type, so specify dialect here
 // { dg-additional-options "-std=c++14 -fdump-tree-gimple" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib abort" { ! hostedlib } }
+
 #include <cstdlib>
 
 #define N 10
diff --git a/gcc/testsuite/g++.dg/gomp/target-this-3.C 
b/gcc/testsuite/g++.dg/gomp/target-this-3.C
index bc2cc0b297dc..f4996b131142 100644
--- a/gcc/testsuite/g++.dg/gomp/target-this-3.C
+++ b/gcc/testsuite/g++.dg/gomp/target-this-3.C
@@ -1,5 +1,7 @@
 // { dg-do compile }
 // { dg-additional-options "-fdump-tree-gimple" }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
+
 #include <cstdlib>
 #include <cstring>
 extern "C" void abort ();
diff --git a/gcc/testsuite/g++.dg/gomp/target-this-4.C 
b/gcc/testsuite/g++.dg/gomp/target-this-4.C
index 9ade3cc0b2b1..bbcde3df23b5 100644
--- a/gcc/testsuite/g++.dg/gomp/target-this-4.C
+++ b/gcc/testsuite/g++.dg/gomp/target-this-4.C
@@ -1,5 +1,7 @@
 // We use 'auto' without a function return type, so specify dialect here
 // { dg-additional-options "-std=c++14 -fdump-tree-gimple" }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
+
 #include <cstdlib>
 #include <cstring>
 
diff --git a/gcc/testsuite/g++.dg/gomp/tile-1.C 
b/gcc/testsuite/g++.dg/gomp/tile-1.C
index cc45dcdf8805..bcfdc9438290 100644
--- a/gcc/testsuite/g++.dg/gomp/tile-1.C
+++ b/gcc/testsuite/g++.dg/gomp/tile-1.C
@@ -1,4 +1,5 @@
 // { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
 
 #include <vector>
 
diff --git a/gcc/testsuite/g++.dg/gomp/tile-2.C 
b/gcc/testsuite/g++.dg/gomp/tile-2.C
index dcaa8d736bbf..757b7fc60cee 100644
--- a/gcc/testsuite/g++.dg/gomp/tile-2.C
+++ b/gcc/testsuite/g++.dg/gomp/tile-2.C
@@ -1,4 +1,5 @@
 // { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
 
 #include <vector>
 
diff --git a/gcc/testsuite/g++.dg/gomp/unroll-1.C 
b/gcc/testsuite/g++.dg/gomp/unroll-1.C
index d4b73004b7cf..f9cb65af5d88 100644
--- a/gcc/testsuite/g++.dg/gomp/unroll-1.C
+++ b/gcc/testsuite/g++.dg/gomp/unroll-1.C
@@ -1,4 +1,5 @@
 // { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
 
 #include <vector>
 
diff --git a/gcc/testsuite/g++.dg/gomp/unroll-2.C 
b/gcc/testsuite/g++.dg/gomp/unroll-2.C
index d214d728c3a4..1bc21724c78d 100644
--- a/gcc/testsuite/g++.dg/gomp/unroll-2.C
+++ b/gcc/testsuite/g++.dg/gomp/unroll-2.C
@@ -1,4 +1,5 @@
 // { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
 
 #include <vector>
 
diff --git a/gcc/testsuite/g++.dg/gomp/unroll-3.C 
b/gcc/testsuite/g++.dg/gomp/unroll-3.C
index 6ef24ac2ffbc..1afe6f4d0656 100644
--- a/gcc/testsuite/g++.dg/gomp/unroll-3.C
+++ b/gcc/testsuite/g++.dg/gomp/unroll-3.C
@@ -1,5 +1,6 @@
 // { dg-do compile { target c++11 } }
 // { dg-additional-options "-fdump-tree-original -fdump-tree-gimple" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
 
 #include <vector>
 
diff --git a/gcc/testsuite/g++.dg/graphite/id-1.C 
b/gcc/testsuite/g++.dg/graphite/id-1.C
index 5770e905dfbd..987d326e3b69 100644
--- a/gcc/testsuite/g++.dg/graphite/id-1.C
+++ b/gcc/testsuite/g++.dg/graphite/id-1.C
@@ -1,3 +1,5 @@
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
+
 #include <vector>
 
 template <int rank, int dim> class Tensor;
diff --git a/gcc/testsuite/g++.dg/graphite/pr42130.C 
b/gcc/testsuite/g++.dg/graphite/pr42130.C
index ee31abad0ee0..18aefa9a6a29 100644
--- a/gcc/testsuite/g++.dg/graphite/pr42130.C
+++ b/gcc/testsuite/g++.dg/graphite/pr42130.C
@@ -1,4 +1,6 @@
 /* { dg-options "-O2 -fgraphite-identity -fno-tree-ch" } */
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
+
 #include <vector>
 
 using std::vector;
diff --git a/gcc/testsuite/g++.dg/init/new11.C 
b/gcc/testsuite/g++.dg/init/new11.C
index a13f262aa64a..11c4fe5732f9 100644
--- a/gcc/testsuite/g++.dg/init/new11.C
+++ b/gcc/testsuite/g++.dg/init/new11.C
@@ -1,5 +1,6 @@
 // PR c++/17670
 // { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib size_t" { ! hostedlib } 
}
 
 #include <cstdlib>
 #include <new>
diff --git a/gcc/testsuite/g++.dg/init/value3.C 
b/gcc/testsuite/g++.dg/init/value3.C
index 487baabeceb6..c544ec665326 100644
--- a/gcc/testsuite/g++.dg/init/value3.C
+++ b/gcc/testsuite/g++.dg/init/value3.C
@@ -1,5 +1,6 @@
 // Testcase for value-initialization in new-expressions.
 // { dg-do run }
+// { dg-skip-if "requires hosted libstdc++ for stdlib size_t" { ! hostedlib } }
 
 #include <stdlib.h>
 #include <string.h>
diff --git a/gcc/testsuite/g++.dg/lto/pr66180_0.C 
b/gcc/testsuite/g++.dg/lto/pr66180_0.C
index cfb496bec4ad..fa597dea88bb 100644
--- a/gcc/testsuite/g++.dg/lto/pr66180_0.C
+++ b/gcc/testsuite/g++.dg/lto/pr66180_0.C
@@ -1,6 +1,8 @@
 // { dg-lto-do link }
 // { dg-require-effective-target lto_incremental }
 // { dg-lto-options { { -flto -std=c++14 -r -nostdlib } } }
+/* { dg-skip-if "requires hosted libstdc++ for memory make_unique" { ! 
hostedlib } } */
+
 #include <memory>
 namespace {
 class A {
diff --git a/gcc/testsuite/g++.dg/modules/hello-2_a.C 
b/gcc/testsuite/g++.dg/modules/hello-2_a.C
index a8f8b813839f..89bb92b85fb5 100644
--- a/gcc/testsuite/g++.dg/modules/hello-2_a.C
+++ b/gcc/testsuite/g++.dg/modules/hello-2_a.C
@@ -1,6 +1,7 @@
 // PR c++/105512
 // { dg-additional-options -fmodules-ts }
 // { dg-module-cmi Hello2 }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
 
 module;
 #include <string>
diff --git a/gcc/testsuite/g++.dg/modules/hello-2_b.C 
b/gcc/testsuite/g++.dg/modules/hello-2_b.C
index dafd3c2f7a1b..35b6ea58939d 100644
--- a/gcc/testsuite/g++.dg/modules/hello-2_b.C
+++ b/gcc/testsuite/g++.dg/modules/hello-2_b.C
@@ -1,6 +1,7 @@
 // PR c++/105512
 // { dg-additional-options -fmodules-ts }
 // { dg-module-do run }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
 
 #include <iostream>
 import Hello2;
diff --git a/gcc/testsuite/g++.dg/modules/p1689-2.C 
b/gcc/testsuite/g++.dg/modules/p1689-2.C
index 5d7fe52a809b..8c7afe4050e5 100644
--- a/gcc/testsuite/g++.dg/modules/p1689-2.C
+++ b/gcc/testsuite/g++.dg/modules/p1689-2.C
@@ -5,6 +5,7 @@
 // { dg-additional-options -fdeps-format=p1689r5 }
 // { dg-additional-options -fdeps-target=p1689-2.o }
 // { dg-additional-options -fdeps-file=p1689-2.ddi }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
 
 // Export a module partition that uses modules.
 
diff --git a/gcc/testsuite/g++.dg/modules/pr99023_a.X 
b/gcc/testsuite/g++.dg/modules/pr99023_a.X
index 507e95695356..6ae2cf4b2a3e 100644
--- a/gcc/testsuite/g++.dg/modules/pr99023_a.X
+++ b/gcc/testsuite/g++.dg/modules/pr99023_a.X
@@ -1,6 +1,7 @@
 // PR c++/99023, ICE
 // { dg-require-effective-target c++20_only }
 // { dg-additional-options {-x c++-system-header initializer_list -fmodules-ts 
--param ggc-min-expand=0} }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
 
 // { dg-prune-output {linker input file unused} }
 
diff --git a/gcc/testsuite/g++.dg/modules/pr99166_a.X 
b/gcc/testsuite/g++.dg/modules/pr99166_a.X
index 0649d053b306..24527a011eb0 100644
--- a/gcc/testsuite/g++.dg/modules/pr99166_a.X
+++ b/gcc/testsuite/g++.dg/modules/pr99166_a.X
@@ -1,5 +1,6 @@
 // PR c++/99166, diagnostic
 // { dg-additional-options {-x c++-system-header iostream -fmodules-ts 
-flang-info-module-cmi} }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
 
 // { dg-regexp {[^\n]*iostream: note: writing CMI 
'gcm.cache/[^[\n]*iostream.gcm'\n} }
 // { dg-prune-output {linker input file unused} }
diff --git a/gcc/testsuite/g++.dg/modules/pr99166_b.C 
b/gcc/testsuite/g++.dg/modules/pr99166_b.C
index ac20116e641e..25b90daf9876 100644
--- a/gcc/testsuite/g++.dg/modules/pr99166_b.C
+++ b/gcc/testsuite/g++.dg/modules/pr99166_b.C
@@ -1,4 +1,6 @@
 // { dg-additional-options {-fmodules-ts -flang-info-module-cmi=<iostream>} }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
+
 export module Foo;
 import <iostream>;
 
diff --git a/gcc/testsuite/g++.dg/modules/pr99425-2_a.X 
b/gcc/testsuite/g++.dg/modules/pr99425-2_a.X
index 9a44dc335671..36f91637e763 100644
--- a/gcc/testsuite/g++.dg/modules/pr99425-2_a.X
+++ b/gcc/testsuite/g++.dg/modules/pr99425-2_a.X
@@ -3,5 +3,6 @@
 
 // { dg-additional-options {-x c++-system-header stdexcept -fmodules-ts} }
 // { dg-prune-output {linker input file unused} }
+// { dg-skip-if "requires hosted libstdc++ for stdexcept" { ! hostedlib } }
 
 No! DO NOT COMPILE;
diff --git a/gcc/testsuite/g++.dg/modules/pr99425-2_b.X 
b/gcc/testsuite/g++.dg/modules/pr99425-2_b.X
index 5e453542cd17..baf653a232a3 100644
--- a/gcc/testsuite/g++.dg/modules/pr99425-2_b.X
+++ b/gcc/testsuite/g++.dg/modules/pr99425-2_b.X
@@ -1,4 +1,5 @@
 // { dg-additional-options {-x c++-system-header mutex -fmodules-ts} }
 // { dg-prune-output {linker input file unused} }
+// { dg-skip-if "requires hosted libstdc++ for mutex" { ! hostedlib } }
 
 No! DO NOT COMPILE;
diff --git a/gcc/testsuite/g++.dg/modules/xtreme-header-7_a.H 
b/gcc/testsuite/g++.dg/modules/xtreme-header-7_a.H
index bf7859fba991..9c42b7a38ced 100644
--- a/gcc/testsuite/g++.dg/modules/xtreme-header-7_a.H
+++ b/gcc/testsuite/g++.dg/modules/xtreme-header-7_a.H
@@ -1,4 +1,5 @@
 // { dg-additional-options -fmodule-header }
+// { dg-skip-if "requires hosted libstdc++ for any in xtreme-header.h" { ! 
hostedlib } }
 
 // { dg-module-cmi {} }
 #include "xtreme-header.h"
diff --git a/gcc/testsuite/g++.dg/modules/xtreme-header-7_b.C 
b/gcc/testsuite/g++.dg/modules/xtreme-header-7_b.C
index 3992a24501b9..b7df2723b9d2 100644
--- a/gcc/testsuite/g++.dg/modules/xtreme-header-7_b.C
+++ b/gcc/testsuite/g++.dg/modules/xtreme-header-7_b.C
@@ -1,5 +1,6 @@
 // A version of xtreme-header_b.C that doesn't use -fno-module-lazy.
 // { dg-additional-options -fmodules-ts }
+// { dg-skip-if "requires hosted libstdc++ for any in xtreme-header.h" { ! 
hostedlib } }
 
 #include "xtreme-header.h"
 import "xtreme-header-7_a.H";
diff --git a/gcc/testsuite/g++.dg/opt/builtins2.C 
b/gcc/testsuite/g++.dg/opt/builtins2.C
index 658c128d62de..b273f1f63b6e 100644
--- a/gcc/testsuite/g++.dg/opt/builtins2.C
+++ b/gcc/testsuite/g++.dg/opt/builtins2.C
@@ -2,6 +2,7 @@
 // We should handle asinh as a built-in in C++0x mode, even when strict.
 // { dg-do compile { target c++11 } }
 // { dg-final { scan-assembler-not "asinh" } }
+// { dg-skip-if "requires hosted libstdc++ for math" { ! hostedlib } }
 
 #include <math.h>
 
diff --git a/gcc/testsuite/g++.dg/opt/pr103989.C 
b/gcc/testsuite/g++.dg/opt/pr103989.C
index 4604811b42a1..dfb14546e352 100644
--- a/gcc/testsuite/g++.dg/opt/pr103989.C
+++ b/gcc/testsuite/g++.dg/opt/pr103989.C
@@ -1,5 +1,6 @@
 // { dg-require-effective-target c++17 }
 // { dg-options "-Og -Wall" }
+// { dg-skip-if "requires hosted libstdc++ for memory shared_ptr" { ! 
hostedlib } }
 
 #include <optional>
 #include <memory>
diff --git a/gcc/testsuite/g++.dg/opt/pr110879.C 
b/gcc/testsuite/g++.dg/opt/pr110879.C
index 57556605a511..3445850ccbf7 100644
--- a/gcc/testsuite/g++.dg/opt/pr110879.C
+++ b/gcc/testsuite/g++.dg/opt/pr110879.C
@@ -1,5 +1,6 @@
 // { dg-do compile { target c++11 } }
 // { dg-options "-O3 -fdump-tree-optimized" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
 
 #include <vector>
 
diff --git a/gcc/testsuite/g++.dg/opt/pr65074.C 
b/gcc/testsuite/g++.dg/opt/pr65074.C
index 01c5926e6626..0124c5182392 100644
--- a/gcc/testsuite/g++.dg/opt/pr65074.C
+++ b/gcc/testsuite/g++.dg/opt/pr65074.C
@@ -1,6 +1,7 @@
 // PR middle-end/65074
 // { dg-do link { target pie } }
 // { dg-options "-pie -fpie -O2" }
+// { dg-skip-if "requires hosted libstdc++ for fstream" { ! hostedlib } }
 
 #include <fstream>
 
diff --git a/gcc/testsuite/g++.dg/opt/pr66119.C 
b/gcc/testsuite/g++.dg/opt/pr66119.C
index c129633894ff..d1b1845a2586 100644
--- a/gcc/testsuite/g++.dg/opt/pr66119.C
+++ b/gcc/testsuite/g++.dg/opt/pr66119.C
@@ -4,6 +4,7 @@
 
 /* { dg-do compile  { target { { i?86-*-* x86_64-*-* } && c++11 } }  }  */
 /* { dg-options "-O3 -mavx -fdump-tree-sra -march=slm -mtune=slm 
-fno-early-inlining" } */
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
}
 
 #include <immintrin.h>
 
diff --git a/gcc/testsuite/g++.dg/opt/pr80385.C 
b/gcc/testsuite/g++.dg/opt/pr80385.C
index f18abc941f3f..de3ae17f07d1 100644
--- a/gcc/testsuite/g++.dg/opt/pr80385.C
+++ b/gcc/testsuite/g++.dg/opt/pr80385.C
@@ -1,6 +1,7 @@
 // PR rtl-optimization/80385
 // { dg-do compile { target { i?86-*-* x86_64-*-* } } }
 // { dg-options "-Ofast -msse2" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
}
 
 #include <x86intrin.h>
 
diff --git a/gcc/testsuite/g++.dg/opt/pr94223.C 
b/gcc/testsuite/g++.dg/opt/pr94223.C
index 0de012de5040..f06f1059b3db 100644
--- a/gcc/testsuite/g++.dg/opt/pr94223.C
+++ b/gcc/testsuite/g++.dg/opt/pr94223.C
@@ -1,5 +1,6 @@
 // PR c++/94223
 // { dg-do compile }
 // { dg-options "-O0 -std=c++2a -fcompare-debug" }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
 
 #include "../cpp1z/init-statement6.C"
diff --git a/gcc/testsuite/g++.dg/other/i386-1.C 
b/gcc/testsuite/g++.dg/other/i386-1.C
index ec572ec948d6..108af19e4c83 100644
--- a/gcc/testsuite/g++.dg/other/i386-1.C
+++ b/gcc/testsuite/g++.dg/other/i386-1.C
@@ -1,6 +1,7 @@
 /* { dg-do run { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-msse2" } */
 /* { dg-require-effective-target sse2_runtime } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <xmmintrin.h>
 
diff --git a/gcc/testsuite/g++.dg/other/i386-11.C 
b/gcc/testsuite/g++.dg/other/i386-11.C
index 8e06617fca55..f28cfcfa14b0 100644
--- a/gcc/testsuite/g++.dg/other/i386-11.C
+++ b/gcc/testsuite/g++.dg/other/i386-11.C
@@ -2,6 +2,7 @@
 // { dg-do compile { target i?86-*-* x86_64-*-* } }
 // { dg-require-effective-target c++11 }
 // { dg-options "-O2 -msse2" }
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <xmmintrin.h>
 #include <emmintrin.h>
diff --git a/gcc/testsuite/g++.dg/other/i386-2.C 
b/gcc/testsuite/g++.dg/other/i386-2.C
index 5a4005c063c4..d0492dc5d688 100644
--- a/gcc/testsuite/g++.dg/other/i386-2.C
+++ b/gcc/testsuite/g++.dg/other/i386-2.C
@@ -1,5 +1,6 @@
 /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-O -pedantic-errors -march=k8 -msse4a -m3dnow -mavx -mavx2 
-mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp 
-mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt 
-msha -mxsavec -mxsaves -mclflushopt -mclwb -mmwaitx -mclzero -mpku -msgx 
-mrdpid -mgfni -mpconfig -mwbnoinvd -menqcmd -mavx512vp2intersect -mserialize 
-mtsxldtrk -mamx-tile -mamx-int8 -mamx-bf16 -mkl -mwidekl -mavxvnni -mavxifma 
-mavxvnniint8 -mavxneconvert -mcmpccxadd -mamx-fp16 -mprefetchi -mraoint 
-mamx-complex -mavxvnniint16 -msm3 -msha512 -msm4 -mavx10.2-512" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 /* Test that {,x,e,p,t,s,w,a,b,i}mmintrin.h, mm3dnow.h, fma4intrin.h,
    xopintrin.h, abmintrin.h, bmiintrin.h, tbmintrin.h, lwpintrin.h,
diff --git a/gcc/testsuite/g++.dg/other/i386-3.C 
b/gcc/testsuite/g++.dg/other/i386-3.C
index 51977ae6159b..3bfc83915fc6 100644
--- a/gcc/testsuite/g++.dg/other/i386-3.C
+++ b/gcc/testsuite/g++.dg/other/i386-3.C
@@ -1,5 +1,6 @@
 /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-O -fkeep-inline-functions -march=k8 -msse4a -m3dnow -mavx 
-mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm 
-mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr 
-mxsaveopt -msha -mxsavec -mxsaves -mclflushopt -mclwb -mmwaitx -mclzero -mpku 
-msgx -mrdpid -mgfni -mpconfig -mwbnoinvd -menqcmd -mavx512vp2intersect 
-mserialize -mtsxldtrk -mamx-tile -mamx-int8 -mamx-bf16 -mkl -mwidekl -mavxvnni 
-mavxifma -mavxvnniint8 -mavxneconvert -mcmpccxadd -mamx-fp16 -mprefetchi 
-mraoint -mamx-complex -mavxvnniint16 -msm3 -msha512 -msm4 -mavx10.2-512" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 /* Test that {,x,e,p,t,s,w,a,b,i}mmintrin.h, mm3dnow.h, fma4intrin.h,
    xopintrin.h, abmintrin.h, bmiintrin.h, tbmintrin.h, lwpintrin.h,
diff --git a/gcc/testsuite/g++.dg/other/i386-4.C 
b/gcc/testsuite/g++.dg/other/i386-4.C
index 3e0d94e952cd..3cd6f4cb0531 100644
--- a/gcc/testsuite/g++.dg/other/i386-4.C
+++ b/gcc/testsuite/g++.dg/other/i386-4.C
@@ -1,5 +1,6 @@
 /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-O1 -msse2" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <xmmintrin.h>
 
diff --git a/gcc/testsuite/g++.dg/other/i386-7.C 
b/gcc/testsuite/g++.dg/other/i386-7.C
index e2ad51e528dd..704c5b7e24f1 100644
--- a/gcc/testsuite/g++.dg/other/i386-7.C
+++ b/gcc/testsuite/g++.dg/other/i386-7.C
@@ -2,6 +2,7 @@
 /* We were using SSE4.2 builtins without the extension available.  */
 /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-O -pedantic-errors" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <x86intrin.h>
 
diff --git a/gcc/testsuite/g++.dg/other/i386-8.C 
b/gcc/testsuite/g++.dg/other/i386-8.C
index a9465ef12bc3..6bb229f19281 100644
--- a/gcc/testsuite/g++.dg/other/i386-8.C
+++ b/gcc/testsuite/g++.dg/other/i386-8.C
@@ -2,6 +2,7 @@
 // { dg-do compile { target i?86-*-* x86_64-*-* } }
 // { dg-options "-O2 -msse2" }
 // { dg-options "-O2 -msse2 -fpic" { target fpic } }
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <xmmintrin.h>
 
diff --git a/gcc/testsuite/g++.dg/other/mmintrin.C 
b/gcc/testsuite/g++.dg/other/mmintrin.C
index 417a1acc6de1..3daf378916ea 100644
--- a/gcc/testsuite/g++.dg/other/mmintrin.C
+++ b/gcc/testsuite/g++.dg/other/mmintrin.C
@@ -1,4 +1,5 @@
 // { dg-do compile { target i?86-*-* x86_64-*-* } }
 // { dg-options "-msse" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
}
 
 #include <xmmintrin.h>
diff --git a/gcc/testsuite/g++.dg/other/pr34435.C 
b/gcc/testsuite/g++.dg/other/pr34435.C
index 5352a40eb691..8b7efd4fbfef 100644
--- a/gcc/testsuite/g++.dg/other/pr34435.C
+++ b/gcc/testsuite/g++.dg/other/pr34435.C
@@ -1,5 +1,6 @@
 /* { dg-do compile { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-msse2 -Wno-abi" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <emmintrin.h>
 
diff --git a/gcc/testsuite/g++.dg/other/pr40446.C 
b/gcc/testsuite/g++.dg/other/pr40446.C
index 72cd1960649e..3d3a6b8b9659 100644
--- a/gcc/testsuite/g++.dg/other/pr40446.C
+++ b/gcc/testsuite/g++.dg/other/pr40446.C
@@ -2,6 +2,7 @@
 // { dg-do run { target i?86-*-* x86_64-*-* } }
 // { dg-options "-O1 -msse2" }
 // { dg-require-effective-target sse2_runtime }
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <emmintrin.h>
 
diff --git a/gcc/testsuite/g++.dg/other/pr49133.C 
b/gcc/testsuite/g++.dg/other/pr49133.C
index a59687f9c742..bd30cc749b98 100644
--- a/gcc/testsuite/g++.dg/other/pr49133.C
+++ b/gcc/testsuite/g++.dg/other/pr49133.C
@@ -1,6 +1,7 @@
 /* { dg-do run { target i?86-*-* x86_64-*-* } } */
 /* { dg-options "-O2 -msse2" } */
 /* { dg-require-effective-target sse2_runtime } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <xmmintrin.h>
 
diff --git a/gcc/testsuite/g++.dg/pch/system-1.Hs 
b/gcc/testsuite/g++.dg/pch/system-1.Hs
index 604782e4dc7e..d08c6c05c998 100644
--- a/gcc/testsuite/g++.dg/pch/system-1.Hs
+++ b/gcc/testsuite/g++.dg/pch/system-1.Hs
@@ -1 +1,3 @@
+// { dg-skip-if "requires hosted libstdc++ for iostream in system-1.H" { ! 
hostedlib } }
+
 #include <iostream>
diff --git a/gcc/testsuite/g++.dg/pch/system-2.Hs 
b/gcc/testsuite/g++.dg/pch/system-2.Hs
index 13c79d104efc..057072114000 100644
--- a/gcc/testsuite/g++.dg/pch/system-2.Hs
+++ b/gcc/testsuite/g++.dg/pch/system-2.Hs
@@ -1,2 +1,4 @@
+// { dg-skip-if "requires hosted libstdc++ for iostream in system-1.H" { ! 
hostedlib } }
+
 #include <iostream>
 #include <string>
diff --git a/gcc/testsuite/g++.dg/pr80481.C b/gcc/testsuite/g++.dg/pr80481.C
index c2931100906f..07dcdf09e004 100644
--- a/gcc/testsuite/g++.dg/pr80481.C
+++ b/gcc/testsuite/g++.dg/pr80481.C
@@ -4,6 +4,7 @@
 // { dg-options "-Ofast -funroll-loops -fopenmp -march=skylake-avx512" }
 // Disabling epilogues until we find a better way to deal with scans.
 // { dg-additional-options "--param vect-epilogues-nomask=0" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
}
 
 
 #include <math.h>
diff --git a/gcc/testsuite/g++.dg/tm/inherit2.C 
b/gcc/testsuite/g++.dg/tm/inherit2.C
index 366f9b30e909..adaf8a9a932c 100644
--- a/gcc/testsuite/g++.dg/tm/inherit2.C
+++ b/gcc/testsuite/g++.dg/tm/inherit2.C
@@ -1,5 +1,6 @@
 // Testcase from TM TS
 // { dg-options "-std=c++14 -fgnu-tm" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
 
 #include <iostream>
 
diff --git a/gcc/testsuite/g++.dg/tm/pr46270.C 
b/gcc/testsuite/g++.dg/tm/pr46270.C
index 291e620a3879..64ebb6bc5e65 100644
--- a/gcc/testsuite/g++.dg/tm/pr46270.C
+++ b/gcc/testsuite/g++.dg/tm/pr46270.C
@@ -1,5 +1,6 @@
 // { dg-do compile }
 // { dg-options "-fgnu-tm" }
+// { dg-skip-if "requires hosted libstdc++ for list" { ! hostedlib } }
 
 #include <list>
 class Game
diff --git a/gcc/testsuite/g++.dg/torture/pr10148.C 
b/gcc/testsuite/g++.dg/torture/pr10148.C
index ed278f9f8d85..b5483f3ca315 100644
--- a/gcc/testsuite/g++.dg/torture/pr10148.C
+++ b/gcc/testsuite/g++.dg/torture/pr10148.C
@@ -1,4 +1,5 @@
 /* { dg-do run } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } 
} */
 
 #include <stdlib.h>
 #include <assert.h>
diff --git a/gcc/testsuite/g++.dg/torture/pr86763.C 
b/gcc/testsuite/g++.dg/torture/pr86763.C
index 8455ac9ce129..0d0061c78bc2 100644
--- a/gcc/testsuite/g++.dg/torture/pr86763.C
+++ b/gcc/testsuite/g++.dg/torture/pr86763.C
@@ -1,6 +1,7 @@
 // { dg-do run { target { *-*-linux* } } }
 // { dg-additional-options "-fschedule-insns2 -fstrict-aliasing" }
 // { dg-additional-options "-lrt" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
 
 #include <cstdint>
 #include <cassert>
diff --git a/gcc/testsuite/g++.dg/torture/pr91334.C 
b/gcc/testsuite/g++.dg/torture/pr91334.C
index ba79d712b079..187ab84e978b 100644
--- a/gcc/testsuite/g++.dg/torture/pr91334.C
+++ b/gcc/testsuite/g++.dg/torture/pr91334.C
@@ -1,5 +1,6 @@
 /* PR c++/91334.  */
 /* { dg-do compile } */
+/* { dg-skip-if "requires hosted libstdc++ for stdlib size_t" { ! hostedlib } 
} */
 
 #include <new>
 #include <stdlib.h>
diff --git a/gcc/testsuite/g++.dg/torture/pr91606.C 
b/gcc/testsuite/g++.dg/torture/pr91606.C
index 37a05a5e3a5f..385c20c5da5b 100644
--- a/gcc/testsuite/g++.dg/torture/pr91606.C
+++ b/gcc/testsuite/g++.dg/torture/pr91606.C
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-additional-options "-fstrict-aliasing" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib size_t" { ! hostedlib } 
} */
 
 #include <cstdlib>
 #include <array>
diff --git a/gcc/testsuite/g++.dg/tree-ssa/copyprop.C 
b/gcc/testsuite/g++.dg/tree-ssa/copyprop.C
index bc9167ad1201..f94c7c6201c5 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/copyprop.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/copyprop.C
@@ -3,6 +3,7 @@
 // { dg-do compile { target { lp64 } } }
 // { dg-options  "-Wno-error -fno-exceptions -fno-tree-vrp -O2 
-fprofile-generate  -finline-limit=500 -std=c++98"  }
 // { dg-additional-options "-Wno-return-type" }
+// { dg-skip-if "requires hosted libstdc++ for map" { ! hostedlib } }
 
 #include <map>
 #include <vector>
diff --git a/gcc/testsuite/g++.dg/tree-ssa/initlist-opt5.C 
b/gcc/testsuite/g++.dg/tree-ssa/initlist-opt5.C
index fc928bb54050..3126fe0ed8ae 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/initlist-opt5.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/initlist-opt5.C
@@ -1,6 +1,7 @@
 // PR c++/105838
 // { dg-additional-options -fdump-tree-gimple }
 // { dg-do compile { target c++11 } }
+// { dg-skip-if "requires hosted libstdc++ for string" { ! hostedlib } }
 
 // Check that we call the basic_string constructor once (and define it once).
 // { dg-final { scan-tree-dump-times {>::basic_string} 2 "gimple" } }
diff --git a/gcc/testsuite/g++.dg/tree-ssa/loop-split-1.C 
b/gcc/testsuite/g++.dg/tree-ssa/loop-split-1.C
index 9581438b5364..898100653348 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/loop-split-1.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/loop-split-1.C
@@ -1,5 +1,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O3 -fdump-tree-lsplit-details -std=c++11" } */
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
+
 #include <vector>
 #include <cmath>
 
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr102216-2.C 
b/gcc/testsuite/g++.dg/tree-ssa/pr102216-2.C
index 8d351a9bad08..a49f180eb7bb 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr102216-2.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr102216-2.C
@@ -1,4 +1,6 @@
 /* { dg-options "-O2 -Wall" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstddef NULL" { ! hostedlib } } 
*/
+
 #include <algorithm>
 
 static inline bool
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr109849.C 
b/gcc/testsuite/g++.dg/tree-ssa/pr109849.C
index d06dbb104829..f5ce0a6a02b3 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr109849.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr109849.C
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -fdump-tree-sra -fdump-tree-optimized" } */
+/* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
 
 #include <vector>
 typedef unsigned int uint32_t;
diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr20458.C 
b/gcc/testsuite/g++.dg/tree-ssa/pr20458.C
index d4e7d1a1a86f..9fd817a8f057 100644
--- a/gcc/testsuite/g++.dg/tree-ssa/pr20458.C
+++ b/gcc/testsuite/g++.dg/tree-ssa/pr20458.C
@@ -1,5 +1,6 @@
 /* { dg-do run } */
 /* { dg-options "-O2" } */
+/* { dg-skip-if "requires hosted libstdc++ for std::locale cdtor" { ! 
hostedlib } } */
 
 /* The tail call optimization would inapproriately tail call the 
    destructors due to not recognizing a call clobbered variable */
diff --git a/gcc/testsuite/g++.dg/uninit-pr105937.C 
b/gcc/testsuite/g++.dg/uninit-pr105937.C
index 26b4f74c5e1e..744817b1ba85 100644
--- a/gcc/testsuite/g++.dg/uninit-pr105937.C
+++ b/gcc/testsuite/g++.dg/uninit-pr105937.C
@@ -1,6 +1,7 @@
 // { dg-do compile }
 // { dg-require-effective-target c++17 }
 // { dg-options "-O2 -Wall" }
+// { dg-skip-if "requires hosted libstdc++ for cwchar" { ! hostedlib } }
 
 #include <stdint.h>
 #include <optional>
diff --git a/gcc/testsuite/g++.dg/vect/pr102421.cc 
b/gcc/testsuite/g++.dg/vect/pr102421.cc
index ccab6955c677..c8d3c741e732 100644
--- a/gcc/testsuite/g++.dg/vect/pr102421.cc
+++ b/gcc/testsuite/g++.dg/vect/pr102421.cc
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-additional-options "-O3" } */
 /* { dg-additional-options "-march=armv8.2-a+sve" { target aarch64-*-* } } */
+/* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
 
 #include <vector>
 
diff --git a/gcc/testsuite/g++.dg/vect/pr105053.cc 
b/gcc/testsuite/g++.dg/vect/pr105053.cc
index 6deef8458fc8..142cd0c1ced5 100644
--- a/gcc/testsuite/g++.dg/vect/pr105053.cc
+++ b/gcc/testsuite/g++.dg/vect/pr105053.cc
@@ -1,5 +1,6 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-effective-target int32plus }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
 
 #include <vector>
 #include <tuple>
diff --git a/gcc/testsuite/g++.dg/vect/pr33426-ivdep-4.cc 
b/gcc/testsuite/g++.dg/vect/pr33426-ivdep-4.cc
index a0da5cf0aabc..26736ce3f329 100644
--- a/gcc/testsuite/g++.dg/vect/pr33426-ivdep-4.cc
+++ b/gcc/testsuite/g++.dg/vect/pr33426-ivdep-4.cc
@@ -2,6 +2,7 @@
 /* { dg-require-effective-target vect_int } */
 /* { dg-require-effective-target vect_int_mult } */
 /* { dg-additional-options "-std=c++11 -O3 -fopt-info-vec-optimized 
-fdump-tree-original -fdump-tree-gimple" } */
+/* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
 
 /* PR other/33426 */
 /* Testing whether #pragma ivdep is working.  */
diff --git a/gcc/testsuite/g++.dg/vect/pr64410.cc 
b/gcc/testsuite/g++.dg/vect/pr64410.cc
index ad4b085b5e05..407b893da4b8 100644
--- a/gcc/testsuite/g++.dg/vect/pr64410.cc
+++ b/gcc/testsuite/g++.dg/vect/pr64410.cc
@@ -1,6 +1,7 @@
 // { dg-do compile }
 // { dg-require-effective-target vect_double }
 // { dg-additional-options "-fexcess-precision=fast" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
 
 #include <vector>
 #include <complex>
diff --git a/gcc/testsuite/g++.dg/vect/slp-pr87105.cc 
b/gcc/testsuite/g++.dg/vect/slp-pr87105.cc
index 17017686792b..b4cb16a14bfd 100644
--- a/gcc/testsuite/g++.dg/vect/slp-pr87105.cc
+++ b/gcc/testsuite/g++.dg/vect/slp-pr87105.cc
@@ -3,6 +3,7 @@
 // { dg-require-effective-target vect_double }
 // For MIN/MAX recognition
 // { dg-additional-options "-ffast-math" }
+// { dg-skip-if "requires hosted libstdc++ for cmath" { ! hostedlib } }
 
 #include <algorithm>
 #include <cmath>
diff --git a/gcc/testsuite/g++.dg/vect/slp-pr98855.cc 
b/gcc/testsuite/g++.dg/vect/slp-pr98855.cc
index e0527c492d57..9b95a8d8948e 100644
--- a/gcc/testsuite/g++.dg/vect/slp-pr98855.cc
+++ b/gcc/testsuite/g++.dg/vect/slp-pr98855.cc
@@ -1,5 +1,6 @@
 // { dg-do compile { target i?86-*-* x86_64-*-* } }
 // { dg-additional-options "-fvect-cost-model=cheap -mavx2" }
+// { dg-skip-if "requires hosted libstdc++ for stdlib size_t" { ! hostedlib } }
 
 #include <stdint.h>
 #include <stdlib.h>
diff --git a/gcc/testsuite/g++.dg/vect/vect-novector-pragma.cc 
b/gcc/testsuite/g++.dg/vect/vect-novector-pragma.cc
index 8c6ff22fcaab..3e5b42bcf1a2 100644
--- a/gcc/testsuite/g++.dg/vect/vect-novector-pragma.cc
+++ b/gcc/testsuite/g++.dg/vect/vect-novector-pragma.cc
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-require-effective-target vect_int } */
+/* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
 
 #include <vector>
 
diff --git a/gcc/testsuite/g++.dg/warn/Wdangling-reference14.C 
b/gcc/testsuite/g++.dg/warn/Wdangling-reference14.C
index 92b38a965e0a..b83266ee6a80 100644
--- a/gcc/testsuite/g++.dg/warn/Wdangling-reference14.C
+++ b/gcc/testsuite/g++.dg/warn/Wdangling-reference14.C
@@ -1,6 +1,7 @@
 // PR c++/113256
 // { dg-do compile { target c++14 } }
 // { dg-options "-Wdangling-reference" }
+// { dg-skip-if "requires hosted libstdc++ for cassert" { ! hostedlib } }
 
 #include <utility>
 #include <cassert>
diff --git a/gcc/testsuite/g++.dg/warn/Wdangling-reference17.C 
b/gcc/testsuite/g++.dg/warn/Wdangling-reference17.C
index 8cda5dea4447..f7b666dc2e90 100644
--- a/gcc/testsuite/g++.dg/warn/Wdangling-reference17.C
+++ b/gcc/testsuite/g++.dg/warn/Wdangling-reference17.C
@@ -1,6 +1,7 @@
 // PR c++/111410
 // { dg-do compile { target c++20 } }
 // { dg-options "-Wdangling-reference" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
 
 #include <vector>
 #include <ranges>
diff --git a/gcc/testsuite/g++.dg/warn/Wparentheses-34.C 
b/gcc/testsuite/g++.dg/warn/Wparentheses-34.C
index 2100c8a193d2..91095695ea2c 100644
--- a/gcc/testsuite/g++.dg/warn/Wparentheses-34.C
+++ b/gcc/testsuite/g++.dg/warn/Wparentheses-34.C
@@ -2,6 +2,7 @@
 // such as std::vector<bool>'s reference type the same as ordinary
 // bool.
 // { dg-additional-options "-Wparentheses" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
 
 #include <vector>
 
diff --git a/gcc/testsuite/g++.dg/warn/Wsystem-headers1a.C 
b/gcc/testsuite/g++.dg/warn/Wsystem-headers1a.C
index 68f6ea15f8d6..c44d6a91c20e 100644
--- a/gcc/testsuite/g++.dg/warn/Wsystem-headers1a.C
+++ b/gcc/testsuite/g++.dg/warn/Wsystem-headers1a.C
@@ -1,5 +1,6 @@
 // { dg-do compile { target *-*-*gnu } }
 // { dg-options "-Wsystem-headers" }
+// { dg-skip-if "requires hosted libstdc++ for stdlib atof" { ! hostedlib } }
 
 #include <stdlib.h>
 
diff --git a/gcc/testsuite/g++.dg/warn/Wuninitialized-pr111123-1.C 
b/gcc/testsuite/g++.dg/warn/Wuninitialized-pr111123-1.C
index 17a6f2b28d88..4d3c44774b57 100644
--- a/gcc/testsuite/g++.dg/warn/Wuninitialized-pr111123-1.C
+++ b/gcc/testsuite/g++.dg/warn/Wuninitialized-pr111123-1.C
@@ -1,6 +1,7 @@
 // { dg-do compile }
 // { dg-require-effective-target c++11 }
 // { dg-options "-O -Wuninitialized" }
+// { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } }
 
 #include <vector>
 
diff --git a/gcc/testsuite/g++.dg/warn/huge-val1.C 
b/gcc/testsuite/g++.dg/warn/huge-val1.C
index 2ddfae0c9c68..c480cf32f353 100644
--- a/gcc/testsuite/g++.dg/warn/huge-val1.C
+++ b/gcc/testsuite/g++.dg/warn/huge-val1.C
@@ -2,6 +2,7 @@
 // Origin: Joseph Myers <jos...@codesourcery.com>
 // { dg-do link }
 // { dg-options "-pedantic-errors" }
+// { dg-skip-if "requires hosted libstdc++ for cmath" { ! hostedlib } }
 
 #include <math.h>
 
diff --git a/gcc/testsuite/g++.old-deja/g++.abi/arraynew.C 
b/gcc/testsuite/g++.old-deja/g++.abi/arraynew.C
index 2e11caecff6f..05b6686c0f27 100644
--- a/gcc/testsuite/g++.old-deja/g++.abi/arraynew.C
+++ b/gcc/testsuite/g++.old-deja/g++.abi/arraynew.C
@@ -2,6 +2,7 @@
 // Origin: Mark Mitchell <m...@codesourcery.com>
 // Avoid use of none-overridable new/delete operators in shared
 // { dg-options "-static" { target *-*-mingw* } }
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib size_t" { ! hostedlib } 
} */
 
 #if defined (__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100
 
diff --git a/gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C 
b/gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C
index de647c4eb69d..2d1a08ed9a09 100644
--- a/gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C
+++ b/gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C
@@ -7,6 +7,8 @@
 // { dg-options "-flat_namespace" { target *-*-darwin[67]* } }
 // Avoid use of non-overridable new/delete operators in shared
 // { dg-options "-static" { target *-*-mingw* } }
+// { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } }
+
 // Test __cxa_vec routines
 // Copyright (C) 2000, 2005 Free Software Foundation, Inc.
 // Contributed by Nathan Sidwell 7 Apr 2000 <nathan@nat...@codesourcery.com>
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/new3.C 
b/gcc/testsuite/g++.old-deja/g++.brendan/new3.C
index cc716d5c38fc..3ae4439eff11 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/new3.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/new3.C
@@ -7,6 +7,8 @@
 // { dg-options "-flat_namespace" { target *-*-darwin[67]* } }
 // Avoid use of none-overridable new/delete operators in shared
 // { dg-options "-static" { target *-*-mingw* } }
+// { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } }
+
 // GROUPS passed operator-new
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/new1.C 
b/gcc/testsuite/g++.old-deja/g++.eh/new1.C
index 929188f6dcab..5020a6bb58c7 100644
--- a/gcc/testsuite/g++.old-deja/g++.eh/new1.C
+++ b/gcc/testsuite/g++.old-deja/g++.eh/new1.C
@@ -2,6 +2,7 @@
 // Test that a throw in foo destroys the A, but does not free the memory.
 // Avoid use of none-overridable new/delete operators in shared
 // { dg-options "-static" { target *-*-mingw* } }
+// { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } }
 
 #include <cstddef>
 #include <cstdlib>
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/new2.C 
b/gcc/testsuite/g++.old-deja/g++.eh/new2.C
index 563a7949e44f..42382f3a8c0b 100644
--- a/gcc/testsuite/g++.old-deja/g++.eh/new2.C
+++ b/gcc/testsuite/g++.old-deja/g++.eh/new2.C
@@ -3,6 +3,7 @@
 // Avoid use of none-overridable new/delete operators in shared
 // { dg-options "-static" { target *-*-mingw* } }
 // { dg-xfail-run-if "AIX operator new" { powerpc-ibm-aix* } }
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <cstddef>
 #include <cstdlib>
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/2371.C 
b/gcc/testsuite/g++.old-deja/g++.jason/2371.C
index c4263d6a4fb5..052fd4e1c206 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/2371.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/2371.C
@@ -1,5 +1,6 @@
 // { dg-do run  }
 // { dg-options "" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
 # 1 "SetLS.cc"
 // GROUPS passed templates nested-classes
 //
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/template44.C 
b/gcc/testsuite/g++.old-deja/g++.jason/template44.C
index 2aea33a5e055..72da26eb39e4 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/template44.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/template44.C
@@ -1,4 +1,6 @@
 // { dg-do run  }
+// { dg-skip-if "requires hosted libstdc++ for stdlib qsort" { ! hostedlib } }
+
 #include <stdlib.h>
 #include <string.h>
 
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arm13.C 
b/gcc/testsuite/g++.old-deja/g++.law/arm13.C
index f1393c6e39bc..66952dde3b7c 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/arm13.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/arm13.C
@@ -1,4 +1,6 @@
 // { dg-do run  }
+// { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } }
+
 // GROUPS passed ARM-compliance
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/gcc/testsuite/g++.old-deja/g++.law/scope2.C 
b/gcc/testsuite/g++.old-deja/g++.law/scope2.C
index 13c02c2ae0ff..af1892e1abc5 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/scope2.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/scope2.C
@@ -1,4 +1,6 @@
 // { dg-do run  }
+// { dg-skip-if "requires hosted libstdc++ for stdlib malloc" { ! hostedlib } }
+
 // GROUPS passed scoping
 // scoping file
 // From: svkak...@cs.utexas.edu (Sheetal V. Kakkad)
diff --git a/gcc/testsuite/g++.old-deja/g++.law/weak.C 
b/gcc/testsuite/g++.old-deja/g++.law/weak.C
index 52444e77946d..c751af6ae2b4 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/weak.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/weak.C
@@ -1,6 +1,8 @@
 // { dg-do link { target i?86-*-linux* i?86-*-gnu* x86_64-*-linux* } }
 // { dg-require-effective-target static }
 // { dg-options "-static" }
+// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
+
 // Bug: g++ fails to instantiate operator<<.
 
 // libc-5.4.xx has __IO_putc in its static C library, which can conflict
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/eh47.C 
b/gcc/testsuite/g++.old-deja/g++.mike/eh47.C
index 36d3b9db3298..0b99a9f34e2d 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/eh47.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/eh47.C
@@ -1,5 +1,6 @@
 // { dg-do run { xfail sparc64-*-elf arm-*-pe } }
 // { dg-options "-fexceptions" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib exit" { ! hostedlib } }
 
 #include <cstdlib>
 #include <exception>
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/ns15.C 
b/gcc/testsuite/g++.old-deja/g++.mike/ns15.C
index b4cf044a80b4..5b3607fb03dd 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/ns15.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/ns15.C
@@ -1,6 +1,7 @@
 // { dg-do assemble }
 // { dg-xfail-if "" { xstormy16-*-* } }
 // { dg-require-effective-target size20plus }
+// { dg-skip-if "requires hosted libstdc++ for stdlib qsort" { ! hostedlib } }
 
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p710.C 
b/gcc/testsuite/g++.old-deja/g++.mike/p710.C
index 7fdd5b022381..3756a5e76e1d 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/p710.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p710.C
@@ -1,4 +1,6 @@
 // { dg-do assemble  }
+// { dg-skip-if "requires hosted libstdc++ for stdlib size_t" { ! hostedlib } }
+
 // GROUPS passed delete
 /*
   Bug Id: 
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p9706.C 
b/gcc/testsuite/g++.old-deja/g++.mike/p9706.C
index 0ed15e4c85c1..7a4c05f44ddb 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/p9706.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p9706.C
@@ -1,5 +1,6 @@
 // { dg-do run { xfail sparc64-*-elf arm-*-pe } }
 // { dg-options "-fexceptions" }
+// { dg-skip-if "requires hosted libstdc++ for stdlib size_t" { ! hostedlib } }
 // prms-id: 9706
 
 #include <stdlib.h>
diff --git a/gcc/testsuite/g++.old-deja/g++.oliva/new1.C 
b/gcc/testsuite/g++.old-deja/g++.oliva/new1.C
index 86d25f8e6f35..3b6af27cb8bf 100644
--- a/gcc/testsuite/g++.old-deja/g++.oliva/new1.C
+++ b/gcc/testsuite/g++.old-deja/g++.oliva/new1.C
@@ -1,4 +1,6 @@
 // { dg-do run  }
+// { dg-skip-if "requires hosted libstdc++ for stdlib size_t" { ! hostedlib } }
+
 // Copyright (C) 1999 Free Software Foundation
 
 // by Alexandre Oliva <ol...@dcc.unicamp.br>
diff --git a/gcc/testsuite/g++.old-deja/g++.other/delete8.C 
b/gcc/testsuite/g++.old-deja/g++.other/delete8.C
index ea44445b0b6c..b3b374da5ba5 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/delete8.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/delete8.C
@@ -1,4 +1,6 @@
 // { dg-do run  }
+// { dg-skip-if "requires hosted libstdc++ for stdlib size_t" { ! hostedlib } }
+
 // Origin: Mark Mitchell <m...@codesourcery.com>
 
 #include <stdlib.h>
diff --git a/gcc/testsuite/g++.target/i386/avx-pr54700-1.C 
b/gcc/testsuite/g++.target/i386/avx-pr54700-1.C
index ef696886ce67..9037650aa433 100644
--- a/gcc/testsuite/g++.target/i386/avx-pr54700-1.C
+++ b/gcc/testsuite/g++.target/i386/avx-pr54700-1.C
@@ -5,5 +5,6 @@
 /* { dg-final { scan-assembler-times "vpblendvb" 2 } } */
 /* { dg-final { scan-assembler-times "vblendvps" 4 } } */
 /* { dg-final { scan-assembler-times "vblendvpd" 4 } } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include "sse4_1-pr54700-1.C"
diff --git a/gcc/testsuite/g++.target/i386/avx-pr54700-2.C 
b/gcc/testsuite/g++.target/i386/avx-pr54700-2.C
index e3556f312179..251b95084b45 100644
--- a/gcc/testsuite/g++.target/i386/avx-pr54700-2.C
+++ b/gcc/testsuite/g++.target/i386/avx-pr54700-2.C
@@ -1,6 +1,7 @@
 /* PR target/54700 */
 /* { dg-do run { target avx } } */
 /* { dg-options "-O2 -std=c++14 -mavx -mno-xop -mno-avx2" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #define CHECK_H "avx-check.h"
 #define TEST avx_test
diff --git a/gcc/testsuite/g++.target/i386/avx2-pr54700-1.C 
b/gcc/testsuite/g++.target/i386/avx2-pr54700-1.C
index b685c2aa28bb..99050c635d54 100644
--- a/gcc/testsuite/g++.target/i386/avx2-pr54700-1.C
+++ b/gcc/testsuite/g++.target/i386/avx2-pr54700-1.C
@@ -5,6 +5,7 @@
 /* { dg-final { scan-assembler-times "vpblendvb" 2 } } */
 /* { dg-final { scan-assembler-times "vblendvps" 4 } } */
 /* { dg-final { scan-assembler-times "vblendvpd" 4 } } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <x86intrin.h>
 
diff --git a/gcc/testsuite/g++.target/i386/avx2-pr54700-2.C 
b/gcc/testsuite/g++.target/i386/avx2-pr54700-2.C
index e7a85c34b175..0845d4af5eb5 100644
--- a/gcc/testsuite/g++.target/i386/avx2-pr54700-2.C
+++ b/gcc/testsuite/g++.target/i386/avx2-pr54700-2.C
@@ -1,6 +1,7 @@
 /* PR target/54700 */
 /* { dg-do run { target avx2 } } */
 /* { dg-options "-O2 -std=c++14 -mavx2 -mno-xop -mno-avx512f" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #ifndef CHECK_H
 #define CHECK_H "avx2-check.h"
diff --git a/gcc/testsuite/g++.target/i386/avx512bw-pr96246-2.C 
b/gcc/testsuite/g++.target/i386/avx512bw-pr96246-2.C
index 30a1b9595730..126d4d247163 100644
--- a/gcc/testsuite/g++.target/i386/avx512bw-pr96246-2.C
+++ b/gcc/testsuite/g++.target/i386/avx512bw-pr96246-2.C
@@ -2,6 +2,7 @@
 /* { dg-do run } */
 /* { dg-require-effective-target avx512bw } */
 /* { dg-options "-O2 -std=c++14 -mavx512bw" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #define AVX512BW
 
diff --git a/gcc/testsuite/g++.target/i386/avx512vl-pr54700-1a.C 
b/gcc/testsuite/g++.target/i386/avx512vl-pr54700-1a.C
index fedc3aad0190..e03d86482fb0 100644
--- a/gcc/testsuite/g++.target/i386/avx512vl-pr54700-1a.C
+++ b/gcc/testsuite/g++.target/i386/avx512vl-pr54700-1a.C
@@ -5,5 +5,6 @@
 /* { dg-final { scan-assembler-times "vpblendvb" 2 } } */
 /* { dg-final { scan-assembler-times "vblendvps" 4 } } */
 /* { dg-final { scan-assembler-times "vblendvpd" 4 } } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include "avx2-pr54700-1.C"
diff --git a/gcc/testsuite/g++.target/i386/avx512vl-pr54700-2a.C 
b/gcc/testsuite/g++.target/i386/avx512vl-pr54700-2a.C
index 687a8c4fd8f0..b58d5f53c315 100644
--- a/gcc/testsuite/g++.target/i386/avx512vl-pr54700-2a.C
+++ b/gcc/testsuite/g++.target/i386/avx512vl-pr54700-2a.C
@@ -1,6 +1,7 @@
 /* PR target/100648  */
 /* { dg-do run { target avx2 } } */
 /* { dg-options "-O2 -std=c++14 -mavx2 -mavx512vl -mavx512bw" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #ifndef CHECK_H
 #define CHECK_H "avx512f-helper.h"
diff --git a/gcc/testsuite/g++.target/i386/mvc4.C 
b/gcc/testsuite/g++.target/i386/mvc4.C
index 68df5e3e4d0c..fd8c3e381c9a 100644
--- a/gcc/testsuite/g++.target/i386/mvc4.C
+++ b/gcc/testsuite/g++.target/i386/mvc4.C
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-require-ifunc "" } */
 /* { dg-options "-mavx" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <immintrin.h>
 
diff --git a/gcc/testsuite/g++.target/i386/pr100885.C 
b/gcc/testsuite/g++.target/i386/pr100885.C
index bec08f7e96d0..c09f743ee1fd 100644
--- a/gcc/testsuite/g++.target/i386/pr100885.C
+++ b/gcc/testsuite/g++.target/i386/pr100885.C
@@ -1,5 +1,6 @@
 /* { dg-do compile { target { ! ia32 } } } */
 /* { dg-options "-mavx512vl -mno-avx512bw -O2 -Wno-int-to-pointer-cast 
-std=c++14" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include<x86intrin.h>
 typedef unsigned char byte;
diff --git a/gcc/testsuite/g++.target/i386/pr103750-fwprop-1.C 
b/gcc/testsuite/g++.target/i386/pr103750-fwprop-1.C
index 26987d307aa6..922e33e2c636 100644
--- a/gcc/testsuite/g++.target/i386/pr103750-fwprop-1.C
+++ b/gcc/testsuite/g++.target/i386/pr103750-fwprop-1.C
@@ -2,6 +2,7 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -std=c++1y -march=cannonlake -fdump-rtl-fwprop1" } */
 /* { dg-final { scan-rtl-dump-not "subreg:HI\[ 
\\\(\]*reg:SI\[^\n]*\n\[^\n]*UNSPEC_TZCNT" "fwprop1" } } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include<immintrin.h>
 const char16_t *qustrchr(char16_t *n, char16_t *e, char16_t c) noexcept
diff --git a/gcc/testsuite/g++.target/i386/pr105593.C 
b/gcc/testsuite/g++.target/i386/pr105593.C
index 3897f706bb11..aef1adbcf46d 100644
--- a/gcc/testsuite/g++.target/i386/pr105593.C
+++ b/gcc/testsuite/g++.target/i386/pr105593.C
@@ -1,6 +1,7 @@
 // PR c++/105593
 // { dg-do compile { target c++14 } }
 // { dg-options "-mavx512fp16 -W -Wall -O2" }
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <x86intrin.h>
 
diff --git a/gcc/testsuite/g++.target/i386/pr105638.C 
b/gcc/testsuite/g++.target/i386/pr105638.C
index c8770933b7c1..b91301ba47ce 100644
--- a/gcc/testsuite/g++.target/i386/pr105638.C
+++ b/gcc/testsuite/g++.target/i386/pr105638.C
@@ -1,6 +1,7 @@
 /* { dg-do compile { target { ! ia32 } } } */
 /* { dg-options "-std=gnu++20 -O2 -march=skylake" } */
 /* { dg-final { scan-assembler-not "call\[\\t 
\]_?memset\[\r\n\]\[^\r\n\]movq\[\\t \]%\[a-z0-9]*, 
%\[a-z0-9]*\[\r\n\]\[^\r\n\]vpxor\[\\t \]%xmm0, %xmm0, 
%xmm0\[\r\n\]\[^\r\n\]vmovdqu\[\\t \]%xmm0, 36\\(%rax\\)" } } */
+/* { dg-skip-if "requires hosted libstdc++ for vector" { ! hostedlib } } */
 
 
 #include <stdint.h>
diff --git a/gcc/testsuite/g++.target/i386/pr110170.C 
b/gcc/testsuite/g++.target/i386/pr110170.C
index 21cca8f38052..d2d8811b13d7 100644
--- a/gcc/testsuite/g++.target/i386/pr110170.C
+++ b/gcc/testsuite/g++.target/i386/pr110170.C
@@ -1,5 +1,7 @@
 /* { dg-do run { target sse4 } } */
 /* { dg-options " -O2 -msse4.1 -mfpmath=sse -std=gnu++20" } */
+/* { dg-skip-if "requires hosted libstdc++ for cmath" { ! hostedlib } } */
+
 #include <math.h>
 
 #ifndef CHECK_H
diff --git a/gcc/testsuite/g++.target/i386/pr112443.C 
b/gcc/testsuite/g++.target/i386/pr112443.C
index ebfa9b4a753b..7a47ceaf632e 100644
--- a/gcc/testsuite/g++.target/i386/pr112443.C
+++ b/gcc/testsuite/g++.target/i386/pr112443.C
@@ -2,6 +2,7 @@
 /* { dg-require-effective-target avx512bw } */
 /* { dg-require-effective-target avx512vl } */
 /* { dg-options "-O2 -std=c++17 -mavx512bw -mavx512vl" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <cstdint>
 #include <x86intrin.h>
diff --git a/gcc/testsuite/g++.target/i386/pr113560.C 
b/gcc/testsuite/g++.target/i386/pr113560.C
index 179b68f9833f..c4a1ccf41c43 100644
--- a/gcc/testsuite/g++.target/i386/pr113560.C
+++ b/gcc/testsuite/g++.target/i386/pr113560.C
@@ -1,5 +1,6 @@
 /* { dg-do compile { target { ! ia32 } } } */
 /* { dg-options "-Ofast -std=c++23 -march=znver4" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <immintrin.h>
 auto f(char *buf, unsigned long long in) noexcept
diff --git a/gcc/testsuite/g++.target/i386/pr80566-1.C 
b/gcc/testsuite/g++.target/i386/pr80566-1.C
index 29da31d6bb62..2a8031c46bd6 100644
--- a/gcc/testsuite/g++.target/i386/pr80566-1.C
+++ b/gcc/testsuite/g++.target/i386/pr80566-1.C
@@ -1,5 +1,6 @@
 // { dg-do compile }
 // { dg-options "-O2 -march=haswell -mtune-ctrl=avx256_store_by_pieces" }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
 
 #include <cstring>
 
diff --git a/gcc/testsuite/g++.target/i386/pr80566-2.C 
b/gcc/testsuite/g++.target/i386/pr80566-2.C
index 9ffd2c8cadb8..9f09c9d8de8f 100644
--- a/gcc/testsuite/g++.target/i386/pr80566-2.C
+++ b/gcc/testsuite/g++.target/i386/pr80566-2.C
@@ -1,5 +1,6 @@
 // { dg-do compile }
 // { dg-options "-O2 -march=haswell -mtune-ctrl=avx256_move_by_pieces" }
+// { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
 
 #include <cstring>
 
diff --git a/gcc/testsuite/g++.target/i386/pr88152.C 
b/gcc/testsuite/g++.target/i386/pr88152.C
index 9f1659b75868..a0aed94e7acf 100644
--- a/gcc/testsuite/g++.target/i386/pr88152.C
+++ b/gcc/testsuite/g++.target/i386/pr88152.C
@@ -8,6 +8,7 @@
 // { dg-final { scan-assembler-times "vmovmskpd\[^\n\r]*xmm" 4 } }
 // { dg-final { scan-assembler-times "vmovmskpd\[^\n\r]*ymm" 4 } }
 // { dg-final { scan-assembler-not "vpcmpgt|vpcmpeq|vpsra" } }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
}
 
 #include <x86intrin.h>
 
diff --git a/gcc/testsuite/g++.target/i386/pr88998.C 
b/gcc/testsuite/g++.target/i386/pr88998.C
index a338ad7964c1..a54132831426 100644
--- a/gcc/testsuite/g++.target/i386/pr88998.C
+++ b/gcc/testsuite/g++.target/i386/pr88998.C
@@ -2,6 +2,7 @@
 // { dg-do run { target sse2_runtime } }
 // { dg-options "-O2 -msse2 -mfpmath=387" }
 // { dg-require-effective-target c++11 }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
}
 
 #include <cassert>
 #include <unordered_map>
diff --git a/gcc/testsuite/g++.target/i386/pr94046-1.C 
b/gcc/testsuite/g++.target/i386/pr94046-1.C
index f2d472442d76..708c9f8f3f0e 100644
--- a/gcc/testsuite/g++.target/i386/pr94046-1.C
+++ b/gcc/testsuite/g++.target/i386/pr94046-1.C
@@ -1,6 +1,7 @@
 // PR target/94046
 // { dg-do compile }
 // { dg-options "-O2 -mavx2 -mxop" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
}
 
 #include <x86intrin.h>
 
diff --git a/gcc/testsuite/g++.target/i386/pr94046-2.C 
b/gcc/testsuite/g++.target/i386/pr94046-2.C
index abc8c3ee1ec4..ba6678669d71 100644
--- a/gcc/testsuite/g++.target/i386/pr94046-2.C
+++ b/gcc/testsuite/g++.target/i386/pr94046-2.C
@@ -1,5 +1,6 @@
 // PR target/94046
 // { dg-do compile }
 // { dg-options "-O0 -mavx2 -mxop" }
+// { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
}
 
 #include "pr94046-1.C"
diff --git a/gcc/testsuite/g++.target/i386/sse4_1-pr54700-1.C 
b/gcc/testsuite/g++.target/i386/sse4_1-pr54700-1.C
index 2b5cdb14b13a..020da6964a44 100644
--- a/gcc/testsuite/g++.target/i386/sse4_1-pr54700-1.C
+++ b/gcc/testsuite/g++.target/i386/sse4_1-pr54700-1.C
@@ -5,6 +5,7 @@
 /* { dg-final { scan-assembler-times "pblendvb" 2 } } */
 /* { dg-final { scan-assembler-times "blendvps" 4 } } */
 /* { dg-final { scan-assembler-times "blendvpd" 4 } } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #include <x86intrin.h>
 
diff --git a/gcc/testsuite/g++.target/i386/sse4_1-pr54700-2.C 
b/gcc/testsuite/g++.target/i386/sse4_1-pr54700-2.C
index cef7d9764f8d..09e768fb2c92 100644
--- a/gcc/testsuite/g++.target/i386/sse4_1-pr54700-2.C
+++ b/gcc/testsuite/g++.target/i386/sse4_1-pr54700-2.C
@@ -1,6 +1,7 @@
 /* PR target/54700 */
 /* { dg-do run { target sse4 } } */
 /* { dg-options "-O2 -std=c++14 -msse4 -mno-avx -mno-xop" } */
+/* { dg-skip-if "requires hosted libstdc++ for cstdlib malloc" { ! hostedlib } 
} */
 
 #ifndef CHECK_H
 #define CHECK_H "sse4_1-check.h"

Reply via email to