From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: Should representation clauses be complete for each bit?
Date: Sat, 23 Jul 2011 11:12:25 -0400
Date: 2011-07-23T11:12:25-04:00 [thread overview]
Message-ID: <wcc62mtav52.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: j0d2bt$n6k$1@munin.nbi.dk
"Randy Brukardt" <randy@rrsoftware.com> writes:
> I would do this slightly differently (in fact we did, in Claw where we had
> this exact problem):
>
> type T is
> record
> One : Boolean;
> Gap1 : Bits2 := 0; -- must be zero
> Tooth : Boolean;
> Gap2 : Bits11 := 0; -- must be zero
> Ree : Boolean;
> end record
> with Predicate => T.Gap1 = 0 and T.Gap2 = 0;
>
> with the same record rep clause.
> Then the (correct) aggregates don't need to mention the gaps explicitly:
>
> with Ada.Assertions; use Ada.Assertions;
> procedure P.Main is
> -- X : T := (One | Tooth | Ree => True, Gap1 => 0, Gap2 => 0); -- OK
> X : T := (One | Tooth | Ree => True, others => <>); -- OK
Hmm. That seems reasonable, although it makes me nervous that
you might accidentally say:
X : T := (One | Tooth => True, others => <>);
which evilly leaves junk in Ree. That sort of bug is likely if you add
new components to a record.
- Bob
next prev parent reply other threads:[~2011-07-23 15:12 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-20 10:34 Should representation clauses be complete for each bit? okellogg
2011-07-20 14:51 ` Robert A Duff
2011-07-20 15:24 ` Georg Bauhaus
2011-07-20 17:28 ` Robert A Duff
2011-07-21 7:37 ` Martin
2011-07-21 8:22 ` Simon Wright
2011-07-21 14:58 ` Robert A Duff
2011-07-23 0:13 ` Randy Brukardt
2011-07-27 14:12 ` okellogg
2011-07-28 0:03 ` Randy Brukardt
2011-07-21 9:43 ` Georg Bauhaus
2011-07-21 15:06 ` Robert A Duff
2011-07-31 15:02 ` BrianG
2011-07-21 21:11 ` Brian Drummond
2011-07-21 7:59 ` Stephen Leake
2011-07-20 15:29 ` okellogg
2011-07-20 16:24 ` Dmitry A. Kazakov
2011-07-20 16:58 ` okellogg
2011-07-20 19:38 ` Dmitry A. Kazakov
2011-07-20 17:27 ` Robert A Duff
2011-07-20 19:14 ` okellogg
2011-07-20 20:13 ` J-P. Rosen
2011-07-20 21:23 ` Robert A Duff
2011-07-20 21:21 ` Robert A Duff
2011-07-21 8:02 ` Stephen Leake
2011-07-21 8:00 ` Stephen Leake
2011-07-21 7:36 ` Martin
2011-07-22 23:50 ` Randy Brukardt
2011-07-23 2:16 ` tmoran
2011-07-23 15:12 ` Robert A Duff [this message]
2011-07-26 21:10 ` Randy Brukardt
2011-07-23 0:01 ` Randy Brukardt
-- strict thread matches above, loose matches on Subject: below --
1998-04-17 0:00 Should Representation Clauses " Marin David Condic, 561.796.8997, M/S 731-96
[not found] <3533C3C5.3F25CB91@cacd.rockwell.com>
1998-04-16 0:00 ` Stephen Leake
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox