From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9386 invoked by alias); 31 Jan 2004 00:16:42 -0000 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 Received: (qmail 9348 invoked by uid 48); 31 Jan 2004 00:16:40 -0000 Date: Sat, 31 Jan 2004 00:16:00 -0000 From: "hebisch at math dot uni dot wroc dot pl" To: gcc-bugs@gcc.gnu.org Message-ID: <20040131001627.13938.hebisch@math.uni.wroc.pl> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug middle-end/13938] New: ICE when rounding double to long long X-Bugzilla-Reason: CC X-SW-Source: 2004-01/txt/msg03937.txt.bz2 List-Id: The following function: long long d2ll(double x) { return (long long)(x>0?(x-0.5):(x+0.5)); } compiled using '-c -O3' options couses ICE: stystem6.c: In function `d2ll': stystem6.c:4: internal compiler error: in subst_stack_regs_pat, at reg-stack.c:1430 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. gcc -v gives: Using built-in specs. Configured with: ../gcc-20040130/configure --enable-languages=c Thread model: posix gcc version 3.5.0 20040130 (experimental) The problem is present with version from 20040121. The problem is absent in version from 20040120 (and in earlier versions). Note that the function above is translation to C of GNU Pascal built-in `round' function. The problem couses ICE during compilation of GPC `System' unit and in effect multiple test failures. -- Summary: ICE when rounding double to long long Product: gcc Version: 3.5.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hebisch at math dot uni dot wroc dot pl CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13938