comp.lang.ada
 help / color / mirror / Atom feed
From: "Jeffrey R. Carter" <spam@spam.com>
Subject: Re: changing alignment of built-in boolean
Date: Sat, 15 Oct 2005 06:40:45 GMT
Date: 2005-10-15T06:40:45+00:00	[thread overview]
Message-ID: <Nv14f.1603$hY6.1538@newsread1.news.pas.earthlink.net> (raw)
In-Reply-To: <1129320236.007525.185300@g44g2000cwa.googlegroups.com>

invalidemail@aerojockey.com wrote:
> 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.

You could always modify the compiler :)

You might want to look at user-defined boolean types here (it's sometimes a 
little confusing in Ada to distinguish between integer types and type Integer, 
character types and type Character, string types and type String, boolean types 
and type Boolean):

type Big_Boolean is new Boolean;
for Big_Boolean'Size use 32;
for Big_Boolean'Alignment use 4;

Conditions can be of any boolean type, so you can use this just like type Boolean:

B : Big_Boolean;

if B then ...

while B loop ...

exit Some_Loop when B;

-- 
Jeff Carter
"If a sperm is wasted, God gets quite irate."
Monty Python's the Meaning of Life
56



  parent reply	other threads:[~2005-10-15  6:40 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
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 [this message]
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