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.