This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] type safe trees

> My concern is the *new machine*.  The major strength of GCC has been its
> ability to relatively rapidly be ported to a new architecture and brought
> up on that machine.  Often GCC is the first compiler for that machine and
> is the route to getting other things working.  You want to make that
> process go as smoothly as possible.
> At that point, you barely have anything working.  You're doing everything
> on a cross system.  You don't have the assembler and linker debugged yet. 
> The debugger is limping along and has serious problems.  You're relying a
> lot on simulators whose fidelity to the hardware hasn't yet completely
> matured. You probably still have hardware bugs.
> *Every* little bit of complexity in what GCC needs in order to run is going
> to be a major burden in that environment.  Right now it just needs itself
> and a handful of standard library routines.


You first state that for this new machine you're in a cross-compilation 
environment and relying on simulators. Debugger support is flaky, and final 
hardware may or may not be available. It's probably reasonable to assume that 
the kernel/OS for this new machine is still in development.

Your main point seems to be the fact that making a *self hosting* native 
compiler for this machine would be harder if GCC were written in C++.

You're seriously telling me that you'd even consider using such a machine as a 
develpoment platform? Surely everything is going to be cross-compiled until 
you've got production hardware, a solid toolchain and a good chunk of the 
system ported.

GCC has very good support for cross compiling. IMHO this is the reason it can 
be rapidly ported to new targets.

Take a look at all the targets supported by gcc. I'd guess half of those 
simply aren't capable of hosting gcc. For several of the others (ew. arm, sh) 
I'd guess the majority of users cross compile as using native compilers is 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]