From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7324 invoked by alias); 24 Dec 2002 13:36:03 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 7303 invoked by uid 71); 24 Dec 2002 13:36:02 -0000 Resent-Date: 24 Dec 2002 13:36:02 -0000 Resent-Message-ID: <20021224133602.7302.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, phma@webjockey.net Received: (qmail 6753 invoked by uid 61); 24 Dec 2002 13:30:49 -0000 Message-Id: <20021224133049.6752.qmail@sources.redhat.com> Date: Tue, 24 Dec 2002 05:36:00 -0000 From: phma@webjockey.net Reply-To: phma@webjockey.net To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: optimization/9052: in C code, "if" statement fails to execute if optimized X-SW-Source: 2002-12/txt/msg01258.txt.bz2 List-Id: >Number: 9052 >Category: optimization >Synopsis: in C code, "if" statement fails to execute if optimized >Confidential: no >Severity: non-critical >Priority: medium >Responsible: unassigned >State: open >Class: wrong-code >Submitter-Id: net >Arrival-Date: Tue Dec 24 05:36:01 PST 2002 >Closed-Date: >Last-Modified: >Originator: phma@webjockey.net >Release: 3.2 >Organization: >Environment: Reading specs from /usr/lib/gcc-lib/i386-pc-linux-gnu/3.2/specs Configured with: /usr/src/gcc-3.2/configure --host=i386-pc-linux-gnu --prefix=/usr --enable-threads=posix --enable-languages=c,c++,objc Thread model: posix gcc version 3.2 Processor: AMD Athlon, 1200 MHz. >Description: for (n=1;n256 || fabs(i[n])>256 || (!(n&1) && r[n/2]==r[n]&& i[n/2]==i[n])) break; printf("%5d %7.3f %7.3f\n",n,r[n],i[n]); } the if statement never triggers and the loop never breaks. >How-To-Repeat: Compile this with "gcc -O2 -o mandeljulia main.c -lm --save-temps" or -O1 and run it and it incorrectly outputs 255. If compiled with -O0 it correctly outputs 12. Move "printf" between "i[n]" and "if" and compile with -O2 and it outputs 12. >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/x-bzip2; name="main.i.bz2" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="main.i.bz2" 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 DXv2P/A=