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 Lines: 18 > 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.