This is the mail archive of the
mailing list for the GCC project.
Re: [RFC] type safe trees
- From: Paul Brook <paul at codesourcery dot com>
- To: gcc at gcc dot gnu dot org
- Cc: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner), aph at redhat dot com
- Date: Fri, 25 Jun 2004 14:34:01 +0100
- Subject: Re: [RFC] type safe trees
- Organization: CodeSourcery
- References: <10406251306.AA08991@vlsi1.ultra.nyu.edu>
> 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
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