view gcc/testsuite/g++.dg/template/canon-type-11.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

// Contributed by Dodji Seketeli <dodji@redhat.com>
// { dg-do compile }

template<class T>
struct C
{
  void bar();
};

template<class T>
void
C<T>::bar()
{
}


template<class U,
	 template<class TT0_T0> class TT0 = C,
	 template<class TT1_T0> class TT1 = TT0>
struct S
{
  C<U> s;

  void foo(TT1<U>);

  void bar()
  {
    foo(s);
  }
};

template<class T,
	 template<class TT0_T0> class TT0,
	 template<class TT1_T0> class TT1>
void
S<T, TT0, TT1>::foo(TT1<T>)
{
  C<T> c;
}