Re: _ISOCxx_SOURCE

Alejandro Colomar <[email protected]> Wed, 17 Jun 2026 00:09:37 +0200
Newsgroups org.kernel.vger.linux-man
Message-ID <ajHIbvWy9iCilUCX@devuan>
Hi Joseph,

On 2026-06-16T21:52:57+0000, Joseph Myers wrote:
> On Tue, 16 Jun 2026, Alejandro Colomar via Gcc wrote:
> 
> > If one uses a modern GCC with an old glibc (which doesn't know C23),
> > then, using -std=c23 will be problematic: the compiler will enable C23
> > language mode, but the library will entirely and silently ignore
> > _ISOC23_SOURCE, because it doesn't know about it, thus falling back to
> > C89 mode (I guess), and thus will for example enable things like
> > gets(3).
> 
> Since the relevant checks in features.h are based on __STDC_VERSION__ > 
> something or __STDC_VERSION__ >= something,

Ahh, yup, it has || for either _ISOCxx_SOURCE or __STDC_VERSION__.  That
makes sense.

> it will fall back to the most 
> recent C standard version known by that glibc version, which is probably 
> what you want.

Hmmm, it is.  Then it's all fine.  Thanks!


Cheers,
Alex

-- 
<https://www.alejandro-colomar.es>
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEES7Jt9u9GbmlWADAi64mZXMKQwqkFAmoxyaAACgkQ64mZXMKQ
wqkHrg/9Ep2vkbS1z27rXKvEIncJS8qAiLhYb1XZZjud6N5MR/hCfb7+9B+AOQxN
vzw7vSzPDvHYJjb9K69OB8X6/bn+3dn97MopJYFnMx8vvkpo44S24gkqk2F93a+r
CgHs5+8zExFPvxWsXKxKVevLdcui6pLj/JrbY1T9uxE84Z6U2EerfpiXgjoj5dRd
6EW4bIMBps4Rc+XnTJZYgq4qVNDZUOrFhiLj1GEFIe/fO8zG+XayWbbdvrUsCNiV
bg4UQITNYud4LT7F3WldAm9cfktWhID4cllT2mUzBW8xTQVP3gkTTTlwVfCBoGS1
cJH7Hf7T2QUxuNownqtvx7HjL5VZXrW2r7PkQo4eHRgp2KlszIx1FAtaEDSImi2W
CtXYEoKi3ynlKQXGpn0yMqoIP2GOFlnZFjgPzI9cQMwCfvdt2eisoXeKRgkwgEXJ
y7vMTkqgiCHm55Ase2BKBvFyve7XZJ38zQadWfLVze0PGDv6nKkwRWofRTgToHmM
KNe+YF3Juz8fG6RqKZV98R9zlT6p5Z8pmPxuYndJVUa4Xt3UUaSDPnowA+NlqrRW
DfratKzfkapffcqSTHB1tFK9LkQELjLRzt4ElTFc4M/ZfRf0c5YM1NFmH3s0c1K3
PEeOoB1PL7bjTXJ8dKNJqNzTJLd5uaBJ4EEUQTw2ViFa3lWUAQg=
=WQp5
-----END PGP SIGNATURE-----