I have segfault for the following c code:

extern double floor (double);

long foo (float f)
{
  return (long) floor (f);
}

Command line:
arm-elf-gcc -c -O1 1.c

Output message:
1.c: In function 'foo':
1.c:5: internal compiler error: in expand_builtin_int_roundingfn, at 
builtins.c:2225
...

The environment was configured with:
binutils-2.14/configure --target=arm-elf
gcc/configure           --target=arm-elf --enable-language=c
newlib-1.12.0/configure --target/arm-elf

I have found the same problem for {i386, m68k, mips, ppc}-elf.

The bug appeared after the following patch:
http://gcc.gnu.org/ml/gcc-cvs/2005-04/msg00503.html

-- 
           Summary: Converting floor into lfloor built-in function
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: loki at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org,uros at gcc dot gnu dot
                    org
GCC target triplet: arm-elf i386-elf m68k-elf mips-elf ppc-elf


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21282

Reply via email to