From: aaro@iki.fi (Aaro Koskinen)
Subject: Re: Problem with representation clause
Date: 1997/12/10
Date: 1997-12-10T00:00:00+00:00 [thread overview]
Message-ID: <pdxwwhdqi9t.fsf@vesuri.Helsinki.FI> (raw)
In-Reply-To: 66gvas$pmp@remus.rutgers.edu
castroto@remus.rutgers.edu (Fabrizio Castrotorres) writes:
> type Measurement_Status_Value is range -2 .. 1;
> for Measurement_Status_Value'Size use 2;
>
> type Slot_Number is range 0 .. 23;
>
> type Integrity_Data is array (Slot_Number) of Measurement_Status_Value;
> For Integrity_Data'Size use 24*2; -- REPRESENTATION 1
> pragma Pack(Integrity_Data);
>
> type Global_Integrity_Array is array( Slot_Number ) of Integrity_Data;
> For Global_Integrity_Array'Size use 24*48; -- REPRESENTATION 2
> pragma Pack(Global_Integrity_Array);
> The GNAT ADA 95 compiler (the one with the graphical user interface
> for NT/95) lets th file compile fine. The problem comes when I try
> to build the main module which uses this package specification (no
> body). It gives me the following error message:
>
> size for "Global_Integrity_Array" too small, minimun allowed is 1536
The suggestion to specify a two-dimensional array is probably the
nicest solution. However, I have found another solution, or more like
a hack/kludge, which works with GNAT (3.10p):
type Wrapper is record
ID : Integrity_Data;
end record;
for Wrapper use record
ID at 0 range 0 .. 47;
end record;
for Wrapper'size use 48;
type Global_Integrity_Array is array( Slot_Number ) of Wrapper;
For Global_Integrity_Array'Size use 24*48; -- REPRESENTATION 2
pragma Pack(Global_Integrity_Array);
This results in a 1152-bit array. I think this would be the only way
to it, if Integrity_Data were not an array...
--
Aaro Koskinen (aaro@iki.fi)
http://www.iki.fi/aaro/
prev parent reply other threads:[~1997-12-10 0:00 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
1997-12-08 0:00 Problem with representation clause Fabrizio Castrotorres
1997-12-08 0:00 ` Jeff
1997-12-09 0:00 ` David C. Hoos, Sr.
1997-12-08 0:00 ` Matthew Heaney
1997-12-09 0:00 ` David C. Hoos, Sr.
1997-12-09 0:00 ` David C. Hoos, Sr.
1997-12-10 0:00 ` Aaro Koskinen [this message]
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox