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