From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17898 invoked by alias); 31 Mar 2003 05:06:00 -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 17876 invoked by uid 71); 31 Mar 2003 05:06:00 -0000 Resent-Date: 31 Mar 2003 05:06:00 -0000 Resent-Message-ID: <20030331050600.17874.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, parisc-linux@lists.parisc-linux.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, Randolph Chung Received: (qmail 17827 invoked by uid 48); 31 Mar 2003 05:05:40 -0000 Message-Id: <20030331050540.17826.qmail@sources.redhat.com> Date: Mon, 31 Mar 2003 05:26:00 -0000 From: Randolph Chung Reply-To: Randolph Chung To: gcc-gnats@gcc.gnu.org Cc: parisc-linux@lists.parisc-linux.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) X-GNATS-Notify: parisc-linux@lists.parisc-linux.org Subject: target/10271: [3.0/3.2/3.3/3.4] [HPPA] Floating point args don't get reloaded across function calls at -O2 X-SW-Source: 2003-03/txt/msg02089.txt.bz2 List-Id: >Number: 10271 >Category: target >Synopsis: [3.0/3.2/3.3/3.4] [HPPA] Floating point args don't get reloaded across function calls at -O2 >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: wrong-code >Submitter-Id: net >Arrival-Date: Mon Mar 31 05:06:00 UTC 2003 >Closed-Date: >Last-Modified: >Originator: Randolph Chung >Release: 3.3 20030309 (Debian prerelease) (Debian testing/unstable) [and others] >Organization: >Environment: System: Linux gsyprf11.external.hp.com 2.4.20-pa18-UP #1 Sat Jan 4 22:06:52 PST 2 003 parisc64 unknown unknown GNU/Linux Architecture: parisc64 host: hppa-unknown-linux-gnu build: hppa-unknown-linux-gnu target: hppa-unknown-linux-gnu configured with: ../src/configure -v --enable-languages=c,c++,f77,objc,ada,treela ng --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-inc lude-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --w ithout-included-gettext --enable-__cxa_atexit --enable-sjlj-exceptions --enable-c locale=gnu --enable-debug --enable-objc-gc hppa-linux >Description: When compiling the bug.c code below with -O2, the floating point argument to the fprintf does not get reloaded for the second fprintf() call, so the second call prints junk. At -O1 the arguments (r23/r24) are properly reloaded. >How-To-Repeat: Compile with gcc -O2 -o bug bug.c -lm $ ./bug nan 1.422968e-309 With -O1 $ ./bug nan nan ------8< bug.c 8<-------- #include #include void doprint(double dval) { fprintf(stdout, "%e\n", dval); fprintf(stdout, "%e\n", dval); } int main(int argc, char **argv) { doprint(log(-8)); /* nan */ return 0; } >Fix: >Release-Note: >Audit-Trail: >Unformatted: