This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [rfc] exception handling in gimple
On Thu, 10 Sep 2009, Michael Matz wrote:
> + case NON_LVALUE_EXPR:
> case PAREN_EXPR:
> CASE_CONVERT:
> if (treeop0 == error_mark_node)
>
> Blaehh... reminds me that I once wanted to try to get rid of that tree
> code, or at least that fold produces it when outside gimple form (the
> latter probably is the reason that you need that hunk, as you build a
> new gimple switch while expanding).
Finishing the existing incomplete transition from the separate NOP_EXPR
and CONVERT_EXPR tree codes to just having CONVERT_EXPR would be nice as
well. Most places do now treat them the same via CASE_CONVERT etc.; I
don't know what we have left that might receive both codes and treats them
differently, that needs resolving before one of the codes can go away.
The C front end should no longer need fold to generate NON_LVALUE_EXPR to
ensure invalid code is diagnosed; lvalue checks are now done before
folding and c_fully_fold_internal removes any NON_LVALUE_EXPRs created by
fold. I don't know what requirements the C++ front end may still place on
fold in this regard.
--
Joseph S. Myers
joseph@codesourcery.com