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

Reply via email to