view gcc/testsuite/g++.dg/cpp0x/fntmpdefarg3.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

// { dg-do compile { target c++11 } }

template <class T, class = typename T::I> void f(T) {}
template <class T, class = typename T::I> void g(T) {}
template <class T, class = typename T::I> void h(T) {}
template <class T, class = typename T::I> void i(T) {}
template <class T, class = typename T::I> void j(T) {} // { dg-error "this context" }

class A
{
  typedef int I;		// { dg-message "private" }
  template <class T, class> friend void f(T);
  friend void g<A,I>(A);
  friend void h<A>(A);
  friend void i<>(A);
};

int main()
{
  A a;
  f(a);
  g(a);
  h(a);
  i(a);
  j(a);				// { dg-error "no match" }
}