From: Jeffrey Carter <jrcarter@acm.org>
Subject: Re: Concatenation and Characters
Date: Wed, 23 Oct 2002 19:24:43 GMT
Date: 2002-10-23T19:24:43+00:00 [thread overview]
Message-ID: <3DB6F7A3.5060302@acm.org> (raw)
In-Reply-To: wccelahjhzk.fsf@shell01.TheWorld.com
Robert A Duff wrote:
> Not true. I wasn't thinking clearly. For the example given, you are
> correct that a bounds check is needed, at least on the upper bound. I
> suppose the compiler could optimize away the check on the lower bound.
I would think even on the lower bound. The compiler knows nothing about
the bounds. The lower bound could be any value in Positive, so a
variable in Positive could easily be less than the lower bound just as
it could be greater than the upper bound.
>
> In any case, although I put my foot in my mount about *that* example, I
> think my more general point is correct: there are cases where an Ada 83
> compiler could optimize away checks (based on the erroneousness of
> uninit vars), where an Ada 95 compiler cannot (or at least has to prove
> more).
If the variable has the same subtype as the index of the array object, I
can see this:
procedure Op (S : in out String) is
I : Positive range S'range;
begin -- Op
S (I) := 'x';
end Op;
I is either in range or execution is erroneous.
As I said in another post, a source of unexpected Constraint_Errors I
encountered in Ada 83 was from beginners assuming the lower bound of a
String parameter was one. A bounds check is required unless the index is
known to the compiler to be in the index range of the array object.
I guess String was not a good type to use for an example. If it had been
type Index is range 1 .. 100;
type Arr is array (Index) of Integer;
I : Index;
A : Arr
...
A (I) := 1;
it would have been more obvious what we're talking about (I think).
--
Jeff Carter
"English bed-wetting types."
Monty Python & the Holy Grail
next prev parent reply other threads:[~2002-10-23 19:24 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-10-10 14:50 Concatenation and Characters Justin Birtwell
2002-10-10 14:55 ` Preben Randhol
2002-10-10 15:04 ` Justin Birtwell
2002-10-10 15:22 ` Preben Randhol
2002-10-10 15:30 ` Justin Birtwell
2002-10-10 16:05 ` Georg Bauhaus
2002-10-10 16:07 ` Preben Randhol
2002-10-10 17:45 ` Robert A Duff
2002-10-10 15:32 ` Justin Birtwell
2002-10-10 15:36 ` Preben Randhol
2002-10-10 16:44 ` Mark Biggar
2002-10-10 17:45 ` Stephen Leake
2002-10-10 21:53 ` Mark Biggar
2002-10-18 17:03 ` Programmer Dude
2002-10-18 18:13 ` Preben Randhol
2002-10-18 18:36 ` Wes Groleau
2002-10-21 15:16 ` Georg Bauhaus
2002-10-18 21:33 ` Mark Biggar
2002-10-20 2:01 ` Dmitry A.Kazakov
2002-10-21 14:13 ` Wes Groleau
2002-10-21 15:22 ` Dmitry A. Kazakov
2002-10-21 19:38 ` Georg Bauhaus
2002-10-22 22:15 ` Dmitry A.Kazakov
2002-10-22 12:05 ` Georg Bauhaus
2002-10-22 12:19 ` Lutz Donnerhacke
2002-10-22 14:43 ` Georg Bauhaus
2002-10-23 8:39 ` Dmitry A. Kazakov
2002-10-23 14:39 ` Georg Bauhaus
2002-10-24 8:18 ` Dmitry A. Kazakov
2002-10-21 16:50 ` Warren W. Gay VE3WWG
2002-10-21 15:20 ` Georg Bauhaus
2002-10-21 17:51 ` Programmer Dude
2002-10-21 18:48 ` Jim Rogers
2002-10-21 19:44 ` tmoran
2002-10-21 20:42 ` Programmer Dude
2002-10-22 1:42 ` Jeffrey Carter
2002-10-22 14:37 ` Robert A Duff
2002-10-22 18:51 ` Jeffrey Carter
2002-10-23 7:01 ` Pascal Obry
2002-10-22 14:45 ` Matthew Heaney
2002-10-22 18:47 ` Jeffrey Carter
2002-10-22 21:31 ` Robert A Duff
[not found] ` <3DB59D75.20609 <wccd6q29n3l.fsf@shell01.TheWorld.com>
2002-10-23 2:02 ` Jeffrey Carter
2002-10-23 13:16 ` Matthew Heaney
2002-10-23 19:11 ` Jeffrey Carter
2002-10-23 15:24 ` Robert A Duff
2002-10-23 19:24 ` Jeffrey Carter [this message]
2002-10-24 0:33 ` Robert A Duff
2002-10-22 3:46 ` Jim Rogers
2002-10-22 14:48 ` Robert A Duff
2002-10-22 15:02 ` Fraser Wilson
2002-10-22 15:38 ` David C. Hoos
2002-10-22 15:44 ` Fraser Wilson
2002-10-22 16:13 ` Robert A Duff
2002-10-23 8:58 ` Dmitry A. Kazakov
2002-10-23 9:08 ` Lutz Donnerhacke
2002-10-23 9:34 ` Dmitry A. Kazakov
2002-10-23 10:10 ` Lutz Donnerhacke
2002-10-23 17:15 ` Frank J. Lhota
2002-10-24 8:41 ` Dmitry A. Kazakov
2002-10-24 9:25 ` Fraser Wilson
2002-10-24 14:13 ` Matthew Heaney
[not found] ` <un <wcc7kgazc20.fsf@shell01.TheWorld.com>
2002-10-22 16:46 ` David C. Hoos
2002-10-22 8:51 ` Stuart Palin
2002-10-22 18:56 ` Programmer Dude
2002-10-21 19:42 ` Georg Bauhaus
-- strict thread matches above, loose matches on Subject: below --
2002-10-11 5:04 Grein, Christoph
2002-10-11 10:30 ` Preben Randhol
2002-10-23 5:15 Grein, Christoph
2002-10-23 13:19 ` Matthew Heaney
2002-10-24 5:53 Grein, Christoph
2002-10-24 14:04 ` 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