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.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,13f10cac2d21b84f X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-04-29 08:45:28 PST Path: archiver1.google.com!postnews1.google.com!not-for-mail From: robert_s_quinn@yahoo.com (Robert Quinn) Newsgroups: comp.lang.ada Subject: Re: Is this a GNAT bug??? Date: 29 Apr 2002 08:45:28 -0700 Organization: http://groups.google.com/ Message-ID: References: <3CC992D6.A87A3443@raytheon.com> NNTP-Posting-Host: 63.169.26.2 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1020095128 3765 127.0.0.1 (29 Apr 2002 15:45:28 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: 29 Apr 2002 15:45:28 GMT Xref: archiver1.google.com comp.lang.ada:23223 Date: 2002-04-29T15:45:28+00:00 List-Id: Mark Johnson wrote in message news:<3CC992D6.A87A3443@raytheon.com>... > [snip] the closest I > found is 13.3(43) which states... > A Size clause should be supported for an object if the specified Size > is at least as large as its subtype 'Size, and corresponds to a size in > storage elements that is a multiple of the object's Alignment (if the > Alignment is nonzero). > I'm kind of surprised not to find similar text when the ARM defines > 'Size for a subtype. > > The Alignment of Array_Of_65_Bits_Type is most likely 1, a storage > element is most likely 8 bits, so rounding up the Size to 72 can be > required by the compiler. Yes, the alignment is 1. This doesn't make sense to me. Why can I specify any size I want, up to size 64, but arrays over 64 bits have to have a size as a multiple of 8? What is so special about 64 bits or less? I notice the following pattern with alignment/size: # of bits in array Alignment 1 - 8 1 9 - 16 2 17 - 32 4 33 - 64 8 > 64 1 I've tried setting the Alignment for a 65 bit array to 16, but that doesn't help. What I appear to be discovering is that, with Gnat on my unix platform, you cannot specify the exact size greater than 64 of a type. (Unless the size just happens to be a multiple of 8) I tried the same thing on a VADS compiler without any problem, so it must be just Gnat. Anyone have any comments? Thanks Robert Quinn