This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]