comp.lang.ada
 help / color / mirror / Atom feed
From: Stephen Leake <stephen_leake@stephe-leake.org>
Subject: Re: GNAT 4.4.5 Record Bit_Order Endian issues
Date: Tue, 22 Jan 2013 20:38:59 -0500
Date: 2013-01-22T20:38:59-05:00	[thread overview]
Message-ID: <85pq0wadak.fsf@stephe-leake.org> (raw)
In-Reply-To: kdn4g3$od1$1@munin.nbi.dk

"Randy Brukardt" <randy@rrsoftware.com> writes:

> "Stephen Leake" <stephen_leake@stephe-leake.org> wrote in message 
> news:854ni9c319.fsf@stephe-leake.org...
>> "Randy Brukardt" <randy@rrsoftware.com> writes:
> ...
>>Note the 'otherwise'; that's means the value is R.C'Address - R'Address
>>only if position is _not_ specified in a rep clause.
>
> Right, because if it is specified you use that value. But it *always* means
> R.C'Address - R'Address, whether it is specified or not; it's only that the 
> *value* comes from the specification if there is one. So I take it you are 
> complaining about a misplaced "otherwise".

Yes. 

> I'd suggest you write up an Ada-Comment so it gets onto the agenda of the 
> ARG to fix next time. (I personally think it is obvious, so I wouldn't worry 
> about it, but people differ.)

I'll do that, but I agree it's not a big deal, since R.C'Address -
R'Address is the only reasonable meaning.

>> Do you think Cohen's paper makes it clear? I gather not. Why not?
>
> I read that paper three or four times and never understood any of it. 

I'll have to read it again; its been a while.

> The discussion of "machine scalars" in the AI and in the RM (and
> especially during the ARG meetings) makes more sense to me than
> anything in Cohen's paper -- and in all honesty, that isn't intuitive,
> either.
>
> In any case, the Cohen paper is far too long to be used as part of the RM, 
> and it surely defies condensation into a few easily understandable 
> paragraphs. (If someone can do that, I'd welcome adding it to the AARM, I 
> surely couldn't and I tried.)

I'm thinking it would be sufficient to say something like:

    'position' specifies R.C'Address - R'Address (in units of Storage_Unit)

    If the nondefault bit order applies, each 'position' must specify the start
    of the machine scalar following the machine scalar used in the previous
    component.

But I'll work on it more. A couple of examples would help. And we need
to point out that this does not affect byte endianness.

-- 
-- Stephe



  reply	other threads:[~2013-01-23  1:38 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-22  3:21 GNAT 4.4.5 Record Bit_Order Endian issues Stephen Leake
2013-01-22  5:14 ` Jeffrey Carter
2013-01-23  1:29   ` Stephen Leake
2013-01-22 22:40 ` Randy Brukardt
2013-01-23  1:38   ` Stephen Leake [this message]
2013-01-23 10:58     ` Simon Wright
  -- strict thread matches above, loose matches on Subject: below --
2013-01-14 17:43 awdorrin
2013-01-15  0:38 ` Randy Brukardt
2013-01-15  1:57 ` Adam Beneschan
2013-01-15 16:57 ` AdaMagica
2013-01-15 22:24 ` Stephen Leake
2013-01-16 10:44   ` Simon Wright
2013-01-16 19:00     ` AdaMagica
2013-01-16 21:34       ` Simon Wright
2013-01-16 23:14     ` Randy Brukardt
2013-01-17  3:49     ` Stephen Leake
2013-01-17 15:32       ` awdorrin
2013-01-18  9:49         ` Stephen Leake
2013-01-18 13:04           ` Robert A Duff
2013-01-19  1:43             ` Stephen Leake
2013-01-19 12:48               ` AdaMagica
2013-01-22  0:14                 ` Randy Brukardt
2013-01-17 17:28       ` Simon Wright
2013-01-18  9:56         ` Stephen Leake
2013-01-17 18:04 ` awdorrin
2013-01-17 19:50   ` awdorrin
2013-01-18  9:58     ` Stephen Leake
2013-01-17 20:58   ` Simon Wright
2013-01-17 21:29     ` awdorrin
2013-01-17 22:16       ` awdorrin
2013-01-18  6:15         ` J-P. Rosen
2013-01-18 15:28           ` Niklas Holsti
2013-01-18  9:37         ` Stephen Leake
2013-01-18 12:24         ` awdorrin
2013-01-18 15:11           ` awdorrin
2013-01-19  1:48             ` Stephen Leake
2013-01-18 17:19           ` Simon Wright
2013-01-22  9:49           ` quinot
2013-01-28 13:39             ` quinot
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox