1// RUN: %clang_cc1 -verify -fsyntax-only -fblocks %s
2
3@interface TestAttrMallocOnMethods {}
4- (id) test1 __attribute((malloc)); //  expected-warning {{attribute only applies to functions}}
5- (int) test2 __attribute((malloc)); //  expected-warning {{attribute only applies to functions}}
6@end
7
8id bar(void) __attribute((malloc)); // no-warning
9
10typedef void (^bptr)(void);
11bptr baz(void) __attribute((malloc)); // no-warning
12
13__attribute((malloc)) id (*f)(); //  expected-warning {{attribute only applies to functions}}
14__attribute((malloc)) bptr (*g)(); //  expected-warning {{attribute only applies to functions}}
15__attribute((malloc)) void *(^h)(); //  expected-warning {{attribute only applies to functions}}
16
17