Hi Sterling,
Although your patch to gccfe/wfe_misc.cxx will fix the problem
you have uncovered, the problem is in wfe_decl.cxx which should
not have invoked WFE_Stmt_Append (which in turn invokes
WFE_Stmt_Top) in the first place.
The reason is that the initialization should be done
using INITO's and not by using STMT nodes as there is
no function in which to place the STMT nodes.
I will fix the problem in wfe_decl.cxx to not invoke
WFE_Stmt_Append in this case, and add an assertion check
to WFE_Stmt_Top to catch the illegal access.
This might affect the C++ frontend too, but
will not affect the f90 frontend.
Thanks for finding and reporting the problem.
Murthy
|