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 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!news.fcku.it!peer04.fr7!news.highwinds-media.com!fx39.am4.POSTED!not-for-mail Subject: Re: Representation clause of a discriminated record Newsgroups: comp.lang.ada References: <677b076a-4cfb-4972-b5e5-d56c86e2179f@googlegroups.com> From: Per Sandberg User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Message-ID: X-Complaints-To: abuse@usenet.se NNTP-Posting-Date: Wed, 03 Aug 2016 15:22:59 UTC Organization: usenet.se Date: Wed, 3 Aug 2016 17:22:59 +0200 X-Received-Bytes: 1661 X-Received-Body-CRC: 1653389907 Xref: news.eternal-september.org comp.lang.ada:31270 Date: 2016-08-03T17:22:59+02:00 List-Id: Well I would add a Aspect/Pragma "pack" as well, since some architectures may insert padding to start objects on boundaries /= 32 bit. type Discriminated_Record (Size : Natural) is record A : String (1 .. Size); end record with Pack => True; for Discriminated_Record use record Size at 0 range 0 .. 31; end record; /Per Den 2016-08-03 kl. 08:13, skrev Jeffrey R. Carter: > On 08/02/2016 10:04 PM, David SAUVAGE wrote: >> >> What would be a valid representation clause for the following discriminated record ? (taken from the Ada wikibook [1]) >> >> type Discriminated_Record (Size : Natural) is >> record >> A : String (1 .. Size); >> end record; > > for Discriminated_Record use record > Size at 0 range 0 .. 31; > end record; > > if Integer'Size = 32. You can't give a representation for A because you don't > know it's size. >