// PR tree-optimization/42645
// { dg-do compile }
// { dg-options "-fcompare-debug -O1" }

struct C
{
  bool b;
  C ();
};

static inline C *foo () { return 0; }

extern void f4 ();

static inline int
f3 ()
{
  f4 ();
  return 0;
}

static inline void
f2 (bool b)
{
  int tmp = f3 ();
  if (C ().b && b)
    C ();
}

void
f1 ()
{
  C *c = foo ();
  f2 (c->b);
}
