From: Tucker Taft <stt@averstar.com>
Subject: Re: Ada safety road Was: Which is right ...
Date: 1999/06/09
Date: 1999-06-09T00:00:00+00:00 [thread overview]
Message-ID: <375E9592.32DA0709@averstar.com> (raw)
In-Reply-To: 7jlg6l$g6d$1@nnrp1.deja.com
Robert Dewar wrote:
>
> In article <yeclndu44z8.fsf@king.cts.com>,
> Keith Thompson <kst@cts.com> wrote:
> > This is why the authors of Ada (both 83 and 95) made such an
> > effort to minimize the number of cases where this can happen,
> > and to clearly document the cases that couldn't reasonably be
> > avoided.
>
> I think more could have been done, particularly in the area
> of uninitialized variables.
Using an uninitialized variable is *not* erroneous in Ada 95.
> ... For simple variables, I like the
> CDL approach which says that there must not exist any static
> paths through the program allowing a simple variable to be
> undefined (i.e. no ud chain can reach from a reference to a
> declaration with no initialization). This worked very well
> in CDL in practice (CDL = Koster's Compiler Definition
> Language).
I presume that Ada 95 compilers that try to properly avoid unpredictable
behavior when an uninitialized variable is used do this kind of
tracking to determine whether the variable *might* be uninitialized,
and hence might be outside its declared range.
Both GNAT and AdaMagic-based Ada 95 compilers seem to produce
"uninitialized variable" warnings these days. At least in
the AdaMagic-based compilers, that information is used to
"bound" possible errors associated with using uninitialized variables,
to avoid the dreaded erroneous/nose-demon situation.
--
-Tucker Taft stt@averstar.com http://www.averstar.com/~stt/
Technical Director, Distributed IT Solutions (www.averstar.com/tools)
AverStar (formerly Intermetrics, Inc.) Burlington, MA USA
next prev parent reply other threads:[~1999-06-09 0:00 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-05-30 0:00 Which is right here - GNAT or OA ? Vladimir Olensky
1999-05-30 0:00 ` Robert Dewar
1999-05-31 0:00 ` Vladimir Olensky
1999-05-31 0:00 ` Robert Dewar
1999-06-01 0:00 ` dennison
1999-05-30 0:00 ` Florian Weimer
1999-05-31 0:00 ` Vladimir Olensky
1999-05-31 0:00 ` Robert Dewar
1999-06-05 0:00 ` Vladimir Olensky
1999-06-05 0:00 ` Florian Weimer
1999-06-05 0:00 ` Vladimir Olensky
1999-06-05 0:00 ` Robert Dewar
1999-06-07 0:00 ` Ada safety road Was: Which is right Vladimir Olensky
1999-06-06 0:00 ` Robert Dewar
1999-06-07 0:00 ` Pascal F. Martin
1999-06-07 0:00 ` Vladimir Olensky
1999-06-08 0:00 ` Robert A Duff
1999-06-06 0:00 ` Larry Kilgallen
1999-06-07 0:00 ` Keith Thompson
1999-06-07 0:00 ` Hyman Rosen
1999-06-08 0:00 ` Robert A Duff
1999-06-08 0:00 ` Robert Dewar
1999-06-08 0:00 ` Keith Thompson
1999-06-09 0:00 ` Robert Dewar
1999-06-09 0:00 ` Tucker Taft [this message]
1999-06-09 0:00 ` Robert Dewar
1999-06-09 0:00 ` dennison
1999-06-09 0:00 ` Entamology of "Nasal Demons" dennison
1999-06-09 0:00 ` Ada safety road Was: Which is right dennison
1999-06-08 0:00 ` Robert A Duff
1999-06-08 0:00 ` Robert Dewar
1999-06-07 0:00 ` Keith Thompson
1999-06-08 0:00 ` Robert A Duff
1999-06-14 0:00 ` Ada safety road Franco Mazzanti
1999-06-15 0:00 ` Franco Mazzanti
1999-06-16 0:00 ` Vladimir Olensky
1999-06-10 0:00 ` Ada safety road Was: Which is right Peter Amey
1999-06-10 0:00 ` Markus Kuhn
1999-06-11 0:00 ` Vladimir Olensky
1999-06-12 0:00 ` Robert Dewar
1999-06-12 0:00 ` JP Thornley
1999-06-13 0:00 ` Vladimir Olensky
1999-06-16 0:00 ` William Dale
1999-06-19 0:00 ` JP Thornley
1999-06-21 0:00 ` Robert A Duff
1999-06-13 0:00 ` Vladimir Olensky
1999-06-12 0:00 ` Matthew Heaney
1999-06-13 0:00 ` Vladimir Olensky
1999-06-13 0:00 ` Robert Dewar
1999-06-13 0:00 ` Vladimir Olensky
1999-06-13 0:00 ` Robert Dewar
1999-06-13 0:00 ` swhalen
1999-06-13 0:00 ` Vladimir Olensky
1999-06-01 0:00 ` Which is right here - GNAT or OA ? Tucker Taft
1999-05-31 0:00 ` David Botton
1999-06-01 0:00 ` dennison
1999-06-03 0:00 ` Matthew Heaney
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox