comp.lang.ada
 help / color / mirror / Atom feed
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/



  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