get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/2216102/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "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": []
}