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: Ada policy


Zack Weinberg wrote:

I continue to be disappointed that an arbitrary standard-conforming
Ada compiler cannot be used.

Oh, and by the way, I hope this does not come as a drastic surprise to you, but there are no standard-conforming Ada compilers, not 100% conforming, since a single bug contradicts that status, and I have to report that especially in the case of previous versions of GNAT, we know of quite a few bugs :-)

(as a marketing phrase, we have sometimes used the tag line "there
is only one bug in GNAT", but I am afraid this is not strictly true.

The point is that working around bugs in all previous versions of
GNAT (not to mention bugs in all previous versions of all alledgedly
standard Ada compilers) would be somewhat infeasible. Again, suppose
that you were required to code the g++ front end in C++ subject to
the requirement that it compile correctly on all previous versions
of C++ from all vendors, including all versions of g++, well that
would be tricky :-)

I suppose you could just degrade to coding in C after all, but the
whole point of moving to C++ for the front end of g++ (which by the
way seems a perfectly reasonable step to me), would be to take
advantage of some of the important features of C++. Yes, discussion
would be needed (and some has gone on) on what subset would be
appropriate, and you can see the discussion ranges from quite
conservative (me for example) to much more liberal, but certainly
even if you take a very conservative position, you cannot expect
to be compatible with all previous versions of c++ compilers,
and I would not argue for using this as a criterion.

Certainly in the case of Ada and GNAT, we had lots of discussions
about the subset to be used for the compiler, and it is actually
fairly small (e.g. avoiding tasking, controlled types, tagged
types etc).

P.S. Once upon a time (actually I think it was in 1992),
GNAT was bootstrapped with another compiler (the Alsys
compiler on SunOS), but once that bootstrap was complete,
we only ever regarded bootstrapping with GNAT as the
criterion for moving forward.



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