This is the mail archive of the gcc@gcc.gnu.org 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: A FrontEnd in C++?


dewar@gnat.com (Robert Dewar) writes:

> A lot of the growing pains in integrating Ada into the FSF structure
> come from the fact that this is the first time it is done, so we
> have had to learn how it should be done, and from people having the
> unrealistic expectation that you should be able to build from any
> old ancient version of GNAT used together with some unrelated
> version of C.
> 
> I think once we have gone through a couple of release cycles with
> GNAT there, the problems will mostly take care of themselves.

The problems I found with building Ada are all related to trying to
obtain a version of GNAT to use to bootstrap.  There are two ways you
can do this:

1. Take an old version of GNAT, and try to use that.  This doesn't
   work, because you need a _current_ version.  The rest of GCC does
   not need a current version of GCC to bootstrap itself; any working
   C compiler will do, and we stretch the definition of "working" to
   include (for instance) the base compiler on IRIX.  By comparison,
   GNAT requires not just any working Ada compiler, but GNAT, and not
   any GNAT, but one of a small set of versions.

2. Build a cross-compiler from a system that does have a suitable
   version of GNAT.  This doesn't work because of various bugs in GNAT
   and in building cross-compilers.  These bugs wouldn't matter so
   much if GNAT wasn't built, because it's rare that anyone needs a
   cross-compiler from, say, linux to AIX (see PR 6872), unless they
   want GNAT.  It doesn't help that GNAT's build process with cross
   compilers is much less user friendly than (and different to) the
   rest of GCC (see PRs 5910, 5911).

-- 
- Geoffrey Keating <geoffk@geoffk.org> <geoffk@redhat.com>


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