comp.lang.ada
 help / color / mirror / Atom feed
From: dewar@cs.nyu.edu (Robert Dewar)
Subject: Re: GNAT 3.01 Source For OS/2
Date: 1996/05/03
Date: 1996-05-03T00:00:00+00:00	[thread overview]
Message-ID: <dewar.831148051@schonberg> (raw)
In-Reply-To: DqpIv9.Ku1@iquest.net


Frankly I did not bother to read this whole diatribe, though I have stashed
it away in case I do later, but I will address one point:

"   This is my FIRST example of why I say the 3.03 executables you are putting
out DON't match the 3.03 source.  If they did and checking was turned on when
the compiler was compiled, EVERY single 3.03 executable on cs.nyu.edu would
not work !!!!  Another possiblity is that you patched the code you used to
make the 3.03 executables.  If that is true I am correct without argument.

    The only other possibility is that ACT compiles the compiler with checks
turned off when it produces its executables.  The problem here has to do with
the obvious implication that ACT is in the habit of TESTING thier compilers
with checks TURNED OFF."

In fact we debug and release with checks off and assertions on. Our 
assertion approach is very complete, and our experience was that
constraint checks

a) never found a single real bug

b) did cause some bombs that were not real bugs in the sense that if
constraint checks were off, the functoinality would be correct.

All the cases we found were confusions between Natural and Integer, which
of course are just fixed by using the right subtype.

We prefer to test with exactly the same options we use for release, which
is why we tend not to use the constraint checks for internal testing either.
It is true that it would be a good idea to run occasionally to smoke out
problems like this, but they are hardly high priority problems given that
they don't affect user programs! 

But just to be clear, the 3.03 releases exactly match the 3.03 sources
if you build in the standard manner, which everyone else seems to have
no trouble doing.

P.S. the problem with actual subtypes is subtle, not something I would
expect to be easily noticed -- after all this fix was not put on till
later.

By the way, the 3.01 sources are and always have been at cs.nyu.edu
as far as I know. Several people emailed me to tell me they were there!

Going back to the constraint error situation, I can actually give the 
specific example where this caused trouble. In the 2.04 release, ew
had a problem that certain error messages caused constraint errors.
There weren't any instances of these messages in our regression suite
so we had missed this (now of course there are dozens of instances of
those messages).

This turned out to be just a matter of natural vs integer. We had turned
on constraint checks for the release to increase the reliability, and
oddly, if had significantly decreased the reliability. That was the point
at which we realized that constraint chceks had never been useful to us
anyway given our assertions (which are pretty extensive, the front end
spends 80-90% of the execution time executing assertion statements),
so we removed them and never put them back.

Actually in the near future, we may release without the assertion checks.
It is possible that the constraint checks will then prove useful again,
we are currently making some measurements to find out what the best
apporach is.

As for the unsatisfied customer here, I guess that just goes to show you
cannot make everyone happy. We will be happy to refund what he paid for
GNAT, since he does not think it is worth it :-)

P.S. we just froze the sources for 3.04. We will be doing a few days of
final beta testing (there should be a word like gamma testing), and then
we will rlease the public SGI and Solaris versions at least in a few
days,
with other ports to follow along, including the DOS 3.04 with full tasking.





  parent reply	other threads:[~1996-05-03  0:00 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-04-23  0:00 GNAT 3.01 Source For OS/2 jschafer1
1996-04-24  0:00 ` Robert Dewar
1996-04-27  0:00   ` jschafer1
1996-04-27  0:00     ` Robert Dewar
1996-04-30  0:00       ` -Laurent Gasser
1996-05-01  0:00       ` jschafer1
1996-04-27  0:00     ` Robert Dewar
1996-05-01  0:00       ` jschafer1
1996-05-03  0:00         ` Robert Dewar
1996-05-05  0:00           ` jschafer1
1996-05-05  0:00             ` Robert Dewar
1996-05-07  0:00               ` Keith Thompson
1996-05-07  0:00                 ` Robert Dewar
1996-05-07  0:00                 ` Tore Joergensen
1996-05-05  0:00             ` Robert Dewar
1996-05-08  0:00             ` Joerg Rodemann
1996-05-03  0:00         ` Robert Dewar [this message]
1996-05-05  0:00           ` Kevin D. Heatwole
1996-05-05  0:00           ` jschafer1
1996-05-05  0:00             ` Robert Dewar
1996-04-29  0:00   ` Dale Pontius
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox