https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82078
Zhendong Su <su at cs dot ucdavis.edu> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |su at cs dot ucdavis.edu
--- Comment #3 from Zhendong Su <su at cs dot ucdavis.edu> ---
Andrew, the miscompilation is still there by changing
struct S0 e[5][5];
to
struct S0 e[5][6];
$ gcc-trunk -O3 small.c
$ ./a.out
2
$
$ cat small.c
int printf(const char *, ...);
struct S0 {
signed f4;
signed f9 : 5;
} a[6][5], b = {2}
;
int c, d;
int fn1() {
struct S0 e[5][6];
struct S0 f;
b = f = e[2][5] = a[5][0];
if (d)
;
else
return f.f9;
e[c][45] = a[4][4];
}
int main() {
fn1();
printf("%d\n", b.f4);
return 0;
}
$