From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Interesting effects in array renaming
Date: Sun, 22 Jun 2003 16:52:22 +0200
Date: 2003-06-22T16:52:22+02:00 [thread overview]
Message-ID: <bd4fmr$p4kfn$1@ID-77047.news.dfncis.de> (raw)
---------- test.adb
with Ada.Text_IO; use Ada.Text_IO;
procedure Test is
type Some_Array is array (Integer range <>) of Integer;
procedure Foo (X : Some_Array) is
subtype Constrained is Some_Array (1..X'Length);
XX : Constrained renames X;
begin
Put_Line
( "XX'Range:"
& Integer'Image (XX'First)
& ".."
& Integer'Image (XX'Last)
& ", Constrained'Range:"
& Integer'Image (Constrained'First)
& ".."
& Integer'Image (Constrained'Last)
);
end Foo;
Object : Some_Array (-3..2) := (-3, -2, -1, 0, 1, 2);
begin
Foo (Object);
end Test;
---------- test.adb
Surprisingly the above produces different ranges for XX and its declared
subtype. Isn't something wrong here?
I would expect either
1. XX'Range = Constrained'Range and indices are shifted
or
2. Raising Constraint_Error while renaming. How else could the compiler
remove range checks for
X : Array_Subtype ...
for I in Array_Subtype'Range loop
X (I) ...
--
Regards,
Dmitry A. Kazakov
www.dmitry-kazakov.de
next reply other threads:[~2003-06-22 14:52 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-06-22 14:52 Dmitry A. Kazakov [this message]
2003-06-22 17:24 ` Interesting effects in array renaming Jeffrey Carter
2003-06-23 8:12 ` Dmitry A. Kazakov
2003-06-23 10:29 ` Georg Bauhaus
2003-06-23 11:37 ` Dmitry A. Kazakov
2003-06-23 13:28 ` Georg Bauhaus
2003-06-24 7:35 ` Dmitry A. Kazakov
2003-06-24 14:38 ` Georg Bauhaus
2003-06-25 10:28 ` Dmitry A. Kazakov
2003-06-25 14:23 ` Georg Bauhaus
2003-06-25 19:00 ` Dmitry A. Kazakov
2003-06-24 2:35 ` Robert I. Eachus
2003-06-24 7:35 ` Dmitry A. Kazakov
2003-06-24 10:08 ` Lutz Donnerhacke
2003-06-24 11:53 ` Georg Bauhaus
2003-06-24 12:48 ` Dmitry A. Kazakov
2003-06-26 2:54 ` Randy Brukardt
2003-06-26 6:27 ` Vinzent Hoefler
2003-06-26 12:44 ` Georg Bauhaus
2003-06-26 13:01 ` Vinzent Hoefler
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox