On Thu, Nov 06, 2014 at 03:40:56PM +0000, Dimitris Papastamos wrote:
> On Thu, Nov 06, 2014 at 04:38:20PM +0100, Sylvain BERTRAND wrote:
> > On a personnal level, I port some of my C99 projects back to C89, since it
> > seems a C89 compiler is easier to write than a C99 compiler, and some part of
> > my code could go in C89 only project (i.e. the linux kernel).
>
> the linux kernel is built with gnu99 iirc.
Documentation/HOWTO:
"The kernel is written using GNU C and the GNU toolchain. While it
adheres to the ISO C89 standard, it uses a number of extensions that are
not featured in the standard. The kernel is a freestanding C
environment, with no reliance on the standard C library, so some
portions of the C standard are not supported. Arbitrary long long
divisions and floating point are not allowed. It can sometimes be
difficult to understand the assumptions the kernel has on the toolchain
and the extensions that it uses, and unfortunately there is no
definitive reference for them. Please check the gcc info pages (`info
gcc`) for some information on them."
----
Then I guess, it would help to have a C89/C90 base code to start with instead
of C99.
I wonder how much of the linux kernel tinycc is able to compile.
--
Sylvain
Received on Thu Nov 06 2014 - 17:56:55 CET