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