Quantcast
Channel: Intel® Software - Intel® C++ Compiler
Viewing all articles
Browse latest Browse all 1175

icc 17.0.1 miscompiles valid C code at -O2 and -O3 on x86_64-linux-gnu

$
0
0

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 -Os small.c; ./a.out; echo $?
1
$
$ icc -O2 small.c; ./a.out; echo $?
0
$ icc -O3 small.c; ./a.out; echo $?
0
$
$ cat small.c
struct S { char f; };

int a, b, *c = &b;

struct S foo ()
{
  struct S d = { 1 };
  for (; a < 1; a++)
    if (d.f)
      *c = 1;
  return d;
}

int main ()
{
  foo ();
  return b;
}
$

 


Viewing all articles
Browse latest Browse all 1175

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>