http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60640

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Reduced testcase:
struct A {};
struct E { ~E (); };
struct B { virtual unsigned foo () const; };
struct C { virtual void foo (); };
struct D : public A { D (A *); };
struct I : public D { A i; I (int) : D (0) {} };
struct F : E { virtual unsigned foo (bool) const; };
template <class T>
struct G : public T {};
struct J : C, public F {};
struct K : public J { unsigned foo (bool) const { return 0; } };

struct H : B
{
  H (A);
  unsigned foo () const { return bar ().foo (0); }
  const F &bar () const { return h; }
  G<K> h;
};

template <class T>
void
baz ()
{
  I f (0);
  T d (f);
}

void
test ()
{
  baz<H> ();
}

Regressed with r205019.

Reply via email to