1 /* { dg-do compile }  */
2 /* { dg-options "-O2 -fdump-rtl-combine" }  */
3 
4 struct b1 {
5       char c;
6       char bg;
7 };
8 
9 struct bj1 {
10   char bk;
11   struct b1 bn[];
12 };
13 
14 struct b2 {
15       short c;
16       char bg;
17 };
18 
19 struct bj2 {
20   short bk;
21   struct b2 bn[];
22 };
23 
24 struct b3 {
25       int c;
26       char bg;
27 };
28 
29 struct bj3 {
30   int bk;
31   struct b3 bn[];
32 };
33 
34 
35 struct bj1 at1;
36 struct bj2 at2;
37 struct bj3 at3;
38 
39 int bu;
40 void a();
41 
f()42 void f() {
43   a(at1.bn[bu]);
44   a(at2.bn[bu]);
45   a(at3.bn[bu]);
46 }
47 
48 /* { dg-final { scan-rtl-dump-times "\\*add_n" 2 "combine" } } */
49