[PATCH v3 3/7] Assume support for __extension__ ({ })

Bruno Haible bruno@clisp.org
Tue Nov 11 12:09:24 GMT 2025


Alejandro Colomar wrote:
> I think 'long long' is one feature we could require to any compiler.
> '_Bool' is another.

Agree; see
<https://www.gnu.org/software/gnulib/manual/html_node/C99-features-assumed.html>.

> I agree statement expressions could be too much.

Yes, people are free to implement their own ISO C compiler or interpreter,
without implementing GNU C extensions.

> -  long long

Sounds reasonable. Present in gcc >= 2.95.3 at least.

> -  _Bool

Sounds reasonable. Present in gcc >= 3.1 at least.

> -  restrict

Beware! Present by default in gcc >= 5.x only.
Only if spelled as __restrict__, it is present in gcc >= 2.95.3 at least.

> -  inline

Beware! Only 'static inline' is reasonably portable to C99.
The semantics of 'extern inline' changed in gcc 4.2 / 4.3 / 4.4.

Bruno





More information about the Libc-alpha mailing list