diff options
author | Aaron Ballman <aaron@aaronballman.com> | 2013-09-11 13:43:47 +0000 |
---|---|---|
committer | Aaron Ballman <aaron@aaronballman.com> | 2013-09-11 13:43:47 +0000 |
commit | e4ba0bdf11e0c51e364c1823682bd6d814498c9b (patch) | |
tree | be45844950416d0d65f0b5a6d1561baf26545208 | |
parent | 333e0cb0552d75806261fcd892f60979c5269af1 (diff) | |
download | bcm5719-llvm-e4ba0bdf11e0c51e364c1823682bd6d814498c9b.tar.gz bcm5719-llvm-e4ba0bdf11e0c51e364c1823682bd6d814498c9b.zip |
Adding some additional test cases for the cleanup attribute.
llvm-svn: 190525
-rw-r--r-- | clang/test/SemaCXX/attr-cleanup.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/attr-cleanup.cpp b/clang/test/SemaCXX/attr-cleanup.cpp index 3ac8e817dc9..b6c58533acf 100644 --- a/clang/test/SemaCXX/attr-cleanup.cpp +++ b/clang/test/SemaCXX/attr-cleanup.cpp @@ -4,7 +4,18 @@ namespace N { void c1(int *a) {}
}
+class C {
+ static void c2(int *a) {} // expected-note {{implicitly declared private here}} expected-note {{implicitly declared private here}}
+};
+
void t1() {
int v1 __attribute__((cleanup(N::c1)));
int v2 __attribute__((cleanup(N::c2))); // expected-error {{no member named 'c2' in namespace 'N'}}
+ int v3 __attribute__((cleanup(C::c2))); // expected-error {{'c2' is a private member of 'C'}}
}
+
+class D : public C {
+ void t2() {
+ int v1 __attribute__((cleanup(c2))); // expected-error {{'c2' is a private member of 'C'}}
+ }
+};
|