1 /* PR target/49163 */
2 /* { dg-require-effective-target int32plus } */
3 struct S1
4 {
5 unsigned f0:18;
6 int f1;
7 } __attribute__ ((packed));
8
9 struct S2
10 {
11 volatile long long f0;
12 int f1;
13 };
14
15 struct S1 s1;
16 struct S2 s2;
17 const struct S2 s2array[2][1] = { };
18
19 struct S2 **sptr;
20
21 extern int bar (char a, long long b, int * c, long long d, long long e);
22 extern int baz (void);
23
24 int i;
25 int *ptr;
26
27 void
foo(int * arg)28 foo (int *arg)
29 {
30 for (i = 0; i < 1; i = baz())
31 {
32 *arg = *(int *)sptr;
33 *ptr = bar (*arg, s2.f1, ptr,
34 bar (s2array[1][0].f0, *arg, ptr, s1.f1, *ptr), *arg);
35 }
36 }
37