On Wed, Jul 15, 2015 at 04:25:44PM +0200, Michael Matz wrote:
> On Wed, 15 Jul 2015, Jakub Jelinek wrote:
>
> > On Wed, Jul 15, 2015 at 04:14:07PM +0200, Michael Matz wrote:
> > > That's Toms other approach with supporting multi-step dependencies. As I
> > > have tried to argue in the other thread, I think this idea is
> > > fundamentally broken and just hides real bugs, and I don't see why this
> > > would be different for this particular hash-map. If the value of this
> > > hash refers to a decl that isn't mentioned anywhere else except from this
> > > hash entry, then it has no meaning anymore, and hence shouldn't itself be
> > > part of the hash anymore.
> >
> > You mean key or value? The value of course can mention various trees that
> > aren't referenced from anywhere else, and it has meaning.
>
> 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.
DECL_DEBUG_EXPR can also be __imag__ somevar, __real__ somevar,
something.field, etc.
Jakub