Re: git: 28cecfe27964 - main - libc: Restrict ATOMIC_VAR_INIT for C23 conformance

From: Jessica Clarke <jrtc27_at_freebsd.org>
Date: Sun, 21 Jun 2026 22:29:15 UTC
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