From: Preben Randhol <randhol+abuse@pvv.org>
Subject: Re: Optimizing Boundary Checks
Date: Fri, 13 Jun 2003 12:48:38 +0000 (UTC)
Date: 2003-06-13T12:48:38+00:00 [thread overview]
Message-ID: <slrnbeji0e.in.randhol+abuse@kiuk0152.chembio.ntnu.no> (raw)
In-Reply-To: slrnbejhll.in.randhol+abuse@kiuk0152.chembio.ntnu.no
Preben Randhol wrote:
> Erlo Haugen wrote:
>> On Fri, 13 Jun 2003 11:49:03 +0000 (UTC)
>> Preben Randhol <randhol+abuse@pvv.org> wrote:
>>
>>> After reading some posts here lately I have understood that the compiler
>>> can optimise out boundary checks on say arrays if you do this:
>>>
>>> type Index_Range is range 1 .. 10;
>>> type Items is array (Index_Range) of Natural;
>>>
>>> But if you write:
>>>
>>> type Items is array (1 .. 10) of Natural;
>>>
>>> is boundary checks then on?
>>
>> Yes, but in this case (principally) every acces to the array has to be
>> checked, whereas in the former case, the index is guaranteed to be
>> within range.
>
> I see. This is because the boundary checks are on the Index_Range type
> and thus one do not need them on Items too.
>
> How is it if Index_Range was defined as a subtype of Integer?
Reason for asking is that I get:
t.adb:10:11: warning: value not in range of subtype of "Standard.integer" defined at line 6
t.adb:10:11: warning: "constraint_error" will be raised at run time
if I do:
type Items is array (1 .. 10) of Natural;
Boxes : Items;
begin
Boxes(11) := 1;
--
Preben Randhol http://www.pvv.org/~randhol/
next prev parent reply other threads:[~2003-06-13 12:48 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-06-13 11:49 Optimizing Boundary Checks Preben Randhol
2003-06-13 12:03 ` Erlo Haugen
2003-06-13 12:38 ` Vinzent Hoefler
2003-06-13 12:47 ` Preben Randhol
2003-06-13 13:28 ` Vinzent Hoefler
2003-06-13 12:42 ` Preben Randhol
2003-06-13 12:48 ` Preben Randhol [this message]
2003-06-13 13:28 ` Vinzent Hoefler
2003-06-13 13:56 ` Preben Randhol
2003-06-13 14:42 ` Vinzent Hoefler
2003-06-13 15:25 ` Preben Randhol
2003-06-13 15:34 ` Vinzent Hoefler
2003-06-14 10:45 ` Preben Randhol
2003-06-14 14:59 ` James Rogers
2003-06-13 13:33 ` Peter Amey
2003-06-13 13:34 ` Martin Dowie
2003-06-13 13:48 ` Vinzent Hoefler
2003-06-13 14:37 ` Martin Dowie
2003-06-13 15:12 ` Vinzent Hoefler
2003-06-14 2:01 ` Jeffrey Carter
2003-06-16 11:23 ` Vinzent Hoefler
2003-06-14 8:34 ` Dmitry A. Kazakov
2003-06-14 17:20 ` Robert I. Eachus
2003-06-16 11:23 ` Vinzent Hoefler
2003-06-18 20:58 ` Brian Gaffney
2003-06-13 13:45 ` Dale Stanbrough
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox