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.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!samsung!brutus.cs.uiuc.edu!apple!motcsd!hpda!hpcuhb!hpcllla!hpclisp!hpcladb!defaria From: defaria@hpcladb.HP.COM (Andy DeFaria) Newsgroups: comp.lang.ada Subject: Re: Re: "limitations" of conditional compilation Message-ID: <920016@hpcladb.HP.COM> Date: 15 Dec 89 20:05:53 GMT References: <7398@hubcap.clemson.edu> Organization: Hewlett-Packard Calif. Language Lab List-Id: > Hmmm... how about: > > ALIGNMENT_LENGTH : constant := 2; -- or 4, or whatever... > > for RECORD_1 use > record > FIELD_1 at 0 * ALIGNMENT_LENGTH range 0..15; > FIELD_2 at 1 * ALIGNMENT_LENGTH range 0..15; > ... > end record; > > The general form of the "at" expression seems to qualify as a > static_simple_expression (by 4.9.7 & 4.4.2, plus a similar > example is given in 13.4.9), and the coding of the for clause > would seem to be relatively straightforward. It's the old "who came first? the chicken or the egg" syndrone. How do you define ALIGNMENT_LENGTH? Its 2 on some machines and 4 on others.