comp.lang.ada
 help / color / mirror / Atom feed
From: dewar@gnat.com (Robert Dewar)
Subject: Re: System.Address'Size - not a static integer expression?
Date: 16 Apr 2002 20:11:57 -0700
Date: 2002-04-17T03:11:58+00:00	[thread overview]
Message-ID: <5ee5b646.0204161911.687f3144@posting.google.com> (raw)
In-Reply-To: 3CBAEE01.D17C2DB0@despammed.com

Wes Groleau <wesgroleau@despammed.com> wrote in message news:<3CBAEE01.D17C2DB0@despammed.com>...

> I do not recall ever posting that it was a record
> type.  Just that it was rejected and that I found
> (or my faulty memory says I found) something saying
> 'Size was non-static.  The same memory does not think
> it was a record type.

Well this thread was started by a note about a record type.
We really can't deal with Wes' vague memory that there was
a problem with a 'Size reference that he is sure APEX and
GNAT were wrong to reject, but he can't remember exactly
what it was :-)

> 'Size DOES return a scalar.  Therefore, if the prefix
> is static and non-scalar, 4.9 (7) says 'Size on it is
> static.

No, that's not what 4.9(7) says (let's have it again): 

    7  an attribute_reference that denotes a scalar value, 
       and whose prefix denotes a static scalar subtype;

I don't see why you have trouble reading this, it clearly
applies ONLY to static scalar subtypes, and thus does NOT
apply if the prefix denotes a static non-scalar subtype
(the only case of this is a static string subtype and indeed 'Size
applied to such a subtype is not static:

    1. package t is
    2.    subtype r is string (1 .. 10);
    3.    a : constant := r'size;
                           |
       >>> non-static expression used in number declaration
    4. end;

This diagostic from GNAT is indeed correct.

> That does not prove no other paragraph says
> otherwise.  You say no, and you are a generally reliable
> source.  I do not have the time to look for proof that
> my memory is not as faulty as you say.

Whether you have time or not is irrelevant, there is no
such proof, so you will just be wasting your time looking
for it. The principles behind this design are quite clear
so there are no surprised in the interpretation I am
clarifying here. What would be MOST surprising is if 
there *were* a statement corresponding to your memory,
since it is obviously evident that such a statement would
be in error, given the fundamental design criteria for
the language here.

> For now, I have
> no doubt or uncertainty, and certainly no fear.  So 
> perhaps FUD is the wrong term.

FUD is not what you feel, it is the impression that may
be created (gee Ada experts disagree on what the rules of
static expressoins are ...). Well they don't disagree, the
rules are clear and it is important for Ada programmers
to know and understand these rules :-)



  parent reply	other threads:[~2002-04-17  3:11 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-03-06 17:57 System.Address'Size - not a static integer expression? Vadim Godunko
2002-03-07  1:21 ` Robert Dewar
2002-03-07 13:56   ` Wes Groleau
2002-03-08 18:34     ` FGD
2002-03-08 19:07       ` Larry Kilgallen
2002-03-08 19:43       ` Wes Groleau
2002-04-08  4:57         ` Robert Dewar
2002-04-08 15:17           ` Wes Groleau
2002-04-10  1:54             ` Robert Dewar
2002-04-10 17:41               ` Wes Groleau
2002-04-10 18:29                 ` Darren New
2002-04-12 20:20                 ` Robert Dewar
2002-04-12 21:10                   ` Wes Groleau
2002-04-14 19:59                     ` Robert Dewar
2002-04-14 20:01                     ` Robert Dewar
2002-04-15 15:13                       ` Wes Groleau
2002-04-15 19:57                         ` Randy Brukardt
2002-04-17  3:22                           ` Robert Dewar
2002-04-17  3:11                         ` Robert Dewar [this message]
2002-04-17 18:27                           ` Wes Groleau
2002-04-19 14:06                             ` Robert Dewar
2002-04-19 15:05                               ` Wes Groleau
2002-04-20  2:26                                 ` Robert Dewar
2002-04-20  5:11                                 ` Robert Dewar
2002-04-20 16:50                                   ` Darren New
2002-04-22  9:20                                   ` Ole-Hjalmar Kristensen
2002-04-22 13:24                                     ` Robert Dewar
2002-04-22 13:59                                       ` Ole-Hjalmar Kristensen
2002-04-22 13:34                                     ` Robert Dewar
2002-04-22 14:02                                       ` Ole-Hjalmar Kristensen
2002-04-22 16:11                                         ` Jean-Pierre Rosen
2002-04-22 23:57                                         ` Robert Dewar
2002-04-08  0:43 ` Nick Roberts
replies disabled

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