Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7956 Discussions

icc 17.0.1 miscompiles valid C code at -Os and above on x86_64-linux-gnu

Zhendong_Su
Beginner
481 Views

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 -O1 small.c; ./a.out; echo $?
0
$ 
$ icc -Os small.c; ./a.out; echo $?
1
$ 
$ cat small.c
char a[1];

int main ()
{
  unsigned long b = ~0;
  if (!a[0])
    b = 0;
  if (a[0])
    while (1)
      if (a)
        break;
  return !a[0] && b;
}
$ 

 

0 Kudos
0 Replies
Reply