1 /* { dg-do run } */
2
3 struct S
4 {
5 int f1;
6 };
7
8 static struct S a = { 1 };
9 char b;
10 static unsigned char *c = &b;
11 int d, e, f;
12
13 int
14 fn1 (int p)
15 {
16 return 0 ? 0 : p - 1;
17 }
18
19 static int
20 fn2 (struct S p)
21 {
22 int g = 200;
23 for (e = 4; e; e = fn1 (e))
24 {
25 for (; d; d++)
26 ;
27 *c &= p.f1 & g;
28 g = --*c;
29 if (f)
30 return 0;
31 }
32 return 0;
33 }
34
35 int
36 main ()
37 {
38 fn2 (a);
39
40 if (b != 0)
41 __builtin_abort ();
42
43 return 0;
44 }