// PR ipa/71146
// { dg-do compile }
// { dg-options "-O3" }

typedef enum { X } E;
struct A {
  virtual void bar ();
};
struct B {
  virtual E fn (const char *, int, int *) = 0;
};
struct C : A, B {
  E fn (const char *, int, int *);
  void fn2 ();
  B *foo;
};
void C::fn2 () {
  if (!foo)
    return;
  foo->fn (0, 0, 0);
}
E
C::fn (const char *, int, int *)
{
  fn2 ();
  foo = 0;
  fn (0, 0, 0);
  return X;
}
