On Mon, 15 Jun 2026, Alejandro Colomar wrote:
> Hi Joseph,
>
> On 2026-06-15T17:20:17+0000, Joseph Myers wrote:
> > On Sat, 13 Jun 2026, Alejandro Colomar via Gcc wrote:
> >
> > > I was reviewing the feature_test_macros(7) page, and found the
> > > documentation of the _ISOC{99,11,23,...}_SOURCE macros to be incorrect.
> > > And thinking about fixing that led me to think that the design of those
> > > macros is less than ideal.
> >
> > Users should normally use -std= options with the compiler to get matching
> > language and library features. These feature test macros are mainly for
> > niche cases with old compilers. So I don't think any new user-facing
> > design for them should be added (the C23 and later ones already use the
> > newer __GLIBC_USE style of conditionals in the header implementation).
>
> Makes sense. Should I document that users should avoid setting them
> directly (and that they should use the corresponding compiler flag)?
Indeed. Also, users are probably using a compiler defaulting to
-std=gnu23 or -std=gnu11 so the older _ISOC99_SOURCE and _ISOC11_SOURCE
are doubly irrelevant for that reason.
--
Joseph S. Myers
[email protected]