diff options
Diffstat (limited to 'clang/test/SemaObjC/attr-malloc.m')
-rw-r--r-- | clang/test/SemaObjC/attr-malloc.m | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/clang/test/SemaObjC/attr-malloc.m b/clang/test/SemaObjC/attr-malloc.m new file mode 100644 index 0000000..a504b33 --- /dev/null +++ b/clang/test/SemaObjC/attr-malloc.m @@ -0,0 +1,16 @@ +// RUN: %clang_cc1 -verify -fsyntax-only -fblocks %s + +@interface TestAttrMallocOnMethods {} +- (id) test1 __attribute((malloc)); // expected-warning {{functions returning a pointer type}} +- (int) test2 __attribute((malloc)); // expected-warning {{functions returning a pointer type}} +@end + +id bar(void) __attribute((malloc)); // no-warning + +typedef void (^bptr)(void); +bptr baz(void) __attribute((malloc)); // no-warning + +__attribute((malloc)) id (*f)(); // expected-warning {{functions returning a pointer type}} +__attribute((malloc)) bptr (*g)(); // expected-warning {{functions returning a pointer type}} +__attribute((malloc)) void *(^h)(); // expected-warning {{functions returning a pointer type}} + |