This is the mail archive of the gcc-bugs@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: [Bug c++/24439] [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


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