comp.lang.ada
 help / color / mirror / Atom feed
From: Mike Silva <snarflemike@yahoo.com>
Subject: Re: Enumeration representation clause surprise.
Date: Fri, 13 Jun 2008 06:31:41 -0700 (PDT)
Date: 2008-06-13T06:31:41-07:00	[thread overview]
Message-ID: <1c847838-26d7-4517-a010-1851aa12351a@m3g2000hsc.googlegroups.com> (raw)
In-Reply-To: lnej71hkbf.fsf@nuthaus.mib.org

On Jun 13, 3:21 am, Keith Thompson <ks...@mib.org> wrote:
> Mike Silva <snarflem...@yahoo.com> writes:
> > On Jun 12, 2:41 pm, Markus Schöpflin <nos...@nospam.org> wrote:
> >> Mike Silva schrieb:
> [...]
> >> > Are you saying now that there's no problem after all?
>
> >> Not at all. The memory layout of the variables is not what I expect it
> >> to be, because the compiler silently biased those values. The compiler
> >> is perfectly aware of this, as it makes up for the biasing when
> >> explicitly querying the value, but this doesn't help at all because I'm
> >> interested in the exact bitwise representation.
>
> >> Admittedly, there is an inconsistency in what I'm asking the compiler to
> >> do, but that's the whole point: I do not want this inconsistency to be
> >> silently 'fixed' by the compiler, I want to get noted about my error to
> >> get a chance and fix it myself.
>
> > I wonder then if this is an error at all.  IANALL, but if the program
> > makes available your specified values when queried with the proper
> > mechanism (in this case, unchecked conversion), then I don't see what
> > difference it makes how it stores the representations in raw memory.
>
> > I'd welcome other comments on the validity or non-validity of this
> > view.
>
> If it doesn't make any difference how the representations are stored
> in raw memory, then you wouldn't use a representation clause; you'd
> let the compiler make any decisions about representation, subject to
> the constraint that the code has to produce the right answers.
>
> But if you *do* provide a representation clause, then the
> representation clearly *does* matter.  And if the compiler can't
> satisfy the requested representation (e.g., because two representation
> clauses contradict each other), then the compiler should reject the
> compilation unit.
>- Hide quoted text -
>
> - Show quoted text -
So that's why I'm wondering why compiler writers ever introduced
biased representations in the first place.  I can't believe that the
problem with this approach has only been noticed in 2008.  Aren't
biased representations fundamentally incompatible with "the
representation clearly *does* matter"?




  reply	other threads:[~2008-06-13 13:31 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-11 11:38 Enumeration representation clause surprise Markus Schoepflin
2008-06-11 12:30 ` christoph.grein
2008-06-11 12:56   ` Markus Schoepflin
2008-06-11 13:08     ` christoph.grein
2008-06-11 13:28     ` Samuel Tardieu
2008-06-11 13:48       ` Markus Schoepflin
2008-06-11 13:56         ` Samuel Tardieu
2008-06-11 14:58       ` Adam Beneschan
2008-06-11 15:23         ` Markus Schoepflin
2008-06-12  2:37           ` Randy Brukardt
2008-06-12  2:37           ` Randy Brukardt
2008-06-11 15:56         ` Samuel Tardieu
2008-06-11 19:10           ` Adam Beneschan
2008-06-11 19:59             ` Niklas Holsti
2008-06-12  1:16               ` tmoran
2008-06-12  8:27                 ` christoph.grein
2008-06-12  8:45               ` Markus Schoepflin
2008-06-12 16:43                 ` Mike Silva
2008-06-12 18:41                   ` Markus Schöpflin
2008-06-12 20:10                     ` Mike Silva
2008-06-12 20:52                       ` Simon Wright
2008-06-12 23:36                         ` Mike Silva
2008-06-13  5:49                           ` Simon Wright
2008-06-13  7:21                       ` Keith Thompson
2008-06-13 13:31                         ` Mike Silva [this message]
2008-06-13 14:45                           ` Markus Schoepflin
2008-06-13 17:52                           ` Keith Thompson
2008-06-13  9:14                       ` Jean-Pierre Rosen
2008-06-12 19:05 ` richtmyer
2008-06-12 21:26   ` Samuel Tardieu
2008-06-12 22:42     ` Adam Beneschan
2008-06-13  7:11       ` Samuel Tardieu
2008-06-13  8:27       ` christoph.grein
2008-06-13 16:21         ` Adam Beneschan
2008-06-15 19:33           ` Robert A Duff
2008-06-16 14:50             ` Adam Beneschan
2008-06-16 19:18               ` Robert A Duff
2008-06-17  6:03               ` christoph.grein
2008-06-17  7:22                 ` christoph.grein
2008-06-13  8:24     ` Peter Hermann
2008-06-13 14:47       ` Samuel Tardieu
2008-06-14 11:48         ` John B. Matthews
replies disabled

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