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;
}
$