Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2216102/?format=api
{ "id": 2216102, "url": "http://patchwork.ozlabs.org/api/patches/2216102/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/20260325195527.34818-1-iain@sandoe.co.uk/", "project": { "id": 17, "url": "http://patchwork.ozlabs.org/api/projects/17/?format=api", "name": "GNU Compiler Collection", "link_name": "gcc", "list_id": "gcc-patches.gcc.gnu.org", "list_email": "gcc-patches@gcc.gnu.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260325195527.34818-1-iain@sandoe.co.uk>", "list_archive_url": null, "date": "2026-03-25T19:55:11", "name": "testsuite, c++: Skip contracts run tests for non-hosted.", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "ca0c40a4b3aff41e5b9a1f0b45274589ed5117de", "submitter": { "id": 80672, "url": "http://patchwork.ozlabs.org/api/people/80672/?format=api", "name": "Iain Sandoe", "email": "iains.gcc@gmail.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/20260325195527.34818-1-iain@sandoe.co.uk/mbox/", "series": [ { "id": 497507, "url": "http://patchwork.ozlabs.org/api/series/497507/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=497507", "date": "2026-03-25T19:55:11", "name": "testsuite, c++: Skip contracts run tests for non-hosted.", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/497507/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2216102/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2216102/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "gcc-patches@gcc.gnu.org" ], "Delivered-To": [ "patchwork-incoming@legolas.ozlabs.org", "gcc-patches@gcc.gnu.org" ], "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=rUCCWM0Y;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:6:3111::32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)", "sourceware.org;\n\tdkim=pass (2048-bit key,\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=rUCCWM0Y", "sourceware.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com", "sourceware.org; spf=pass smtp.mailfrom=gmail.com", "server2.sourceware.org;\n arc=none smtp.remote-ip=209.85.128.42" ], "Received": [ "from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fgyMY2n10z1y1x\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 26 Mar 2026 06:56:09 +1100 (AEDT)", "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id EB6534BAD14A\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 25 Mar 2026 19:56:06 +0000 (GMT)", "from mail-wm1-f42.google.com (mail-wm1-f42.google.com\n [209.85.128.42])\n by sourceware.org (Postfix) with ESMTPS id B01D54BA23F5\n for <gcc-patches@gcc.gnu.org>; Wed, 25 Mar 2026 19:55:32 +0000 (GMT)", "by mail-wm1-f42.google.com with SMTP id\n 5b1f17b1804b1-486fb439299so2513375e9.0\n for <gcc-patches@gcc.gnu.org>; Wed, 25 Mar 2026 12:55:32 -0700 (PDT)", "from localhost.localdomain (host81-138-1-83.in-addr.btopenworld.com.\n [81.138.1.83]) by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-487116f17f3sm148290085e9.1.2026.03.25.12.55.30\n (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);\n Wed, 25 Mar 2026 12:55:30 -0700 (PDT)" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org EB6534BAD14A", "OpenDKIM Filter v2.11.0 sourceware.org B01D54BA23F5" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org B01D54BA23F5", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org B01D54BA23F5", "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1774468533; cv=none;\n b=K23zOn+cl3n66+oxtjnRO6WhAU7Y6mHHOskWRWyN1LQw2+9syDU5+scDR0DtYh7M3fbO//fxbVRPK2cKZ9t+ulkJfb1xw/l5bdRT3Edfp28y7gg/2Orj4LC4qb8+tNdQm+AxVETy5AfwKR7qOl4C4gt6wXapavN3ZVN64rWyUmo=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1774468533; c=relaxed/simple;\n bh=I8x6rVTMovJ1ljbEBPrVS5OqgFBk7rUpRggw2BE9XAI=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=WAls5RSsbRX7UZp9dA/pd7n5Tuc3hmdrPpi9xXsz1BkpwkCGT3hpc9gi2oNb5vZwo1N/whlMRYLEFnyMwnzZiwzQssaQwk/HLKL1AyX9LELzo4yqqJZ+UmRmQ+8+ErUK9aBnyt2VJnBZeB2oUdw6btK8WtUGyPOQGLjfccamEFg=", "ARC-Authentication-Results": "i=1; server2.sourceware.org", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1774468531; x=1775073331; darn=gcc.gnu.org;\n h=content-transfer-encoding:mime-version:reply-to:message-id:date\n :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;\n bh=zJ0Lm7GfbKp+BC/b9yPqBe0zWGariKo86/wekDXBTTU=;\n b=rUCCWM0YkiKI9K7cbom77uvigC5xzwWU4pegufiK0ZpP/8NWZDZb1tWjBPUJ9GwuNQ\n iH37WoLcUJixgD1E3NCuhhlpYQXdAkedneED4LLk1/+RWZXeH/4WG9u+G/65O2B+c57R\n 8DQsH5tnsTFJZ8/xxHC90E/DBPtbrNiW8Y/Z98sjCtqPLxArUfLoPvm9wkr9tTZouKzx\n JfWyrEkcNVb4wm6x8JZlGjRzTNJx0HD4PhQYy8OUk7qpHofi1RC/uGsRuAbCy9m736WU\n UtIfwk4Uw7uuC47RLPCEHUQDX1tY+edq08WIDD2E1P0hpmPQWLuDtMN0lbVXI0xVTvLj\n UBpA==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1774468531; x=1775073331;\n h=content-transfer-encoding:mime-version:reply-to:message-id:date\n :subject:cc:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject\n :date:message-id:reply-to;\n bh=zJ0Lm7GfbKp+BC/b9yPqBe0zWGariKo86/wekDXBTTU=;\n b=J1PGBI9Cfs6AT4FyJfdanieWggVE0eXdSDev4/EFeVnwn8YflDQKNEPYGCPFwSA5wR\n a3LAE/io/z+LxP5FRReTZdcM9xbcTwUKteavivB/IbC+29zSlNREjW+8qxKVtzcpZCHy\n b9MuvQSzgrsPiUsiAgNBqcE9iBAKXRGlJpqs2ne+6vCSyhBjd8dOPZOi3eXImiTXsamg\n X1Qqf5DhWpSXQeGqSU13W0XLfajnJfc0OQtWM3MmFaMi3zAuJCIW/SMC0BIEeOpJw9yV\n LXHlvnwZcfA/rPpA5/jdgpF8D8EWLEsnkZHqEgQtRZ2GApPkPvWV/P0icygjAeMmNA+L\n Cn1Q==", "X-Gm-Message-State": "AOJu0Yx/mPUuP4/lnyF4BfIleUqe4zcEdqtKXoUGGSugAaVdnTFImXmp\n Aq89tfMQ2XqLlsinXP1vB/Uf23dsr1NAU9G9d8x/l99amAqjftINP8+opdOI/w==", "X-Gm-Gg": "ATEYQzyL4qwNdKXppVVRtSPr3kKrIIO1lWfzMBY+vRnYmRBv7xOh46PjlBBml5iWvAs\n dqPbd293zQZ2GcVYxI6wzDG2ZhjR9wwnfN/DJGtZoyE4dv1bmM2xvvf1cnbM2vMgN6obgJ5BXJ4\n +cL/nNih/VgULmrHdd3onM24+mcz7x0oqMNenDq+5o8reiEz8U4EWpy8/YCIrJqrblEzzdCRBfQ\n vLQruiI7QEqZsbWO4ITTHzbCocckWn+03qeiBenAM5Bp7m0uf94eU1kKN6FPbISkLM+k2ZYWTIG\n JjvSVfTRIGmdH2w34YuQr1ipgRxk81QcIXtW3hSVEPOVCLFVZDmKRKwpYHqku/GiiRVtyhQgb1f\n 2kKNUM4serof62B/V1Xxifksg4zV0GVNKTs4xF4bU9KsGRWsI+EXZCur8CYt0RALuvqcQ1FYoAI\n JCcqdc7TdVQyRl6zwgMEhFSvj4Ly52UtyGGAi8SxmTeNE982+7KmUZSbZqo3Dq2lthFNEx6Bn3i\n ZkfGEeJTga+sU8Th5ldMg==", "X-Received": "by 2002:a05:600c:630d:b0:486:fb0b:ad79 with SMTP id\n 5b1f17b1804b1-48716046e69mr70137335e9.20.1774468531235;\n Wed, 25 Mar 2026 12:55:31 -0700 (PDT)", "From": "Iain Sandoe <iains.gcc@gmail.com>", "X-Google-Original-From": "Iain Sandoe <iain@sandoe.co.uk>", "To": "gcc-patches@gcc.gnu.org", "Cc": "oliva@adacore.com", "Subject": "[PATCH] testsuite, c++: Skip contracts run tests for non-hosted.", "Date": "Wed, 25 Mar 2026 19:55:11 +0000", "Message-ID": "<20260325195527.34818-1-iain@sandoe.co.uk>", "X-Mailer": "git-send-email 2.50.1", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit", "X-BeenThere": "gcc-patches@gcc.gnu.org", "X-Mailman-Version": "2.1.30", "Precedence": "list", "List-Id": "Gcc-patches mailing list <gcc-patches.gcc.gnu.org>", "List-Unsubscribe": "<https://gcc.gnu.org/mailman/options/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe>", "List-Archive": "<https://gcc.gnu.org/pipermail/gcc-patches/>", "List-Post": "<mailto:gcc-patches@gcc.gnu.org>", "List-Help": "<mailto:gcc-patches-request@gcc.gnu.org?subject=help>", "List-Subscribe": "<https://gcc.gnu.org/mailman/listinfo/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>", "Reply-To": "iain@sandoe.co.uk", "Errors-To": "gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org" }, "content": "The tests for the cxx2a version of contracts disabled run variants for\nnon-hosted platforms. This patch does the same for the c++26 version.\nTested on x86-64-darwin and x86_64, powerpc64le-linux. \nOK for trunk?\nthanks\nIain\n\n--- 8< ---\n\nThese, in general, require hosted support.\n\ngcc/testsuite/ChangeLog:\n\n\t* g++.dg/contracts/cpp26/basic.contract.eval.p11-observe.C: Skip\n\tfor non-hosted.\n\t* g++.dg/contracts/cpp26/basic.contract.eval.p17-2.C: Likewise.\n\t* g++.dg/contracts/cpp26/basic.contract.eval.p17-3.C: Likewise.\n\t* g++.dg/contracts/cpp26/basic.contract.eval.p17-4.C: Likewise.\n\t* g++.dg/contracts/cpp26/basic.contract.eval.p17-5.C: Likewise.\n\t* g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF-post.C: Likewise.\n\t* g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF-pre.C: Likewise.\n\t* g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF2.C: Likewise.\n\t* g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF3.C: Likewise.\n\t* g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF4.C: Likewise.\n\t* g++.dg/contracts/cpp26/basic.contract.eval.p17.C: Likewise.\n\t* g++.dg/contracts/cpp26/basic.contract.eval.p4.C: Likewise.\n\t* g++.dg/contracts/cpp26/basic.contract.eval.p6.observe.C: Likewise.\n\t* g++.dg/contracts/cpp26/callerside-checks/callerside-checks-all.C: Likewise.\n\t* g++.dg/contracts/cpp26/callerside-checks/callerside-checks-none.C: Likewise.\n\t* g++.dg/contracts/cpp26/callerside-checks/callerside-checks-pre.C: Likewise.\n\t* g++.dg/contracts/cpp26/callerside-checks/freefunc-noexcept-post.C: Likewise.\n\t* g++.dg/contracts/cpp26/callerside-checks/freefunc-noexcept-pre.C: Likewise.\n\t* g++.dg/contracts/cpp26/contract-assert-run.C: Likewise.\n\t* g++.dg/contracts/cpp26/contract-violation-noexcept2.C: Likewise.\n\t* g++.dg/contracts/cpp26/debug-and-opt.C: Likewise.\n\t* g++.dg/contracts/cpp26/deferred1.C: Likewise.\n\t* g++.dg/contracts/cpp26/definition-checks/contract-assert-no-def-check.C: Likewise.\n\t* g++.dg/contracts/cpp26/dependent_contract.C: Likewise.\n\t* g++.dg/contracts/cpp26/empty-nt-param.C: Likewise.\n\t* g++.dg/contracts/cpp26/expr.prim.id.unqual.p7-3.C: Likewise.\n\t* g++.dg/contracts/cpp26/expr.prim.id.unqual.p7-4.C: Likewise.\n\t* g++.dg/contracts/cpp26/function-contract-specifier-seq.C: Likewise.\n\t* g++.dg/contracts/cpp26/name_mangling.C: Likewise.\n\t* g++.dg/contracts/cpp26/outline-checks/freefunc-noexcept-post.C: Likewise.\n\t* g++.dg/contracts/cpp26/outline-checks/freefunc-noexcept-pre.C: Likewise.\n\t* g++.dg/contracts/cpp26/outline-checks/func-noexcept-assert.C: Likewise.\n\t* g++.dg/contracts/cpp26/outline-checks/memberfunc-noexcept-post.C: Likewise.\n\t* g++.dg/contracts/cpp26/outline-checks/memberfunc-noexcept-pre.C: Likewise.\n\t* g++.dg/contracts/cpp26/src-loc-0.C: Likewise.\n\t* g++.dg/contracts/cpp26/src-loc-1.C: Likewise.\n\t* g++.dg/contracts/cpp26/src-loc-2.C: Likewise.\n\t* g++.dg/contracts/cpp26/throwing-violation-handler.cc: Likewise.\n\t* g++.dg/contracts/cpp26/vaargs.C: Likewise.\n\nSigned-off-by: Iain Sandoe <iain@sandoe.co.uk>\n---\n .../g++.dg/contracts/cpp26/basic.contract.eval.p11-observe.C | 1 +\n .../g++.dg/contracts/cpp26/basic.contract.eval.p17-2.C | 1 +\n .../g++.dg/contracts/cpp26/basic.contract.eval.p17-3.C | 1 +\n .../g++.dg/contracts/cpp26/basic.contract.eval.p17-4.C | 1 +\n .../g++.dg/contracts/cpp26/basic.contract.eval.p17-5.C | 1 +\n .../g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF-post.C | 1 +\n .../g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF-pre.C | 1 +\n .../g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF2.C | 1 +\n .../g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF3.C | 1 +\n .../g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF4.C | 1 +\n gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17.C | 1 +\n gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p4.C | 1 +\n .../g++.dg/contracts/cpp26/basic.contract.eval.p6.observe.C | 1 -\n .../contracts/cpp26/callerside-checks/callerside-checks-all.C | 2 +-\n .../contracts/cpp26/callerside-checks/callerside-checks-none.C | 2 ++\n .../contracts/cpp26/callerside-checks/callerside-checks-pre.C | 1 +\n .../contracts/cpp26/callerside-checks/freefunc-noexcept-post.C | 1 +\n .../contracts/cpp26/callerside-checks/freefunc-noexcept-pre.C | 1 +\n gcc/testsuite/g++.dg/contracts/cpp26/contract-assert-run.C | 1 +\n .../g++.dg/contracts/cpp26/contract-violation-noexcept2.C | 1 +\n gcc/testsuite/g++.dg/contracts/cpp26/debug-and-opt.C | 2 +-\n gcc/testsuite/g++.dg/contracts/cpp26/deferred1.C | 1 +\n .../cpp26/definition-checks/contract-assert-no-def-check.C | 1 +\n gcc/testsuite/g++.dg/contracts/cpp26/dependent_contract.C | 1 +\n gcc/testsuite/g++.dg/contracts/cpp26/empty-nt-param.C | 1 +\n .../g++.dg/contracts/cpp26/expr.prim.id.unqual.p7-3.C | 1 +\n .../g++.dg/contracts/cpp26/expr.prim.id.unqual.p7-4.C | 1 +\n .../g++.dg/contracts/cpp26/function-contract-specifier-seq.C | 1 -\n gcc/testsuite/g++.dg/contracts/cpp26/name_mangling.C | 2 +-\n .../contracts/cpp26/outline-checks/freefunc-noexcept-post.C | 1 +\n .../contracts/cpp26/outline-checks/freefunc-noexcept-pre.C | 1 +\n .../contracts/cpp26/outline-checks/func-noexcept-assert.C | 1 +\n .../contracts/cpp26/outline-checks/memberfunc-noexcept-post.C | 1 +\n .../contracts/cpp26/outline-checks/memberfunc-noexcept-pre.C | 1 +\n gcc/testsuite/g++.dg/contracts/cpp26/src-loc-0.C | 2 +-\n gcc/testsuite/g++.dg/contracts/cpp26/src-loc-1.C | 3 ++-\n gcc/testsuite/g++.dg/contracts/cpp26/src-loc-2.C | 3 ++-\n .../g++.dg/contracts/cpp26/throwing-violation-handler.cc | 1 +\n gcc/testsuite/g++.dg/contracts/cpp26/vaargs.C | 1 +\n 39 files changed, 40 insertions(+), 8 deletions(-)", "diff": "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\nindex e97f1200c09..7ca6199ef4c 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p11-observe.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p11-observe.C\n@@ -10,6 +10,7 @@\n //\n // { dg-do run { target c++26 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe\" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n int f(int i, int j = 1) pre(i > 0) post(r: r < 5)\n {\ndiff --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\nindex 19144b6b857..a643cc7d29d 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-2.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-2.C\n@@ -7,6 +7,7 @@\n // invoked (14.6.2). — end note]\n // { dg-do run { target c++26 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe \" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n #include <contracts>\n #include <exception>\ndiff --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\nindex 682e55ac18c..cc0c0e7f5e9 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-3.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-3.C\n@@ -6,6 +6,7 @@\n // for a handler continues from the execution of that statement. — end note]\n // { dg-do run { target c++26 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe \" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n #include <contracts>\n #include <exception>\ndiff --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\nindex 50a59b90b2e..5ac94e29f5f 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-4.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-4.C\n@@ -10,6 +10,7 @@\n //\n // { dg-do run { target c++26 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe \" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n #include <contracts>\n #include <exception>\ndiff --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\nindex b48151f1195..aca89a819cd 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-5.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-5.C\n@@ -10,6 +10,7 @@\n //\n // { dg-do run { target c++26 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe \" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n #include <contracts>\n #include <exception>\ndiff --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\nindex 39fc55ad3cc..2aaf13781f8 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF-post.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF-post.C\n@@ -11,6 +11,7 @@\n //\n // { dg-do run { target c++26 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe \" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n #include <contracts>\n #include <exception>\ndiff --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\nindex 6297571fdb4..378b93d2bbc 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF-pre.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF-pre.C\n@@ -11,6 +11,7 @@\n //\n // { dg-do run { target c++26 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe \" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n #include <contracts>\n #include <exception>\ndiff --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\nindex 1f55f4cca26..eccef309f4b 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF2.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF2.C\n@@ -10,6 +10,7 @@\n //\n // { dg-do run { target c++26 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe \" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n #include <contracts>\n #include <exception>\ndiff --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\nindex 605cbc277b4..6a364eb1ffd 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF3.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF3.C\n@@ -10,6 +10,7 @@\n //\n // { dg-do run { target c++26 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe \" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n #include <contracts>\n #include <exception>\ndiff --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\nindex 2b787753cab..0f4991cda3e 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF4.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17-SMF4.C\n@@ -11,6 +11,7 @@\n //\n // { dg-do run { target c++26 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe \" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n #include <contracts>\n #include <exception>\ndiff --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\nindex 0f33722248c..01db74ee4fd 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p17.C\n@@ -7,6 +7,7 @@\n // invoked (14.6.2). — end note]\n // { dg-do run { target c++26 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe \" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n #include <contracts>\n #include <exception>\ndiff --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\nindex eb8f2d85ce6..386c98502f0 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p4.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p4.C\n@@ -4,6 +4,7 @@\n // [Note 2 : The predicate is potentially evaluated (6.3), but not evaluated. — end note]\n // { dg-do run { target c++26 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=ignore\" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n #include <contracts>\n \ndiff --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\nindex 7f05fd8be1a..a3ee0a5a029 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p6.observe.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/basic.contract.eval.p6.observe.C\n@@ -6,7 +6,6 @@\n // { dg-do compile { target c++26 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe -fdump-tree-gimple \" }\n \n-\n int main(int ac, char *av[])\n {\n int i = ac;\ndiff --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\nindex 07c09321c40..43805721b07 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/callerside-checks-all.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/callerside-checks-all.C\n@@ -1,6 +1,6 @@\n // { dg-do run { target c++20 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe -fcontracts-client-check=all\" }\n-\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n \n int f(const int a, const int b) pre (a > 2) post(r : r > 2){ return b; }\ndiff --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\nindex 22e0ded4241..ae3acac6079 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/callerside-checks-none.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/callerside-checks-none.C\n@@ -1,5 +1,7 @@\n // { dg-do run { target c++26 } }\n // { dg-additional-options \"-fcontracts -fcontracts-client-check=none\" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n+\n static int pre_check = 0;\n bool fpre()\n {\ndiff --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\nindex 1a3a693e3ab..14453870f08 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/callerside-checks-pre.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/callerside-checks-pre.C\n@@ -1,5 +1,6 @@\n // { dg-do run { target c++26 } }\n // { dg-additional-options \"-fcontracts -fcontracts-client-check=pre\" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n static int pre_check = 0;\n bool fpre()\ndiff --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\nindex 99c080f52db..bc944b5c65c 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/freefunc-noexcept-post.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/freefunc-noexcept-post.C\n@@ -4,6 +4,7 @@\n // with caller side checks.\n // { dg-do run { target c++26 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe -fcontracts-client-check=all \" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n #include <contracts>\n #include <iostream>\ndiff --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\nindex 7e3968b453b..25d7ec0bbe3 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/freefunc-noexcept-pre.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/callerside-checks/freefunc-noexcept-pre.C\n@@ -4,6 +4,7 @@\n // with caller side checks.\n // { dg-do run { target c++26 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe -fcontracts-client-check=all \" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n #include <contracts>\n #include <iostream>\ndiff --git a/gcc/testsuite/g++.dg/contracts/cpp26/contract-assert-run.C b/gcc/testsuite/g++.dg/contracts/cpp26/contract-assert-run.C\nindex 760bd36c275..6295d932dac 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/contract-assert-run.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/contract-assert-run.C\n@@ -9,6 +9,7 @@\n // ensure that a missing colon after contract role errors\n // { dg-do run { target c++26 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe\" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n #include <iostream>\n #include <contracts>\ndiff --git a/gcc/testsuite/g++.dg/contracts/cpp26/contract-violation-noexcept2.C b/gcc/testsuite/g++.dg/contracts/cpp26/contract-violation-noexcept2.C\nindex 8f41a4f8e46..42739db0263 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/contract-violation-noexcept2.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/contract-violation-noexcept2.C\n@@ -2,6 +2,7 @@\n // { dg-do run { target c++26 } }\n // { dg-additional-options \"-fcontracts\" }\n // { dg-additional-sources \"throwing-violation-handler.cc\" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n #include <exception>\n \ndiff --git a/gcc/testsuite/g++.dg/contracts/cpp26/debug-and-opt.C b/gcc/testsuite/g++.dg/contracts/cpp26/debug-and-opt.C\nindex 0d6fa197895..fbc7b11c3f9 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/debug-and-opt.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/debug-and-opt.C\n@@ -1,7 +1,7 @@\n // Check that we do not ICE with debug + optimisation.\n // { dg-do run { target c++23 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe -O -g\" }\n-\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n int foo (const int i)\n pre (i > 3)\ndiff --git a/gcc/testsuite/g++.dg/contracts/cpp26/deferred1.C b/gcc/testsuite/g++.dg/contracts/cpp26/deferred1.C\nindex 165f8eded78..2a8d26e600d 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/deferred1.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/deferred1.C\n@@ -2,6 +2,7 @@\n // For now, diagnose that we at least don't accidentally merge the contracts\n // { dg-do run { target c++23 } }\n // { dg-additional-options \"-fcontracts -g3\" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n #include <cassert>\n struct contract\n {\ndiff --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\nindex 74d743b38e1..75b1888e262 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/definition-checks/contract-assert-no-def-check.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/definition-checks/contract-assert-no-def-check.C\n@@ -2,6 +2,7 @@\n // are turned off\n // { dg-do run { target c++26 } }\n // { dg-options \"-fcontracts -fcontracts-definition-check=off -fcontract-evaluation-semantic=observe\" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n #include <cstdlib>\n \ndiff --git a/gcc/testsuite/g++.dg/contracts/cpp26/dependent_contract.C b/gcc/testsuite/g++.dg/contracts/cpp26/dependent_contract.C\nindex e4f35c13b8d..73d880afc3c 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/dependent_contract.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/dependent_contract.C\n@@ -1,6 +1,7 @@\n // check that dependent contract check does not cause an ICE\n // { dg-do run { target c++23 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe \" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n template <typename ST>\n struct S{\n \ndiff --git a/gcc/testsuite/g++.dg/contracts/cpp26/empty-nt-param.C b/gcc/testsuite/g++.dg/contracts/cpp26/empty-nt-param.C\nindex ab92144eacd..44392eb1934 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/empty-nt-param.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/empty-nt-param.C\n@@ -1,6 +1,7 @@\n // check that we do not ICE with an empty nontrivial parameter\n // { dg-do run { target c++23 } }\n // { dg-additional-options \"-fcontracts -fcontract-checks-outlined\" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n struct NTClass {\n NTClass(){};\ndiff --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\nindex 93ab26e13a4..6e8d23d4368 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/expr.prim.id.unqual.p7-3.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/expr.prim.id.unqual.p7-3.C\n@@ -8,6 +8,7 @@\n // { dg-do run { target c++26 } }\n // { dg-additional-options \"-fcontracts -fcontract-checks-outlined\" }\n // { dg-xfail-run-if \"PRXXXXXX\" { *-*-* } }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n struct S{\n S(){};\ndiff --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\nindex c9cdbe51702..45c9fdbf210 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/expr.prim.id.unqual.p7-4.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/expr.prim.id.unqual.p7-4.C\n@@ -8,6 +8,7 @@\n // { dg-do run { target c++23 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe -O2 -g\" }\n // { dg-xfail-run-if \"PRXXXXXX\" { *-*-* } { \"-fcontract-checks-outlined\" } \"\" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n #include <cassert>\n \ndiff --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\nindex 51560268f23..f6bbe638742 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/function-contract-specifier-seq.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/function-contract-specifier-seq.C\n@@ -10,7 +10,6 @@\n //\tpost attribute-specifier-seq opt ( result-name-introducer opt conditional-expression )\n // { dg-do compile { target c++23 } }\n // { dg-additional-options \"-fcontracts\" }\n-// { dg-additional-options \"-fcontracts\" }\n \n static_assert (__cpp_contracts >= 202502L);\n \ndiff --git a/gcc/testsuite/g++.dg/contracts/cpp26/name_mangling.C b/gcc/testsuite/g++.dg/contracts/cpp26/name_mangling.C\nindex 1e81c1247a1..3df9112eb25 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/name_mangling.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/name_mangling.C\n@@ -3,7 +3,7 @@\n // additional parameter that matches the returen value of the first function\n // { dg-do run { target c++23 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe \" }\n-\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n int f() post(r:r>1){ return 2;}\n void f(int i) post(true){ }\ndiff --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\nindex 48b752bcefa..5fe807dee55 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/freefunc-noexcept-post.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/freefunc-noexcept-post.C\n@@ -3,6 +3,7 @@\n // This tests the behaviour of a pre condition on a member function\n // { dg-do run { target c++26 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe -fcontract-checks-outlined\" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n #include <contracts>\n #include <exception>\ndiff --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\nindex a662734d62d..ea94369a7df 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/freefunc-noexcept-pre.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/freefunc-noexcept-pre.C\n@@ -3,6 +3,7 @@\n // This tests the behaviour of a pre condition on a member function\n // { dg-do run { target c++26 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe -fcontract-checks-outlined\" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n #include <contracts>\n #include <exception>\ndiff --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\nindex f2bc62c432c..a4a5a5c88bf 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/func-noexcept-assert.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/func-noexcept-assert.C\n@@ -2,6 +2,7 @@\n // can be caught by the function.\n // { dg-do run { target c++26 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe -fcontract-checks-outlined\" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n #include <contracts>\n #include <exception>\ndiff --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\nindex 536f7095f4c..e689f4c33bb 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/memberfunc-noexcept-post.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/memberfunc-noexcept-post.C\n@@ -3,6 +3,7 @@\n // This tests the behaviour of a post condition on a member function\n // { dg-do run { target c++26 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe -fcontract-checks-outlined\" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n #include <contracts>\n #include <exception>\ndiff --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\nindex f629587ae26..787cc506fd4 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/memberfunc-noexcept-pre.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/outline-checks/memberfunc-noexcept-pre.C\n@@ -3,6 +3,7 @@\n // This tests the behaviour of a pre condition on a member function\n // { dg-do run { target c++26 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe -fcontract-checks-outlined\" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n #include <contracts>\n #include <exception>\ndiff --git a/gcc/testsuite/g++.dg/contracts/cpp26/src-loc-0.C b/gcc/testsuite/g++.dg/contracts/cpp26/src-loc-0.C\nindex 025a8fac459..e3a722fa2e1 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/src-loc-0.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/src-loc-0.C\n@@ -1,6 +1,6 @@\n // { dg-do run { target c++23 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe \" }\n-\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n // Test source location without including <source_location>\n \n int\ndiff --git a/gcc/testsuite/g++.dg/contracts/cpp26/src-loc-1.C b/gcc/testsuite/g++.dg/contracts/cpp26/src-loc-1.C\nindex 0987d0e62dd..dcde9f84be3 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/src-loc-1.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/src-loc-1.C\n@@ -1,5 +1,6 @@\n // { dg-do run { target c++23 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe \" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n // Test source location with #include <source_location>\n #include <source_location>\n \n@@ -15,4 +16,4 @@ int main ()\n foo (9);\n }\n \n-// { dg-output \"contract violation in function int foo.int. at .*:8: x > 10.*(\\n|\\r\\n|\\r)\" }\n+// { dg-output \"contract violation in function int foo.int. at .*:9: x > 10.*(\\n|\\r\\n|\\r)\" }\ndiff --git a/gcc/testsuite/g++.dg/contracts/cpp26/src-loc-2.C b/gcc/testsuite/g++.dg/contracts/cpp26/src-loc-2.C\nindex c1ff148f92f..fa67fb80c65 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/src-loc-2.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/src-loc-2.C\n@@ -1,5 +1,6 @@\n // { dg-do run { target c++23 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=observe \" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n \n // Test source location with a late inclusion of <source_location>\n \n@@ -17,4 +18,4 @@ int main ()\n foo (9);\n }\n \n-// { dg-output \"contract violation in function int foo.int. at .*:8: x > 10.*(\\n|\\r\\n|\\r)\" }\n+// { dg-output \"contract violation in function int foo.int. at .*:9: x > 10.*(\\n|\\r\\n|\\r)\" }\ndiff --git a/gcc/testsuite/g++.dg/contracts/cpp26/throwing-violation-handler.cc b/gcc/testsuite/g++.dg/contracts/cpp26/throwing-violation-handler.cc\nindex da0686ebc71..06c4ba4801c 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/throwing-violation-handler.cc\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/throwing-violation-handler.cc\n@@ -1,3 +1,4 @@\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n #include <contracts>\n \n void handle_contract_violation(const std::contracts::contract_violation&)\ndiff --git a/gcc/testsuite/g++.dg/contracts/cpp26/vaargs.C b/gcc/testsuite/g++.dg/contracts/cpp26/vaargs.C\nindex abb3ded7c07..c7438eb9f11 100644\n--- a/gcc/testsuite/g++.dg/contracts/cpp26/vaargs.C\n+++ b/gcc/testsuite/g++.dg/contracts/cpp26/vaargs.C\n@@ -1,6 +1,7 @@\n // Check contract assertion on a vaarg function\n // { dg-do run { target c++23 } }\n // { dg-additional-options \"-fcontracts -fcontract-evaluation-semantic=enforce \" }\n+// { dg-skip-if \"requires hosted libstdc++ for stdc++exp\" { ! hostedlib } }\n #include <stdio.h>\n #include <stdarg.h>\n int simple_printf(const char* fmt, ...) pre (fmt != 0) post (r: r > 0)\n", "prefixes": [] }