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:

Robert Dewar <dewar@gnat.com> writes:


Reading Zack's message:

Second, the Ada maintainers have said in the past that they
deliberately break source compatibility between releases (such that
GCC 3.x with Ada is only guaranteed to be buildable with GCC 3.(x-1)).

That's entirely wrong. Nothing is broken deliberately, and no one ever said anything of the kind.


I disagree; that *is*, in fact, what is said or at least strongly
implied by messages like
<http://gcc.gnu.org/ml/gcc/2002-05/msg00086.html>:

No, it definitely is NOT said here. There is absolutely nothing there about deliberately breaking source compatibility. I can't imagine how you manage this strange reading.

and goes on to talk about how it'd be nice to use pragma Unreferenced,
but this breaks compatibility with the Ada compiler in GCC 3.[12].
And, grepping gcc/ada, I see that there are now many uses of pragma
Unreferenced - so building GNAT with GCC 3.(<3) has indeed been
deliberately broken.\

Please don't talk about things you have not studied carefully. We never use pragma Unreferenced in the compiler, or in the run-time units used by the compiler. If we did so, our nightly runs would break, since some of them start from quite early versions of the compiler. We use pragma Unreferenced only in the run-time, but this is always built with the newly built compiler, so there is no issue there.

Just so things are clear, we start our nightly runs with several
different older versions of the compiler precisely to make sure
we retain as much compatibility with old versions as possible
for builds. Any impression that this kind of compatibility has
been recently broken at all, let alone deliberately, is based
on confusion and lack of understanding I am afraid.

I have some sympathy for a situation where version X of GNAT contained
invalid code which version Y (Y > X) correctly rejects; but when this
occurs while version X is a still-live release branch, patches should
go into version X to correct the bug.

I disagree with this, you don't want to discombobulate users using the older version of the compiler, and in any case this is largely unnecessary. You are really creating strawmen here. The current version of Ada bootstraps with quite old versions of GNAT.

I'd also add that personally, I consider my third requirement (patch
submission according to the same requirements binding on all other
contributors) to be much more important than the one you chose to
discuss.

You must be missing some messages in this thread, since that has most certainly been discussed by me and others.

zw


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