1 // RUN: %clang_cc1 -fsyntax-only -verify %s 2 3 void f1(); 4 5 struct X { 6 void f2(); 7 }; 8 9 struct Y { 10 friend void ::f1() { } // expected-error{{friend function definition cannot be qualified with '::'}} 11 friend void X::f2() { } // expected-error{{friend function definition cannot be qualified with 'X::'}} 12 }; 13 14 template <typename T> struct Z { 15 friend void T::f() {} // expected-error{{friend function definition cannot be qualified with 'T::'}} 16 }; 17 18 void local() { 19 void f(); 20 21 struct Local { 22 friend void f() { } // expected-error{{friend function cannot be defined in a local class}} 23 }; 24 } 25