This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: zack's todo list


Mike Stump <mrs@windriver.com> writes:

>        6.1.2.2  Linkages of identifiers
>        Identifiers with no linkage denote unique entities.
> 
> So, this would seem to indicate what their thinking was.  It is the
> words `unique entity' that seems to mandates the requirement of unique
> address, I think.

Hmm, I think so.  Thanks.

(BTW, which version of the standard are you quoting?)

> >          -- for  an  object, causes storage to be reserved for that
> >             object;
> 
> > The second declaration (or the first, depending on your view) does
> > not "cause storage to be reserved for that object", thus violating
> > the standard.
> 
> The phrase causes storage to be reserved, doesn't mean that it causes
> storage to be reserved.  This is a fundamental misunderstanding of
> Standadeze.  It is only that one isn't allowed to notice that storage
> isn't reserved, but if you don't, or cannot, then you cannot observe
> it, and if you cannot observe it, it is rather meaningless.

Yes, of course.  (Reusing stack locations for different variables with
non-overlapping usage is a common example of this practice.)  But
gcc.dg/c99-func-3.c reveals a difference---and the code does not
trigger undefined or implementation-defined behavior; so the compiler
is not permitted to make any optimizations in this case.

-- 
Florian Weimer 	                  Florian.Weimer@RUS.Uni-Stuttgart.DE
University of Stuttgart           http://cert.uni-stuttgart.de/
RUS-CERT                          +49-711-685-5973/fax +49-711-685-5898

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]