From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25634 invoked by alias); 8 Jan 2010 17:21:49 -0000 Received: (qmail 25591 invoked by uid 48); 8 Jan 2010 17:21:39 -0000 Date: Fri, 08 Jan 2010 17:21:00 -0000 Message-ID: <20100108172139.25590.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/42512] [4.5 Regression] integer wrong code bug with loop In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rguenth at gcc dot gnu dot org" 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: 2010-01/txt/msg00958.txt.bz2 ------- Comment #10 from rguenth at gcc dot gnu dot org 2010-01-08 17:21 ------- Ok, I have that fixed locally at the place of the patch but I wonder if initial_condition () shouldn't return for example 1ul for (unsigned long) { 1, +, 1 }_1 and (int) i_2 for (int) { i_2, +, 1 }_1 and further (for short i_2) i_2 for (short) { (int) { i_2, +, 1 }_2, +, 1 }_1 ? Can the latter two happen all? Is it even correct to talk about a general initial condition in this case? Consider { { 1, +, 1 }_2, +, 1 }_1 initial_condition will return 1 for the chrec even though that is not correct because the initial condition is not constant in loop 1. I suppose I'd only see that if instantiating the chrec at the point where I placed the fix? So I really only see at most a single outer conversion around the chrec? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42512