diff options
Diffstat (limited to 'test/SemaObjCXX/overload-gc.mm')
-rw-r--r-- | test/SemaObjCXX/overload-gc.mm | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/SemaObjCXX/overload-gc.mm b/test/SemaObjCXX/overload-gc.mm new file mode 100644 index 0000000..d2ddd40 --- /dev/null +++ b/test/SemaObjCXX/overload-gc.mm @@ -0,0 +1,24 @@ +// RUN: %clang_cc1 -fsyntax-only -triple i386-apple-darwin9 -fobjc-gc -verify %s + +void f0(__weak id *); // expected-note{{candidate function not viable: 1st argument ('id *') has no lifetime, but parameter has __weak lifetime}} + +void test_f0(id *x) { + f0(x); // expected-error{{no matching function for call to 'f0'}} +} + +@interface A +@end + +void f1(__weak id*); +void test_f1(__weak A** a) { + f1(a); +} + +@interface B : A +@end + +void f2(__weak A**); +void test_f2(__weak B** b) { + f2(b); +} + |