From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,9ae4660d46953150 X-Google-Attributes: gid103376,public From: "Samuel T. Harris" Subject: Re: Enhancement needed Date: 2000/09/18 Message-ID: <39C61A1B.34C2C1BD@Raytheon.com>#1/1 X-Deja-AN: 671194627 Content-Transfer-Encoding: 7bit References: <0$9CsHAKbiv5Ewg1@ntlworld.com> <8pol3q$dnqb3$1@ID-25716.news.cis.dfn.de> <39C5530F.B7849F7A@Raytheon.com> <39C564E4.C976F096@telepath.com> X-Accept-Language: en Content-Type: text/plain; charset=us-ascii Organization: Raytheon Aerospace Engineering Services Mime-Version: 1.0 Reply-To: samuel_t_harris@raytheon.com Newsgroups: comp.lang.ada Date: 2000-09-18T00:00:00+00:00 List-Id: Ted Dennison wrote: > > "Samuel T. Harris" wrote: > > > Michael Pickett wrote: > > > > > > but as far as I recall, the expectation and previous experience was that > > > setting the Size attribute for a record type should result in the > > > compiler adjusting, if necessary, the internal layout of the record from > > > the default layout. > > > > Consider the following problem. > > > > A memory mapped device provides a collection of data at a specific > > memory address. I use an Ada record to overlay that address. > > I need a rather explicit representation clause to exactly > > I believe the entire issue was what the compiler can do in the *absence* of a > rep clause. Its pretty clear that it needs to honor any record rep clause, or > die trying. But it was suprising to some that in *absense* of a rep clause, > compilers still aren't supposed to rearrange record fields to make a size clause > attainable. > I believe I covered this case in my last paragraph (quoted below) ... > If all I'm after is a packed version of the record with no > padding or extra bits, then I expect pragma pack to do the > job. > ... and I also believe we are in agreement. I still expect a size clause to produce a warning if it is too large and an error if it is too small but I never expect it to change the layout. That is the purpose of pragma pack. -- Samuel T. Harris, Principal Engineer Raytheon, Aerospace Engineering Services "If you can make it, We can fake it!"