Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Jun 2026 23:29:15 +0100
From:      Jessica Clarke <jrtc27@freebsd.org>
To:        Faraz Vahedi <kfv@kfv.io>
Cc:        Warner Losh <imp@bsdimp.com>, Mark Millard <marklmi@yahoo.com>, Warner Losh <imp@freebsd.org>, src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, Nuno Teixeira <eduardo@freebsd.org>
Subject:   Re: git: 28cecfe27964 - main - libc: Restrict ATOMIC_VAR_INIT for C23 conformance
Message-ID:  <49991683-E7ED-4E47-B08A-EC78C4582E55@freebsd.org>
In-Reply-To: <94E5F613-3930-464B-AC10-4943230C2025@kfv.io>
References:  <6a35ddd3.22963.721d614@gitrepo.freebsd.org> <4e902fcf-e79c-47b5-a51f-4881c09f7528@yahoo.com> <CANCZdfpo0mECxiLM9mFV7=6yNZgspcbvzFYyE2hsHeQ1X8p_eA@mail.gmail.com> <94E5F613-3930-464B-AC10-4943230C2025@kfv.io>

index | next in thread | previous in thread | raw e-mail

On 21 Jun 2026, at 23:23, Faraz Vahedi <kfv@kfv.io> wrote:

> Hello everyone,
> 
> My sincere apologies for replying so late and for missing the thread.
> 
> D57724 looks reasonable, but I would probably just change the gate
> from __ISO_C_VISIBLE to __STDC_VERSION__. I think that is what
> I should have done in the first place. That would make more sense for
> obsolete language constructs, I believe.
> 
> This way, __ISO_C_VISIBLE is kept solely for API visibility, and strict
> rules of a specific language mode are checked against the exact mode
> in use, rather than what API interfaces we have decided to expose. So
> exposure is not constrained, just determined independently. I think this
> is the subtle distinction I failed to keep in mind while I was working on
> the patch.
> 
> Please let me know what you all think, and again, please accept my
> apologies for missing both the thread and the review of D57724.
> 
> Cheers,
> Faraz
> 
> P.S. As a minor follow-up, it may be worth revisiting whether gating
> via __STDC_VERSION__ < 202311L would be preferable to the
> recently committed __BSD_VISIBLE condition, as it aligns more
> directly with language standard level rather than exposure of the
> platform-specific interfaces.

If doing this, be careful; C89 does not define __STDC_VERSION__, it was
only introduced in later versions to differentiate it from the original
language version.

Jessica



home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49991683-E7ED-4E47-B08A-EC78C4582E55>