reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | // RUN: %clang_cc1 -fblocks -fsyntax-only -fobjc-arc -x objective-c %s.result // RUN: cat %s > %t // RUN: %clang_cc1 -arcmt-modify -triple x86_64-apple-macosx10.6 -x objective-c %t // RUN: diff %t %s.result // RUN: rm %t typedef int BOOL; id IhaveSideEffect(); @protocol NSObject - (BOOL)isEqual:(id)object; - (id)retain; - (oneway void)release; @end @interface NSObject <NSObject> {} @end @interface Foo : NSObject { id bar; } @property (strong) id bar; -(void)test:(id)obj; @end @implementation Foo @synthesize bar; -(void)test:(id)obj { id x = self.bar; self.bar = obj; // do stuff with x; IhaveSideEffect(); x = 0; } @end void func(Foo *p) { } @interface Baz { id <NSObject> _foo; } @end @implementation Baz @end #define RELEASE_MACRO(x) [x release] #define RELEASE_MACRO2(x) RELEASE_MACRO(x) void test2(id p) { } |