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 $?
1
$
$ icc -Os small.c; ./a.out; echo $?
48
$
$ cat small.c
struct S
{
int f;
} a;
int b, c;
void foo ()
{
for (; b < 5; b++)
{
struct S d[1] = { { 1 } };
a = d[0];
}
}
int main ()
{
foo ();
for (c = 0; c;)
;
return a.f;
}
$