1 // { dg-do compile { target c++11 } }
2 
3 class X {
4   template<typename T = int> friend void f(X) { } // OK
5   template<typename T> friend void g(X); // { dg-message "previously declared here" }
6   template<typename T = int> friend void h(X); // { dg-error "template friend" }
7 };
8 
9 template<typename T = int> void g(X) // { dg-error "default template argument" }
10 {
11 }
12