------- Comment #8 from pinskia at gcc dot gnu dot org 2005-10-19 20:55 ------- Subject: Re: [3.4/4.0/4.1 Regression] ICE with invert conditional containing throw
On Oct 19, 2005, at 4:50 PM, mark at codesourcery dot com wrote: > > > ------- Comment #7 from mark at codesourcery dot com 2005-10-19 20:50 > ------- > Subject: Re: [3.4/4.0/4.1 Regression] ICE with invert conditional > containing throw > > rguenth at gcc dot gnu dot org wrote: >> ------- Comment #6 from rguenth at gcc dot gnu dot org 2005-10-19 >> 20:40 ------- >> Unfortunately we call into the middle-ends invert_truthvalue right in >> cp/typeck.c:build_unary_op as we build the TRUTH_NOT_EXPR, so at the >> time we >> reach the gimplifier we already crashed. > > In that case, I think we should fix the middle end to handle this case; > it's not a very major change to the semantics of GIMPLE/GENERIC to > handle this case. (I'm assuming that aren't massive ripple effects > throughout the middle-end...) Mark did you look how long this bug as been here, it predates tree-ssa by a year. So I don't think we should change TRUTH_NOT_EXPR/COND_EXPR semantics. The C++ front-end needs just stop doing bad stuff like this. -- Pinski -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24439