From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2471 invoked by alias); 20 Sep 2006 23:31:20 -0000 Received: (qmail 1757 invoked by uid 48); 20 Sep 2006 23:31:12 -0000 Date: Wed, 20 Sep 2006 23:31:00 -0000 Message-ID: <20060920233112.1756.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug other/28230] -O2 -fwrapv miscompiles gcc, binutils, gzip. In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "pluto at agmk dot net" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2006-09/txt/msg01974.txt.bz2 List-Id: ------- Comment #10 from pluto at agmk dot net 2006-09-20 23:31 ------- i have a reduced testcase: $ cat tmp.c void foo( unsigned long bb, unsigned short tn, unsigned e, unsigned* w ) { unsigned n = tn + bb; do { e = (e > n) ? e : *w; n -= (e > n) ? n : e; if (*w) *w = 0; } while ( n ); } int main() { unsigned w = 0; foo( 0, 0, 0, &w ); return 0; } with `-O1 -fwrapv -ftree-vrp' gcc-4.2 produces an infinite loop. without -ftree-vrp it reaches an exit point. gcc-4.1 works fine in both cases. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28230