https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118201

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Slightly reduced:
class A {};
class B : public virtual A {};
struct C : public virtual A { virtual unsigned int foo () const = 0; };
class D : public virtual B, public virtual C {};
struct E { virtual ~E () {} };
struct F : public virtual E { virtual void bar () = 0; };
class G : public virtual E {};
class H { ~H () = default; };
template <class T>
class I : public T, public virtual H { ~I () = default; };
template <class T>
struct J : public I<D> { unsigned int foo () const { return 1; } T j; ~J () =
default; };
template <class T>
class K : public J<T>, public I<F> { void bar () {} int d; ~K () = default; };
template <class T>
class L : public K<T> {};
class M : public A { int m; ~M () = default; };
class N : public A { M n; int a; ~N () = default; };
template class L<N>;

int
main ()
{
  L<N> foo;
}

Reply via email to