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=-1.3 required=5.0 tests=BAYES_00,FREEMAIL_FROM, INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,ebc19d379b37caae X-Google-Attributes: gid103376,public From: "Vladimir Olensky" Subject: Re: Type size vs. actual size difference. Date: 2000/03/20 Message-ID: #1/1 X-Deja-AN: 599998058 References: <8b5hhp$pvv1@svlss.lmms.lmco.com> Organization: Posted via Supernews, http://www.supernews.com X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3 Newsgroups: comp.lang.ada X-Complaints-To: newsabuse@supernews.com Date: 2000-03-20T00:00:00+00:00 List-Id: Bruce Detter wrote in message <8b5hhp$pvv1@svlss.lmms.lmco.com>... >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? This topic was discussed recently here. Topic name was: Size (novice question). Shortly - size of the stand-alone variable is a multiple of storage units. (Variable should be stored and accessed in memory in effective manner ). In your case 216 = Byte'Size*7; But Type'Size is exactly 214. If your record would be a part of the other record it's size could be made exactly 214 bits. Regards, Vladimir_Olensky