middle-end/6994: ICE in find_function_data
Janis Johnson
janis187@us.ibm.com
Wed Oct 9 15:59:00 GMT 2002
This problem still exists in 3.3 20021008 and 3.2.1 20021009 on
i686-pc-linux-gnu. As mentioned earlier, it's a regression from
GCC 2.95.3.
The PR name ought to be "c++" rather than "middle-end".
At the time of the ICE in find_function_data, 'exp' in expand_expr is
a SAVE_EXPR whose function context, 'context', is cloned from
'current_function_decl'. The code in expand_expr falsely assumes that
since 'context' is different from 'current_function_decl', 'context' is
a containing function. It calls find_function_data just to make sure
that 'context' is for a containing function, but it's not so that
function aborts.
I don't where to go from here, but hope that this information will be
of use to someone familiar with the C++ front end.
Janis
More information about the Gcc-bugs
mailing list