p6.cpp 596 B

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