From: "Stanley R. Allen" <Stanley_R_Allen@raytheon.com>
Subject: Re: Type size vs. actual size difference.
Date: 2000/03/20
Date: 2000-03-20T00:00:00+00:00 [thread overview]
Message-ID: <38D666EC.AB575A49@raytheon.com> (raw)
In-Reply-To: 8b5hhp$pvv1@svlss.lmms.lmco.com
Bruce Detter wrote:
>
> Using GNAT 3.12 on Win NT 4.0. We have defined a record that has a length
> of 214 bytes. The type'Size attribute reports 214, but when we declare a
> variable of the record type (X : Type) the size attribute X'Size reports
> 216. It appears the actual variable size takes into account adjustments to
> word boundaries (and of course the type'Size attribute can't do this). Is
> there a preprocessor command or pragma command that will force byte boundary
> alignment so that the type size agrees with the actual size?
>
I don't think there is a standard way to do this. On GNAT, there
is an attribute T'Object_Size, which when applied to types will yield
the number of bits that would be used for a variable if declared
"A : T;". On the old DEC Ada compiler, you could use the attribute
T'Machine_Size, which would do the same thing. I don't know about
other compilers.
It would be nice if something like T'Object_Size was standard. In some
cases it's necessary for me to declare a 'dummy' variable of a type
to get this.
--
Stanley Allen
mailto:Stanley_R_Allen@raytheon.com
next prev parent reply other threads:[~2000-03-20 0:00 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-03-20 0:00 Type size vs. actual size difference Bruce Detter
2000-03-20 0:00 ` tmoran
2000-03-20 0:00 ` Stanley R. Allen [this message]
2000-03-20 0:00 ` Vladimir Olensky
2000-03-20 0:00 ` Robert Dewar
2000-03-20 0:00 ` Vladimir Olensky
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox