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 fn1(int p)14fn1 (int p) 15 { 16 return 0 ? 0 : p - 1; 17 } 18 19 static int fn2(struct S p)20fn2 (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 main()36main () 37 { 38 fn2 (a); 39 40 if (b != 0) 41 __builtin_abort (); 42 43 return 0; 44 } 45