I agree with you that it’s not clear. What I’ve learnt all these years is:
-Tcc supports as much as it can C99
-It supports “some” C11 feature by default or using –std=c11 if there is possible name collision with C99
-Tcc internal source code should not use C11 feature to allow boostrap form an older C standard.
For short, except what is missing (and what is missing is not documented), tcc is C99. From C99 if lacks for example complex numbers.
While I really love tcc which is now the main compiler I use to develop and test my different C projects, I wish it becomes more strict about its conforming implementation (by mean of –std=c99, -std=c11, …)
That said, I leave perfectly wo it :o))
From: Tinycc-devel [mailto:tinycc-devel-bounces+eligis=[hidden email]] On Behalf Of Paul Jiao Sent: Tuesday, June 18, 2019 08:39 To:[hidden email] Subject: [Tinycc-devel] ANSI C refers to which standard , C89 or C99?
TinyCC claims it fully supports ANSI C, does it mean the first standard from ANSI for C language: ANSI X3 ? which was referred as C89 from wiki page: https://en.wikipedia.org/wiki/ANSI_C
> TinyCC claims it fully supports ANSI C, does it mean the first
> standard from ANSI for C language: ANSI X3 ? which was referred as C89
> from wiki page: https://en.wikipedia.org/wiki/ANSI_C > I know TinyCC does not fully support ISO C99.
> Please help clarify.
At the time that line in the documentation was written Fabrice meant
really ANSI C, aka C89 aka ISO C90.
But as you know TCC also supports some C99 and some C11 and many GNU C
(and some MS) extensions. I would say we strive for conformance as long
as it doesn't stand in the way of other goals like size and compilation