From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com [IPv6:2a00:1450:4864:20::534]) by sourceware.org (Postfix) with ESMTPS id F21733858D1E for ; Wed, 21 Dec 2022 19:14:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org F21733858D1E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ed1-x534.google.com with SMTP id c17so23333701edj.13 for ; Wed, 21 Dec 2022 11:14:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=AGiq/eG4wru37HMbax0qwVnsenVEMRvSMNwM+PvyBes=; b=inLLnt/XWykVbHXjhPIj6sbG0vdVLoHk6qADpKXZp43whK9bnj34VNvLouB6y45UJu Uu33AWqpN18VySOwvpyqnwZ/U0sXaohBV8Z/p7sIhK2oPXMktg0glu9hC/YErqQQDEU8 q66A7pqViR8HCQB5iI2i82CVnAftwaNikErBQ3gROaHLaV3g9EUsn68A/Z0DM1h4IVrb /8/ZfO/YkKxIIbxGhgVuZ9/VnT6+qE/2PUA6QAzQ3NP/LuEm3qt2hiQWXQwJh0l4zWi6 EDEKqBHQUKtvr0XCerPRbNBZTJ6KZioZlb/PpSOqgiRpBHDXqAQ15/aNvlcXbff8IOjD vuJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=AGiq/eG4wru37HMbax0qwVnsenVEMRvSMNwM+PvyBes=; b=KsVqIc+KpAQZKWD+ctjkfWc7InSN4I6HBVIyX+LEY6ob5Nw0QdNMgV67uaB9/Z4Wi6 66aNQZZ2soOl3RTwr0TifDjFQMwGTtmbtmkbWcXVDk1KPyV8vyKAuy5AYPQE/spDorYU UuhoRCRgG2l4Vdm1ZIRodKnlIxJ2JRd3/OWMxd1xq45XMNzTmUsMnqxNKRbw2rwbPPES ESwGsYN+D3ThBQdEU0EDfSeAdPcw1hRoCkOiF9rXTcQ1k//D+0fz9G4gXBD9ysAN5urZ 9KW7MBskjTFvCqPlGMu4fw1K5TrtRakNw6BeKsVKNmZzQ/laCd73vePE0yyBKXrQMgpi G0Dg== X-Gm-Message-State: AFqh2krMNVqwPKFUA+gIcPy/Kq1w0BR0tQyHAyEE3QbDnQnJ0OvncPfU ZDS8rFwGjhtMjFBeyg/yDWq7iUhX2txIL6QwYJ0= X-Google-Smtp-Source: AMrXdXsotDNaEmL/CJvTNCUb1iTaY3KovO+KtL//qLHMZoaOHPCNpZ5iTQyRXqaCIDVeZXnoMl8vemeAcjapUhM+X4c= X-Received: by 2002:aa7:cd62:0:b0:472:c7fd:ccfa with SMTP id ca2-20020aa7cd62000000b00472c7fdccfamr263093edb.356.1671650067279; Wed, 21 Dec 2022 11:14:27 -0800 (PST) MIME-Version: 1.0 References: <5fdb5cab-c35e-567e-5f7f-e46d4ee572a5@gmail.com> In-Reply-To: From: Jonathan Wakely Date: Wed, 21 Dec 2022 19:14:14 +0000 Message-ID: Subject: Re: -minstd: Require a minimum std version, without being specific To: Alejandro Colomar Cc: Alexander Monakov , "gcc@gcc.gnu.org" , Andrew Clayton Content-Type: multipart/alternative; boundary="00000000000072f31805f05b5c30" X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --00000000000072f31805f05b5c30 Content-Type: text/plain; charset="UTF-8" On Wed, 21 Dec 2022, 19:08 Alejandro Colomar via Gcc, wrote: > > > On 12/21/22 19:53, Alejandro Colomar wrote: > > Hi Alexander, > > > > On 12/21/22 19:51, Alexander Monakov wrote: > >> > >> > >> On Wed, 21 Dec 2022, Alejandro Colomar via Gcc wrote: > >> > >>> Hi, > >>> > >>> I've long had this wish: an option similar to -std, but which would not > >>> specify the standard. Rather, mark a requirement that the standard be > at > >>> least a version. > >>> > >>> This would be especially useful for libraries, which might for example > require > >>> C99 or C11 to work. They would be able to specify -minstd=c11 in > their pc(5) > >>> file (for use with pkgconf(1)). > >> > >> There's already a standard, portable way to check: > >> > >> #if __STDC_VERSION__ < 201710 > >> #error C17 required > >> #endif > > > > Hmm, not my favourite to stick that in every public header file, but > yes, it's > > portable. > > But yes, I could provide a "hidden" header that > does all > this stuff, then include it everywhere. :) > And this works for projects that don't use pkg-config, and with all compilers, including existing versions of gcc. I really don't know why you'd want to enforce this outside the source itself, with a separate non-portable tool. --00000000000072f31805f05b5c30--