1 // RUN: %clang_cc1 %s -verify -fsyntax-only -Wno-gcc-compat 2 3 namespace N { 4 void c1(int *a) {} 5 } 6 7 class C { 8 static void c2(int *a) {} // expected-note {{implicitly declared private here}} expected-note {{implicitly declared private here}} 9 }; 10 11 void t1() { 12 int v1 __attribute__((cleanup(N::c1))); 13 int v2 __attribute__((cleanup(N::c2))); // expected-error {{no member named 'c2' in namespace 'N'}} 14 int v3 __attribute__((cleanup(C::c2))); // expected-error {{'c2' is a private member of 'C'}} 15 } 16 17 class D : public C { 18 void t2() { 19 int v1 __attribute__((cleanup(c2))); // expected-error {{'c2' is a private member of 'C'}} 20 } 21 }; 22 23 namespace E { 24 void c3(int *a) {} // expected-note {{candidate function}} 25 void c3() {} // expected-note {{candidate function}} 26 void t3() { 27 int v1 __attribute__((cleanup(c3))); // expected-error {{'c3' is not a single function}} 28 } 29 } 30