1 /* { dg-do compile } */ 2 /* { dg-options "-Os" } */ 3 4 int a, b, c, d; 5 6 struct S 7 { 8 int f0; 9 }; 10 11 static int fn1(int p)12fn1 (int p) 13 { 14 return p == 0 || a; 15 } 16 17 static int fn2()18fn2 () 19 { 20 d = fn1 (c); 21 return 0; 22 } 23 24 static int fn3(struct S p)25fn3 (struct S p) 26 { 27 p.f0 || fn2 (); 28 if (fn1 (1)) 29 b = 0; 30 return 0; 31 } 32 33 int main()34main () 35 { 36 struct S e = { 1 }; 37 fn3 (e); 38 return 0; 39 } 40