1 struct g{};
2 char y[3];
3 char *f = &y[0];
4 char *ff = &y[0];
h(void)5 void h(void)
6 {
7   struct g t;
8   *((struct g*)(f++)) = *((struct g*)(ff++));
9   *((struct g*)(f++)) = (struct g){};
10   t = *((struct g*)(ff++));
11 }
12 
13 void abort (void);
14 
main(void)15 int main(void)
16 {
17   h();
18   if (f != &y[2])
19     abort();
20   if (ff != &y[2])
21     abort();
22   return 0;
23 }
24