This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/13938] New: ICE when rounding double to long long


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]