[Bug middle-end/13938] New: ICE when rounding double to long long
hebisch at math dot uni dot wroc dot pl
gcc-bugzilla@gcc.gnu.org
Sat Jan 31 00:16:00 GMT 2004
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 <URL:http://gcc.gnu.org/bugs.html> 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
More information about the Gcc-bugs
mailing list