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: patch for -Wno-long-long and early GNAT compilers


    I was frustrated because I and others were getting bootstrap failures,
    and the position the GNAT maintainers were taking was that it didn't
    matter because the configurations we were using weren't supported.
    Since the previous official word had been that they *were* supported
    although possibly not constantly tested, I felt bait-and-switch-ed.

The confusion here is that "3.13" or "3.14" is not well-defined.  GNAT can
be bootstrapped with a *working* 3.13 or 3.14 compiler and is routinely.
The problem you are running into is that the compiler you are starting with
is not working (it miscompiles builtin longjmp and setjmp).  Since we're
talking about free software here, nobody can make any claim about some
version of GNAT which was built and (apparently) not well tested.

    There is still something I don't understand, though.  You've said over
    and over that you can't devote resources to making the Ada front end
    portable.  The implication is that it's too hard.  My experience over
    in the C front end indicates just the opposite; we don't have trouble
    maintaining buildability with ancient broken pre-standard compilers,
    and simultaneously making use of modern constructs.  Why is the Ada
    situation so different?

Beause of the tight coupling because the Ada front end and the C back end.
That can be done portably, but is a very large amount of work, results in
something that's less clear and harderd to maintain, and has only a very
small gain.  For GCC, we have no choice: it has to be compilable be every
vendor compiler that's out there.  But even then, we make no guarantee that
it's compilable by, for example, some old version of a vendor compiler that
has a bug, though we try.

Here you have an Ada compiler that's miscompiling exception handling.
That's a pretty major feature of the language to an Ada programmer.  It's
not reasonable to work around this particular buggy compiler by not using
this language feature in the compiler.


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