Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Zhendong_Su
Beginner
165 Views

icc 17.0.1 miscompiles valid C code (compiled code SIGFPE) at -O1 and above on x86_64-linux-gnu

Compiler version and platform: 

Intel(R) C Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 17.0.1.132 Build 20161005 

$ icc -O0 small.c; ./a.out
$ 
$ icc -O1 small.c
$ ./a.out
Floating point exception (core dumped)
$ 
$ cat small.c
volatile struct S
{
  int f:4;
} b;

int a, c = 1, d; 

int main ()
{
  for (; a < 2; a++)
    {
      for (; d < 1; d++)
        b.f = 1;
      b.f = 0 % b.f - 1;
      if (!(c && b.f < 0))
        b.f = 0;
    }
  return 0; 
}
$ 

 

0 Kudos
0 Replies
Reply