On Mon, 2005-05-23 at 12:19 -0400, Daniel Berlin wrote:
> > 
> 
> Originally, this is one of the reasons the patch was not committed:
> There were places in fortran that weren't clean, etc, and i just didn't
> have time to go hunting (which is why i posted it to gcc patches, and
> left it out there for whoever wanted it).
> 
> Though apparently, not checking this stuff has led us to arguably worse
> consequences.
> 
> So i'm a little wary of not installing the patch at some point soon,
> although i understand we all have time constraints.
I haven't got to the Fortran FE yet, but I just found a gem in our 
C front-end.

The code to recompute these status bits has a check like

if (decl_function_context (decl) == current_function_decl
    ....)


Which seems pretty reasonable until you realize that when called from
tree-nested.c, current_function_decl hasn't been set yet.  So we get
one set of flags when we lower nonlocal references in nested functions,
then a different set when we actually compile the nested function.  Ugh.


At least everything is building at this point.  It's mostly an exercise
in slogging through testresults looking for new failures created by
the new checking code.

Jeff

Reply via email to