From: "Dr. Adrian Wrigley" <amtw@linuxchip.demon.co.uk.uk.uk>
Subject: Re: Large arrays (again), problem case for GNAT
Date: Thu, 14 Apr 2005 15:39:18 GMT
Date: 2005-04-14T15:39:18+00:00 [thread overview]
Message-ID: <pan.2005.04.14.15.40.48.382213@linuxchip.demon.co.uk.uk.uk> (raw)
In-Reply-To: wcchdi94cap.fsf@shell01.TheWorld.com
On Thu, 14 Apr 2005 11:18:22 -0400, Robert A Duff wrote:
> The original example that started this thread *did* touch every page;
> it's a mystery to me why this didn't work.
It *did* work. And it wrote the correct values to the correct addresses
(I checked this).
This failure at the end was writing into the last element using:
Big (Big_T'Last) := 0.0;
The reason this fails is that the offset into 'Big' is
(incorrectly) calculated at compile time (since Big_T'Last
is constant). The calculation is faulty, apparently based
on bits offset in a 32-bit signed quantity. This exceeds
2Gbit (silently), and generates code to access 'Big' with
a negative offset - which touches unallocated addresses.
This analysis is supported by the incorrect calculation
of the address of the last value, output a few lines earlier.
The work-around for my code at present is to take out the
word 'constant' in the declaration of 'Size'. Now works nicely!
--
Adrian
next prev parent reply other threads:[~2005-04-14 15:39 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-13 12:46 Large arrays (again), problem case for GNAT Dr. Adrian Wrigley
2005-04-13 13:10 ` Larry Kilgallen
2005-04-13 13:24 ` Alex R. Mosteo
2005-04-13 13:31 ` Marc A. Criley
2005-04-13 19:52 ` Jeffrey Carter
2005-04-13 19:54 ` Randy Brukardt
2005-04-13 22:01 ` (see below)
2005-04-14 0:16 ` Robert A Duff
2005-04-14 1:11 ` Alexander E. Kopilovich
2005-04-14 7:29 ` Dmitry A. Kazakov
2005-04-14 7:45 ` Duncan Sands
[not found] ` <1113464720.9829.20.camel@localhost.localdomain>
2005-04-14 13:59 ` Marius Amado Alves
2005-04-14 14:09 ` Dr. Adrian Wrigley
2005-04-14 14:40 ` (see below)
[not found] ` <389d1596e98f95f0fdddc40afc0647b7@netcabo.pt>
2005-04-14 14:14 ` Duncan Sands
2005-04-14 15:18 ` Robert A Duff
2005-04-14 15:24 ` Robert A Duff
2005-04-15 5:21 ` Randy Brukardt
2005-04-15 11:49 ` Dr. Adrian Wrigley
2005-04-15 13:21 ` Dmitry A. Kazakov
2005-04-15 14:31 ` Dr. Adrian Wrigley
2005-04-15 14:57 ` Dmitry A. Kazakov
2005-04-14 15:39 ` Dr. Adrian Wrigley [this message]
2005-04-14 15:48 ` Dmitry A. Kazakov
2005-04-14 21:19 ` Robert A Duff
2005-04-15 8:23 ` Dmitry A. Kazakov
2005-04-15 8:38 ` Duncan Sands
2005-04-15 9:16 ` Dmitry A. Kazakov
2005-04-15 18:30 ` Mark Lorenzen
2005-04-15 19:06 ` Robert A Duff
[not found] ` <iSSDSN2L04G1@VB1162.spb.edu>
2005-04-14 7:34 ` Duncan Sands
2005-04-13 22:35 ` Robert A Duff
2005-04-14 11:40 ` Dr. Adrian Wrigley
2005-04-14 10:44 ` Dr. Adrian Wrigley
2005-04-14 15:03 ` Robert A Duff
2005-04-14 16:46 ` Dmitry A. Kazakov
2005-04-14 18:30 ` Pascal Obry
2005-04-14 19:45 ` Dmitry A. Kazakov
-- strict thread matches above, loose matches on Subject: below --
2005-04-13 13:52 Duncan Sands
2005-04-13 14:20 ` Dr. Adrian Wrigley
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox