1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
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
42 void f() {
43 a(at1.bn[bu]);
44 a(at2.bn[bu]);
45 a(at3.bn[bu]);
46 }
47
48 /* { dg-final { scan-assembler "@at1\\+1" } } */
49 /* { dg-final { scan-assembler "@at2\\+2" } } */
50 /* { dg-final { scan-assembler "add3" } } */