From: Jeffrey Carter <jrcarter@acm.org>
Subject: Re: Porting from Modula-2 to Ada
Date: Fri, 18 Oct 2002 21:29:13 GMT
Date: 2002-10-18T21:29:13+00:00 [thread overview]
Message-ID: <3DB07D49.6090407@acm.org> (raw)
In-Reply-To: slrnaqvosa.nv.lutz@taranis.iks-jena.de
Lutz Donnerhacke wrote:
> generic
> type T(<>) is limited private;
> procedure Xxx (data : T);
>
> procedure Xxx (data : T) is
> use System.Storage_Elements;
> raw : Storage_Array (Storage_Offset'First ..
> Storage_Offset'First + (data'Size + Storage_Unit - 1) / Storage_Unit);
> pragma Import (Ada, raw);
> for raw'Address use data'Address;
> begin
> ...
System.Storage_Elements.Storage_Array is the best way to deal with
untyped storage in Ada. This example is almost right; it seems to
allocate one more Storage_Element than it should. A better way to
achieve the same thing would be
Raw : Storage_Array (1 .. Data'Max_Size_In_Storage_Elements);
which avoids such off-by-one errors.
--
Jeff Carter
"Now look, Col. Batguano, if that really is your name."
Dr. Strangelove
next prev parent reply other threads:[~2002-10-18 21:29 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-10-18 8:24 Porting from Modula-2 to Ada Manuel Collado
2002-10-18 9:45 ` Bernd Specht
2002-10-18 10:33 ` Lutz Donnerhacke
2002-10-18 10:55 ` Jeffrey Creem
2002-10-18 11:21 ` Lutz Donnerhacke
2002-10-18 22:01 ` Jeffrey Creem
2002-10-18 21:29 ` Jeffrey Carter [this message]
2002-10-18 21:39 ` Jeffrey Carter
2002-10-18 11:20 ` Nicolas Cailín Paul Gloster
2002-10-18 15:14 ` Pat Rogers
2002-10-24 14:51 ` Colin Paul Gloster
2002-10-25 3:43 ` Dennis Lee Bieber
2003-02-04 14:12 ` Colin Paul Gloster
2003-02-09 6:07 ` Robert I. Eachus
2002-10-19 13:30 ` SteveD
2002-10-22 7:48 ` Manuel Collado
2002-10-22 7:55 ` Manuel Collado
2002-10-22 18:56 ` Jeffrey Carter
2002-10-23 9:08 ` Manuel Collado
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox