Re: git: 28cecfe27964 - main - libc: Restrict ATOMIC_VAR_INIT for C23 conformance
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