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