From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2325 invoked by alias); 22 Jan 2009 09:17:22 -0000 Received: (qmail 2082 invoked by alias); 22 Jan 2009 09:17:12 -0000 Date: Thu, 22 Jan 2009 09:17:00 -0000 Message-ID: <20090122091712.2081.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/38932] ICE in set_value_range, at tree-vrp.c:398 In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "pinskia at gmail dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2009-01/txt/msg02365.txt.bz2 ------- Comment #5 from pinskia at gmail dot com 2009-01-22 09:17 ------- Subject: Re: ICE in set_value_range, at tree-vrp.c:398 Sent from my iPhone On Jan 22, 2009, at 1:00 AM, "bonzini at gnu dot org" wrote: > > > ------- Comment #4 from bonzini at gnu dot org 2009-01-22 09:00 > ------- > In PRE there is a fold_convert_const_int_from_int call simplifying > "(signed > char) 249" to -7, but setting the TREE_OVERFLOW flag in the > meanwhile. I > don't think it makes sense to set the overflow flag on a NOP: Yes but changing that right now opens lots of bags of worms. It has been tried before. The simple way to fix this is in pre unset TREE_OVERFLOW because at this point in the IR it does not matter. I hope someone would change vrp to do the correct thing but I guess that won't happen any time soon. Thanks, Andrew Pinski > > > * `The result of, or the signal raised by, converting an integer > to a > signed integer type when the value cannot be represented in an > object of that type (C90 6.2.1.2, C99 6.3.1.3).' > > For conversion to a type of width N, the value is reduced modulo > 2^N to be within range of the type; no signal is raised. > > (Integers implementation, from the gcc manual). > > > -- > > bonzini at gnu dot org changed: > > What |Removed |Added > --- > --- > ---------------------------------------------------------------------- > CC| |rguenth at gcc dot > gnu dot > | |org > > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38932 > -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38932