comp.lang.ada
 help / color / mirror / Atom feed
From: stt@houdini.camb.inmet.com (Tucker Taft)
Subject: Re: 83/95 issue, bad code or compiler bug
Date: 1998/11/19
Date: 1998-11-19T00:00:00+00:00	[thread overview]
Message-ID: <F2ozE4.FLJ.0.-s@inmet.camb.inmet.com> (raw)
In-Reply-To: jeffrey.m.creem-1911981641480001@ljd155.sanders.lmco.com

Jeff Creem (jeffrey.m.creem@lmco.com) wrote:


: type My_Record is
:   record
:     My_Field    : My_Subtype;
:     Other_Field : My_Integer_Type;
:   end record;

: for My_Record use
:   record
:     My_Field    at 0 range 0 .. 31;
:     Other_Field at 4 range 0 .. 31; 
:   end record;

: for My_Record'size use 2 * 32;



: with the old compiler the My_Subtype was still using all 32 bits so
: that if we had a record with My_Field := 1 and Other_Field := 2 and
: we looked at the bytes in memory associated with this record we would see


: 00 00 00 01
: 00 00 00 02

: But with this new compiler (happens to be ada 95) I get

: 01 00 00 00
: 00 00 00 02

: I suspect that the compiler is seeing that the 'size of My_Subtype is 8 and
: so then even though I have the record rep-spec it does not feel constrained to
: put this 8 bit value in any particular place in the 32 bits I have given it
: since the field is larger than the subtype requires. 


: Yuck.

This is a bug.  You should ask your compiler vendor whether a fix
is available.  The repclause clearly indicates that My_Field should occupy
4 bytes, and that means it should not just be using the high 8 bits of
the word.

: Thanks,
: Jeff

--
-Tucker Taft   stt@inmet.com   http://www.inmet.com/~stt/
Intermetrics, Inc.  Burlington, MA  USA
An AverStar Company




  parent reply	other threads:[~1998-11-19  0:00 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-11-19  0:00 83/95 issue, bad code or compiler bug Jeff Creem
1998-11-19  0:00 ` Tom Moran
1998-11-19  0:00 ` Tucker Taft [this message]
1998-11-19  0:00   ` Corey Ashford
1998-11-19  0:00     ` Corey Ashford
1998-11-20  0:00 ` Matthew Heaney
1998-11-20  0:00   ` Tom Moran
1998-11-20  0:00 ` Tom Moran
1998-11-21  0:00   ` dewarr
1998-11-22  0:00     ` Tom Moran
1998-11-23  0:00       ` dewarr
1998-11-24  0:00         ` Tom Moran
replies disabled

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