From nobody Sun Apr 12 05:57:58 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1771450497; cv=none; d=zohomail.com; s=zohoarc; b=NVMMzjq7DvBRnzQw13KFa5weMsc8EhmBQunVticSmw4GriUbvh73ExBMTk+mCh2+RYEwdyHzpSsWJPJULrdN1ObmT4wd/5kLEZU0zMdF2rszSlIsFP6fTvsekx7koJFgQJh8qtOURsDif/HGzB+Nv8EnJHBFMNDR6020pwX9iMU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1771450497; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Oz5Ts3Qyazr1Fg/apL0t/XQrjQkc6Mu38D7gvg35lFc=; b=iJdZavL+X9SecSl7aI/blC+rVKcY761pZBA9Ney5QgbQyjFLRh31+Ykk1S5z4bY2KPEWMjXSWky16AdomnaE2borp4S3bLDUNAhac5TYCka3rcl9mmRzoivwcDkBr6a9wPv6BJsoq1TH9tE+qNp2LincykyNbtzPxoVgZB0hJwU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 177145049713853.87895013428033; Wed, 18 Feb 2026 13:34:57 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vspC1-0006Td-ND; Wed, 18 Feb 2026 16:34:46 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vspBy-0006Ss-Tc for qemu-devel@nongnu.org; Wed, 18 Feb 2026 16:34:42 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vspBw-0001w0-Qr for qemu-devel@nongnu.org; Wed, 18 Feb 2026 16:34:42 -0500 Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-658-J3MBiRsNPCW0yjTI1C4r6Q-1; Wed, 18 Feb 2026 16:34:36 -0500 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id E07841955D89; Wed, 18 Feb 2026 21:34:33 +0000 (UTC) Received: from jsnow-thinkpadp16vgen1.westford.csb (unknown [10.22.65.233]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id A1E3A19560B5; Wed, 18 Feb 2026 21:34:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1771450479; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Oz5Ts3Qyazr1Fg/apL0t/XQrjQkc6Mu38D7gvg35lFc=; b=Le+vjvxPW2Ro3qOZND+6gVoFJSRUJK5y2K45pHvPS7jk0JLLMfCpC/ZecZXEWP5AoYWhgo 0qX9mcy0oR0JROFAytixjZLnbDDgzv3HQ6yEXlAhq60HYW3/qa8lq3QUj78tcWFRIV/WfY X0lWZDZELn36PELDaPCHYId0EsxEQ0o= X-MC-Unique: J3MBiRsNPCW0yjTI1C4r6Q-1 X-Mimecast-MFC-AGG-ID: J3MBiRsNPCW0yjTI1C4r6Q_1771450474 From: John Snow To: qemu-devel@nongnu.org Cc: Kevin Wolf , Warner Losh , Mauro Carvalho Chehab , Paolo Bonzini , =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , qemu-block@nongnu.org, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Fabiano Rosas , John Snow , Michael Roth , Pierrick Bouvier , Markus Armbruster , Peter Xu , Yonggang Luo , Hanna Reitz , Maksim Davydov , Thomas Huth , Ed Maste , Alexandre Iooss , Cleber Rosa , Li-Wen Hsu , Mahmoud Mandour , Kyle Evans , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Vladimir Sementsov-Ogievskiy Subject: [PATCH v8 01/20] [do-not-merge] contrib/plugins/cpp: use __has_include Date: Wed, 18 Feb 2026 16:33:56 -0500 Message-ID: <20260218213416.674483-2-jsnow@redhat.com> In-Reply-To: <20260218213416.674483-1-jsnow@redhat.com> References: <20260218213416.674483-1-jsnow@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=jsnow@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.043, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1771450500045158500 From: Pierrick Bouvier (Included for the sake of proving this series does not cause any VM building regressions; this patch has been submitted separately upstream by pbo; this series does not otherwise depend on that patch. --js) This make sure we can include all possible headers without breaking build for environments missing them. It fixes compilation on openbsd. We don't want to pollute configure script, as it's really a special case here to make sure we don't have a compilation regression with qemu-plugins header. Signed-off-by: Pierrick Bouvier Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: John Snow --- contrib/plugins/cpp.cpp | 261 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 259 insertions(+), 2 deletions(-) diff --git a/contrib/plugins/cpp.cpp b/contrib/plugins/cpp.cpp index 1ff54896d97..0673c4f074d 100644 --- a/contrib/plugins/cpp.cpp +++ b/contrib/plugins/cpp.cpp @@ -6,103 +6,360 @@ =20 #include =20 -/* https://en.cppreference.com/w/cpp/headers.html */ +/* + * We include all C++ standard headers (without deprecated ones), + * taken from: https://en.cppreference.com/w/cpp/headers.html + * + * To update, copy page text, and then: + * grep '^<' | + * sort -u | + * grep -v strstream | + * grep -v codecvt | + * sed -e 's/\(.*\)/#if __has_include(\1)\n#include \1\n#endif/' + */ + +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include -#include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() +#include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() +#include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() +#include +#endif +#if __has_include() #include +#endif +#if __has_include() +#include +#endif +#if __has_include() +#include +#endif +#if __has_include() +#include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() +#include +#endif +#if __has_include() +#include +#endif +#if __has_include() +#include +#endif +#if __has_include() #include +#endif +#if __has_include() +#include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() +#include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() +#include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() +#include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() +#include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() +#include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() +#include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() +#include +#endif +#if __has_include() #include +#endif +#if __has_include() +#include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() +#include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif +#if __has_include() #include +#endif =20 QEMU_PLUGIN_EXPORT int qemu_plugin_version =3D QEMU_PLUGIN_VERSION; =20 --=20 2.53.0