-mno-ieee-fp -march=i686 gives internal error

Ole Tange tange@tange.dk
Sun Sep 9 07:01:00 GMT 2001


Compiling

#define todB(x)   (*(x)==0?-400.f:log(*(x)**(x))*4.34294480f)
static float _ve_deltai(void){
  float A=0;
  A=todB(&A);
}

with both -mno-ieee-fp and -march=i686 gives internal error. If either
option is removed the compilation finishes without errors.

/Ole


$ gcc -v -save-temps -mno-ieee-fp -march=i686  -c envelope.c
Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux/2.95.3/specs
gcc version 2.95.3 19991030 (prerelease)
 /usr/lib/gcc-lib/i586-mandrake-linux/2.95.3/cpp -lang-c -v -D__GNUC__=2
-D__GNUC_MINOR__=95 -D__ELF__ -Dunix -D__i386__ -Dlinux -D__ELF__
-D__unix__ -D__i386__ -D__linux__ -D__unix -D__linux
-Asystem(posix) -Acpu(i386) -Amachine(i386) -Di386 -D__i386 -D__i386__
-Di586 -Dpentium -D__i586 -D__i586__ -D__pentium -D__pentium__ envelope.c
envelope.i
GNU CPP version 2.95.3 19991030 (prerelease) (i386 Linux/ELF)
#include "..." search starts here:
#include <...> search starts here:

/usr/lib/gcc-lib/i586-mandrake-linux/2.95.3/../../../../i586-mandrake-linux/include
 /usr/lib/gcc-lib/i586-mandrake-linux/2.95.3/include
 /usr/include
End of search list.
The following default directories have been omitted from the search path:
 /usr/lib/gcc-lib/i586-mandrake-linux/2.95.3/../../../../include/g++-3
 /usr/local/include
End of omitted list.
 /usr/lib/gcc-lib/i586-mandrake-linux/2.95.3/cc1 envelope.i -quiet
-dumpbase envelope.c -mno-ieee-fp -march=i686 -version -o envelope.s
GNU C version 2.95.3 19991030 (prerelease) (i586-mandrake-linux) compiled
by GNU C version 2.95.3 19991030 (prerelease).
gcc-2.95.2: Internal compiler error: program cc1 got fatal signal 11

$ cat envelope.i
# 1 "envelope.c"
 
 
 
static float _ve_deltai(void){
  float A=0;
 
  A= (*( &A )==0?-400.f:log(*( &A )**( &A ))*4.34294480f) ;
}



More information about the Gcc-bugs mailing list