This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Drop the K&R requirement from binutils?
- From: Jim Wilson <wilson at redhat dot com>
- To: ross dot alexander at uk dot neceur dot com
- Cc: binutils at sources dot redhat dot com
- Date: 20 Aug 2002 15:15:16 -0400
- Subject: Re: Drop the K&R requirement from binutils?
- References: <OF88E01BF1.25F5EDE4-ON80256C1B.00592F6E@uk.neceur.com>
>Does this mean gcc 3.3 will not be able to bootstrap itself, or simply
>that their are specific language constructions within K&R which will
>become invalid?
When we say that gcc and binutils are written in K&R C, what we really mean
is that they are written in a common subset of K&R C and ISO C, and thus can
be compiled by either a K&R C compiler or an ISO C compiler. So there are
no gcc bootstrapping issues if gcc stops supporting K&R C, which it already
did on the development tree 6 months ago.
Disregarding the preprocessor, there is very little if any syntax that is valid
K&R C but not valid ISO C. There are however some subtle semantic differences,
and it is a pain to maintain these differences, particularly when you can't
get good K&R C documentation anymore. For instance, an unsigned short promotes
to unsigned int in K&R C and signed int in ISO C.
>As for the general binutils argument, are there any environments where
>gcc will not work with the native build tools even though these tools
>are adequate enough for gcc to be built in the first place?
Yes. For instance, some modern compilers emit object files directly instead
of emitting assembly code. On these systems, it is often the case that
the native assembler isn't good enough to support gcc, in which case you
need a gas to get gcc working.
Jim