type gimplification, continued

Richard Kenner kenner@vlsi1.ultra.nyu.edu
Wed Dec 22 13:02:00 GMT 2004

    I think what you tested was *not* all of my patches reverted,
    which would be cheating.  We shouldn't need *both* unsharing

Right.  I tested with the current sources without just your *last* patch.
I agree that the other unsharing should be removed too, but wanted to do one
step at a time.

    But it fails gcc.c-torture/compile/nested-1.c, which again
    shows invalid tree sharing between the parent and the nested function.

OK.  I'll look at that one in a few hours.  Did you revert the rest of the
unsharing patches to see this?

    When we go to gimplify the DECL_SIZE of the nested function parameter,
    we simultaneously modify one of the statements in the parent function,
    which means that a variable local to the nested function leaks into
    the parent.

I wonder if this is also what I'm seeing in some failing ACATS tests.  But
if so, it's new since they used to pass.  I assume this also used to pass
before any of these changes, so there's something going on here that neither
of us completely understand.

More information about the Gcc mailing list