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: border2.nntp.dca1.giganews.com!nntp.giganews.com!newspeer1.nac.net!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!rt.uk.eu.org!weretis.net!feeder4.news.weretis.net!newsfeed.datemas.de!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: Forcing GNAT to use 32-bit load/store instructions on ARM? Date: Wed, 02 Jul 2014 08:30:44 +0100 Organization: A noiseless patient Spider Message-ID: References: <0e0b9ac2-e793-4cc5-8d8d-d3441ca28a58@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx05.eternal-september.org; posting-host="117da9042fa4d6f5956a9b8f72035635"; logging-data="7714"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+5pS5zuI4/BOuLb9Qz3r9sjgxVJ5X2+yo=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (darwin) Cancel-Lock: sha1:szkZLsMMYBL1ZQfyFUHH2A/cO80= sha1:JrpvDmRZZIGA7cs/0FjE/2vTMZA= Xref: number.nntp.dca.giganews.com comp.lang.ada:187324 Date: 2014-07-02T08:30:44+01:00 List-Id: daniel.dmk@googlemail.com writes: > Thanks for this suggestion, I'll define the reserved bits in the > register, and use static checks to enforce that they are not modified > from their reset value in the code. You could use something like type Reserved_Bit is range 0 .. 0 with Size => 1; type Reserved is array (Natural range <>) of Reserved_Bit with Component_Size => 1; ... type T is record A : Boolean; -- at bit 0 Res : Reserved (1 .. 6); B : Boolean; -- at bit 7 end record with Size => 8; (with representation clauses as indicated)