[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / SemaObjC / comptypes-9.m
blob7064f167aaf3e095c150ebbad301c91991118f16
1 // RUN: %clang_cc1 -fsyntax-only %s
2 // FIXME: This test case tests the patch applied in: http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20080602/006017.html
3 //   Eventually that logic should be treated as an extension.
5 typedef signed char BOOL;
6 typedef int NSInteger;
7 typedef unsigned int NSUInteger;
8 typedef struct _NSZone NSZone;
9 @class NSInvocation, NSMethodSignature, NSCoder, NSString, NSEnumerator;
11 @protocol NSObject
12 - (BOOL)isEqual:(id)object;
13 @end
15 @protocol NSCopying
16 - (id)copyWithZone:(NSZone *)zone;
17 @end
19 @protocol NSMutableCopying
20 - (id)mutableCopyWithZone:(NSZone *)zone;
21 @end
23 @protocol NSCoding
24 - (void)encodeWithCoder:(NSCoder *)aCoder;
25 @end
27 @interface NSObject <NSObject> {}
28 @end
30 @class NSArray;
32 typedef struct {} NSFastEnumerationState;
34 @protocol NSFastEnumeration
35 - (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len;
36 @end
38 @class NSString;
40 @interface NSArray : NSObject <NSCopying, NSMutableCopying, NSCoding, NSFastEnumeration>
41 - (NSUInteger)count;
42 - (id)objectAtIndex:(NSUInteger)index;
43 @end
45 typedef unsigned short unichar;
47 @interface NSString : NSObject <NSCopying, NSMutableCopying, NSCoding>
48 - (NSUInteger)length;
49 @end
51 @interface NSSimpleCString : NSString
54 @end
56 @interface NSConstantString : NSSimpleCString @end
58 extern void *_NSConstantStringClassReference;
60 @interface NSResponder : NSObject <NSCoding> {}
61 @end
63 @class NSDate, NSDictionary, NSError, NSException, NSNotification;
65 @interface NSWindowController : NSResponder <NSCoding> {}
66 @end
68 @class PBXBuildLog, PBXBuildLogItem, PBXBuildLogContainerItem, XCWorkQueueCommand, XCBuildLogContainerItemMutationState;
70 @protocol PBXBuildLogContainerItems <NSObject>
71 - (PBXBuildLog *)buildLog;
72 @end
74 @interface PBXBuildLogItem : NSObject {}
75 - (id <PBXBuildLogContainerItems>)superitem;
76 @end
77 @interface PBXBuildResultsModule
78 @end
80 @implementation PBXBuildResultsModule
81 - (void) revealItems
83         PBXBuildLogItem *objItem;
84         PBXBuildLogItem *superitem = [objItem superitem];
86 @end