diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p11-observe.C b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p11-observe.C index e97f1200c09..7ca6199ef4c 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p11-observe.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p11-observe.C @@ -10,6 +10,7 @@ // // { dg-do run { target c++26 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe" } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } int f(int i, int j = 1) pre(i > 0) post(r: r < 5) { diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-2.C b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-2.C index 19144b6b857..a643cc7d29d 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-2.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-2.C @@ -7,6 +7,7 @@ // invoked (14.6.2). — end note] // { dg-do run { target c++26 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe " } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include #include diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-3.C b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-3.C index 682e55ac18c..cc0c0e7f5e9 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-3.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-3.C @@ -6,6 +6,7 @@ // for a handler continues from the execution of that statement. — end note] // { dg-do run { target c++26 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe " } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include #include diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-4.C b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-4.C index 50a59b90b2e..5ac94e29f5f 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-4.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-4.C @@ -10,6 +10,7 @@ // // { dg-do run { target c++26 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe " } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include #include diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-5.C b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-5.C index b48151f1195..aca89a819cd 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-5.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-5.C @@ -10,6 +10,7 @@ // // { dg-do run { target c++26 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe " } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include #include diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF-post.C b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF-post.C index 39fc55ad3cc..2aaf13781f8 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF-post.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF-post.C @@ -11,6 +11,7 @@ // // { dg-do run { target c++26 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe " } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include #include diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF-pre.C b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF-pre.C index 6297571fdb4..378b93d2bbc 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF-pre.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF-pre.C @@ -11,6 +11,7 @@ // // { dg-do run { target c++26 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe " } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include #include diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF2.C b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF2.C index 1f55f4cca26..eccef309f4b 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF2.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF2.C @@ -10,6 +10,7 @@ // // { dg-do run { target c++26 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe " } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include #include diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF3.C b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF3.C index 605cbc277b4..6a364eb1ffd 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF3.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF3.C @@ -10,6 +10,7 @@ // // { dg-do run { target c++26 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe " } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include #include diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF4.C b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF4.C index 2b787753cab..0f4991cda3e 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF4.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF4.C @@ -11,6 +11,7 @@ // // { dg-do run { target c++26 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe " } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include #include diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17.C b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17.C index 0f33722248c..01db74ee4fd 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17.C @@ -7,6 +7,7 @@ // invoked (14.6.2). — end note] // { dg-do run { target c++26 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe " } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include #include diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p4.C b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p4.C index eb8f2d85ce6..386c98502f0 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p4.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p4.C @@ -4,6 +4,7 @@ // [Note 2 : The predicate is potentially evaluated (6.3), but not evaluated. — end note] // { dg-do run { target c++26 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=ignore" } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p6.observe.C b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p6.observe.C index 7f05fd8be1a..a3ee0a5a029 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p6.observe.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p6.observe.C @@ -6,7 +6,6 @@ // { dg-do compile { target c++26 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe -fdump-tree-gimple " } - int main(int ac, char *av[]) { int i = ac; diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/callerside-checks-all.C b/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/callerside-checks-all.C index 07c09321c40..43805721b07 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/callerside-checks-all.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/callerside-checks-all.C @@ -1,6 +1,6 @@ // { dg-do run { target c++20 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe -fcontracts-client-check=all" } - +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } int f(const int a, const int b) pre (a > 2) post(r : r > 2){ return b; } diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/callerside-checks-none.C b/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/callerside-checks-none.C index 22e0ded4241..ae3acac6079 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/callerside-checks-none.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/callerside-checks-none.C @@ -1,5 +1,7 @@ // { dg-do run { target c++26 } } // { dg-additional-options "-fcontracts -fcontracts-client-check=none" } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } + static int pre_check = 0; bool fpre() { diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/callerside-checks-pre.C b/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/callerside-checks-pre.C index 1a3a693e3ab..14453870f08 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/callerside-checks-pre.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/callerside-checks-pre.C @@ -1,5 +1,6 @@ // { dg-do run { target c++26 } } // { dg-additional-options "-fcontracts -fcontracts-client-check=pre" } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } static int pre_check = 0; bool fpre() diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/freefunc-noexcept-post.C b/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/freefunc-noexcept-post.C index 99c080f52db..bc944b5c65c 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/freefunc-noexcept-post.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/freefunc-noexcept-post.C @@ -4,6 +4,7 @@ // with caller side checks. // { dg-do run { target c++26 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe -fcontracts-client-check=all " } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include #include diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/freefunc-noexcept-pre.C b/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/freefunc-noexcept-pre.C index 7e3968b453b..25d7ec0bbe3 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/freefunc-noexcept-pre.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/freefunc-noexcept-pre.C @@ -4,6 +4,7 @@ // with caller side checks. // { dg-do run { target c++26 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe -fcontracts-client-check=all " } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include #include diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/contract-assert-run.C b/gcc/testsuite/g++.dg/contracts/cpp26/contract-assert-run.C index 760bd36c275..6295d932dac 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/contract-assert-run.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/contract-assert-run.C @@ -9,6 +9,7 @@ // ensure that a missing colon after contract role errors // { dg-do run { target c++26 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe" } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include #include diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/contract-violation-noexcept2.C b/gcc/testsuite/g++.dg/contracts/cpp26/contract-violation-noexcept2.C index 8f41a4f8e46..42739db0263 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/contract-violation-noexcept2.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/contract-violation-noexcept2.C @@ -2,6 +2,7 @@ // { dg-do run { target c++26 } } // { dg-additional-options "-fcontracts" } // { dg-additional-sources "throwing-violation-handler.cc" } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/debug-and-opt.C b/gcc/testsuite/g++.dg/contracts/cpp26/debug-and-opt.C index 0d6fa197895..fbc7b11c3f9 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/debug-and-opt.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/debug-and-opt.C @@ -1,7 +1,7 @@ // Check that we do not ICE with debug + optimisation. // { dg-do run { target c++23 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe -O -g" } - +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } int foo (const int i) pre (i > 3) diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/deferred1.C b/gcc/testsuite/g++.dg/contracts/cpp26/deferred1.C index 165f8eded78..2a8d26e600d 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/deferred1.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/deferred1.C @@ -2,6 +2,7 @@ // For now, diagnose that we at least don't accidentally merge the contracts // { dg-do run { target c++23 } } // { dg-additional-options "-fcontracts -g3" } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include struct contract { diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/definition-checks/contract-assert-no-def-check.C b/gcc/testsuite/g++.dg/contracts/cpp26/definition-checks/contract-assert-no-def-check.C index 74d743b38e1..75b1888e262 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/definition-checks/contract-assert-no-def-check.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/definition-checks/contract-assert-no-def-check.C @@ -2,6 +2,7 @@ // are turned off // { dg-do run { target c++26 } } // { dg-options "-fcontracts -fcontracts-definition-check=off -fcontract-evaluation-semantic=observe" } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/dependent_contract.C b/gcc/testsuite/g++.dg/contracts/cpp26/dependent_contract.C index e4f35c13b8d..73d880afc3c 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/dependent_contract.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/dependent_contract.C @@ -1,6 +1,7 @@ // check that dependent contract check does not cause an ICE // { dg-do run { target c++23 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe " } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } template struct S{ diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/empty-nt-param.C b/gcc/testsuite/g++.dg/contracts/cpp26/empty-nt-param.C index ab92144eacd..44392eb1934 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/empty-nt-param.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/empty-nt-param.C @@ -1,6 +1,7 @@ // check that we do not ICE with an empty nontrivial parameter // { dg-do run { target c++23 } } // { dg-additional-options "-fcontracts -fcontract-checks-outlined" } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } struct NTClass { NTClass(){}; diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/expr.prim.id.unqual.p7-3.C b/gcc/testsuite/g++.dg/contracts/cpp26/expr.prim.id.unqual.p7-3.C index 93ab26e13a4..6e8d23d4368 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/expr.prim.id.unqual.p7-3.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/expr.prim.id.unqual.p7-3.C @@ -8,6 +8,7 @@ // { dg-do run { target c++26 } } // { dg-additional-options "-fcontracts -fcontract-checks-outlined" } // { dg-xfail-run-if "PRXXXXXX" { *-*-* } } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } struct S{ S(){}; diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/expr.prim.id.unqual.p7-4.C b/gcc/testsuite/g++.dg/contracts/cpp26/expr.prim.id.unqual.p7-4.C index c9cdbe51702..45c9fdbf210 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/expr.prim.id.unqual.p7-4.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/expr.prim.id.unqual.p7-4.C @@ -8,6 +8,7 @@ // { dg-do run { target c++23 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe -O2 -g" } // { dg-xfail-run-if "PRXXXXXX" { *-*-* } { "-fcontract-checks-outlined" } "" } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/function-contract-specifier-seq.C b/gcc/testsuite/g++.dg/contracts/cpp26/function-contract-specifier-seq.C index 51560268f23..f6bbe638742 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/function-contract-specifier-seq.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/function-contract-specifier-seq.C @@ -10,7 +10,6 @@ // post attribute-specifier-seq opt ( result-name-introducer opt conditional-expression ) // { dg-do compile { target c++23 } } // { dg-additional-options "-fcontracts" } -// { dg-additional-options "-fcontracts" } static_assert (__cpp_contracts >= 202502L); diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/name_mangling.C b/gcc/testsuite/g++.dg/contracts/cpp26/name_mangling.C index 1e81c1247a1..3df9112eb25 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/name_mangling.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/name_mangling.C @@ -3,7 +3,7 @@ // additional parameter that matches the returen value of the first function // { dg-do run { target c++23 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe " } - +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } int f() post(r:r>1){ return 2;} void f(int i) post(true){ } diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/freefunc-noexcept-post.C b/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/freefunc-noexcept-post.C index 48b752bcefa..5fe807dee55 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/freefunc-noexcept-post.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/freefunc-noexcept-post.C @@ -3,6 +3,7 @@ // This tests the behaviour of a pre condition on a member function // { dg-do run { target c++26 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe -fcontract-checks-outlined" } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include #include diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/freefunc-noexcept-pre.C b/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/freefunc-noexcept-pre.C index a662734d62d..ea94369a7df 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/freefunc-noexcept-pre.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/freefunc-noexcept-pre.C @@ -3,6 +3,7 @@ // This tests the behaviour of a pre condition on a member function // { dg-do run { target c++26 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe -fcontract-checks-outlined" } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include #include diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/func-noexcept-assert.C b/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/func-noexcept-assert.C index f2bc62c432c..a4a5a5c88bf 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/func-noexcept-assert.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/func-noexcept-assert.C @@ -2,6 +2,7 @@ // can be caught by the function. // { dg-do run { target c++26 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe -fcontract-checks-outlined" } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include #include diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/memberfunc-noexcept-post.C b/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/memberfunc-noexcept-post.C index 536f7095f4c..e689f4c33bb 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/memberfunc-noexcept-post.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/memberfunc-noexcept-post.C @@ -3,6 +3,7 @@ // This tests the behaviour of a post condition on a member function // { dg-do run { target c++26 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe -fcontract-checks-outlined" } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include #include diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/memberfunc-noexcept-pre.C b/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/memberfunc-noexcept-pre.C index f629587ae26..787cc506fd4 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/memberfunc-noexcept-pre.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/memberfunc-noexcept-pre.C @@ -3,6 +3,7 @@ // This tests the behaviour of a pre condition on a member function // { dg-do run { target c++26 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe -fcontract-checks-outlined" } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include #include diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/src-loc-0.C b/gcc/testsuite/g++.dg/contracts/cpp26/src-loc-0.C index 025a8fac459..e3a722fa2e1 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/src-loc-0.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/src-loc-0.C @@ -1,6 +1,6 @@ // { dg-do run { target c++23 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe " } - +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } // Test source location without including int diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/src-loc-1.C b/gcc/testsuite/g++.dg/contracts/cpp26/src-loc-1.C index 0987d0e62dd..dcde9f84be3 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/src-loc-1.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/src-loc-1.C @@ -1,5 +1,6 @@ // { dg-do run { target c++23 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe " } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } // Test source location with #include #include @@ -15,4 +16,4 @@ int main () foo (9); } -// { dg-output "contract violation in function int foo.int. at .*:8: x > 10.*(\n|\r\n|\r)" } +// { dg-output "contract violation in function int foo.int. at .*:9: x > 10.*(\n|\r\n|\r)" } diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/src-loc-2.C b/gcc/testsuite/g++.dg/contracts/cpp26/src-loc-2.C index c1ff148f92f..fa67fb80c65 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/src-loc-2.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/src-loc-2.C @@ -1,5 +1,6 @@ // { dg-do run { target c++23 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=observe " } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } // Test source location with a late inclusion of @@ -17,4 +18,4 @@ int main () foo (9); } -// { dg-output "contract violation in function int foo.int. at .*:8: x > 10.*(\n|\r\n|\r)" } +// { dg-output "contract violation in function int foo.int. at .*:9: x > 10.*(\n|\r\n|\r)" } diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/throwing-violation-handler.cc b/gcc/testsuite/g++.dg/contracts/cpp26/throwing-violation-handler.cc index da0686ebc71..06c4ba4801c 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/throwing-violation-handler.cc +++ b/gcc/testsuite/g++.dg/contracts/cpp26/throwing-violation-handler.cc @@ -1,3 +1,4 @@ +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include void handle_contract_violation(const std::contracts::contract_violation&) diff --git a/gcc/testsuite/g++.dg/contracts/cpp26/vaargs.C b/gcc/testsuite/g++.dg/contracts/cpp26/vaargs.C index abb3ded7c07..c7438eb9f11 100644 --- a/gcc/testsuite/g++.dg/contracts/cpp26/vaargs.C +++ b/gcc/testsuite/g++.dg/contracts/cpp26/vaargs.C @@ -1,6 +1,7 @@ // Check contract assertion on a vaarg function // { dg-do run { target c++23 } } // { dg-additional-options "-fcontracts -fcontract-evaluation-semantic=enforce " } +// { dg-skip-if "requires hosted libstdc++ for stdc++exp" { ! hostedlib } } #include #include int simple_printf(const char* fmt, ...) pre (fmt != 0) post (r: r > 0)