comp.lang.ada
 help / color / mirror / Atom feed
From: Ludovic Brenta <ludovic@ludovic-brenta.org>
Subject: Re: changing alignment of built-in boolean
Date: Sat, 15 Oct 2005 00:55:43 +0200
Date: 2005-10-15T00:55:43+02:00	[thread overview]
Message-ID: <8764rzhfo0.fsf@ludovic-brenta.org> (raw)
In-Reply-To: 1129320236.007525.185300@g44g2000cwa.googlegroups.com

invalidemail@aerojockey.com writes:

> Is it possible, in GNAT, to force the built-in Boolean type to use
> 4-byte (32-bit) alignment?  Reason: I have to interface some Ada code
> to a package that insists on 32-bit variables on 4-byte-aligned
> addresses.
>
> Feel free to suggest some other strategy for accomplishing this, though
> I'd prefer not to make extensive changes to the Ada code (such as
> changing it to use a subtype of Boolean).
>
> I'm using GNAT 3.15p on HPUX.
>
> Thanks.

type T is record
   B : Boolean;
   ...
end record;

for T use record
   B at 0 range 0 .. 31;
   ...
end record;

package P is
   subtype External_Boolean is Boolean;
   for External_Boolean'Size use 32;
   for External_Boolean'Alignment use 32;

   procedure External (B : in External_Boolean);
   pragma Import (C, External, "some_function");
end P;

-- 
Ludovic Brenta.



  reply	other threads:[~2005-10-14 22:55 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-14 20:03 changing alignment of built-in boolean invalidemail
2005-10-14 22:55 ` Ludovic Brenta [this message]
2005-10-14 23:33   ` invalidemail
2005-10-15  7:13     ` Martin Krischik
2005-10-17 18:02       ` Jean-Pierre Rosen
2005-10-14 23:29 ` tmoran
2005-10-15  1:39 ` Steve
2005-10-15  6:45   ` Jeffrey R. Carter
2005-10-15  6:40 ` Jeffrey R. Carter
2005-10-16 17:48   ` invalidemail
2005-11-09  3:25   ` Anonymous Coward
2005-11-09  5:42     ` christoph.grein
2005-11-09 22:14     ` Jeffrey R. Carter
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox