Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
37 Views

icc 17.0.1 miscompiles valid C code at -O3 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 -O2 small.c; ./a.out; echo $?
1
$ 
$ icc -O3 small.c; ./a.out; echo $?
0
$ 
$ cat small.c
short a = 1, b, c; 

void fn1 ()
{
  for (b = 5; b != -1; b -= 7)
    {
      while (c)
        c++;
      if (!b)
        return; 
    }
  a = 0;
}

int main ()
{
  fn1 ();
  return a; 
}
$ 

 

0 Kudos
0 Replies