This is the mail archive of the gcc-patches@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]
Other format: [Raw text]

Re: [PATCH 4/5] Downgrade value_expr_for_decl to non-cache


Hi,

On Wed, 15 Jul 2015, Jakub Jelinek wrote:

> > No, I really meant value.  If you think it has meaning, then tell me 
> > what it is for DECL_VALUE_EXPR (X) to be 'Y', if Y is nowhere else 
> > mentioned, neither in code, nor in local-decls, nor in globals, or 
> > anywhere else that would be reachable by GC.
> 
> Pretty much anything, DECL_VALUE_EXPR (X) is some expression.
> It can be some_var[some_other_var], *some_var, ptr->foo, etc.
> just to list a few of the ones currently in use.

Yes, I know all that.  I haven't made myself clear, if 'Y' above is a 
decl, and it's mentioned nowhere else (so it has no place and has no 
value), then what meaning could possibly be given to DECL_VALUE_EXPR(X) if 
it were 'Y'?

Similar for "ptr->foo" if "ptr" is nowhere mentioned in code or tables.  
In effect DECL_VALUE_EXPR refers to stale decls that aren't initialized, 
aren't given a place and aren't dealt with in code.

> DECL_DEBUG_EXPR can also be __imag__ somevar, __real__ somevar, 
> something.field, etc.

Sure, and the same applies, if "something" is a stale decl, then what's 
the meaning of "something.field" in DECL_DEBUG_EXPR?


Ciao,
Michael.


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