From: Mark H Johnson <mark_h_johnson@raytheon.com>
Subject: Re: Record representation
Date: Wed, 09 Jun 2004 10:30:06 -0500
Date: 2004-06-09T10:30:06-05:00 [thread overview]
Message-ID: <c2Gxc.1$oX2.0@dfw-service2.ext.ray.com> (raw)
In-Reply-To: <40c6d3d1$1_1@baen1673807.greenlnk.net>
Martin Dowie wrote:
> Is there anything that could be done (quickly ;-) by the ARG for Ada200Y to
> do something about this common pain in the *ss?
>
> package Record_Rep is
>
> type A is record
> I : Integer;
> end record;
> for A'Size use Integer'Size;
>
> type Index is new Integer range 1 .. 10;
>
> type AA is array (Index) of A;
> for AA'Size use A'Size * Index'Last; -- Not allowed!!!!!
>
> end Record_Rep;
>
> Surely the language could be made smart enough to support this? This can be
> a real maintenance nightmare to change.
>
Let's generalize the situation slightly. What do you suggest be done if
you change the data type from an Integer to a Natural? Using GNAT on
x86's, Natural'Size is 31 (not 32) so that would imply setting AA'Size
to 310 (and not 320) w/ a real pain in the *ss due to packing /
unpacking of the data.
I remember a private email exchange with Robert Dewar about something
similar to this a few years ago. Let me see if I can dig up the
suggestions he had to improve the portability of your code.
--Mark
next prev parent reply other threads:[~2004-06-09 15:30 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-06-09 9:14 Record representation Martin Dowie
2004-06-09 11:38 ` Martin Krischik
2004-06-09 14:11 ` Martin Dowie
2004-06-09 15:30 ` Mark H Johnson [this message]
2004-06-09 16:58 ` Martin Dowie
2004-06-09 17:44 ` tmoran
2004-06-09 20:08 ` Mark H Johnson
2004-06-09 21:12 ` Martin Dowie
2004-06-09 21:14 ` Martin Dowie
2004-06-10 0:38 ` Stephen Leake
2004-06-10 6:13 ` Randy Brukardt
2004-06-10 6:10 ` Randy Brukardt
2004-06-15 7:37 ` Martin Dowie
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox