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. 4 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; 10 11 @protocol NSObject 12 - (BOOL)isEqual:(id)object; 13 @end 14 15 @protocol NSCopying 16 - (id)copyWithZone:(NSZone *)zone; 17 @end 18 19 @protocol NSMutableCopying 20 - (id)mutableCopyWithZone:(NSZone *)zone; 21 @end 22 23 @protocol NSCoding 24 - (void)encodeWithCoder:(NSCoder *)aCoder; 25 @end 26 27 @interface NSObject <NSObject> {} 28 @end 29 30 @class NSArray; 31 32 typedef struct {} NSFastEnumerationState; 33 34 @protocol NSFastEnumeration 35 - (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len; 36 @end 37 38 @class NSString; 39 40 @interface NSArray : NSObject <NSCopying, NSMutableCopying, NSCoding, NSFastEnumeration> 41 - (NSUInteger)count; 42 - (id)objectAtIndex:(NSUInteger)index; 43 @end 44 45 typedef unsigned short unichar; 46 47 @interface NSString : NSObject <NSCopying, NSMutableCopying, NSCoding> 48 - (NSUInteger)length; 49 @end 50 51 @interface NSSimpleCString : NSString 52 {} 53 54 @end 55 56 @interface NSConstantString : NSSimpleCString @end 57 58 extern void *_NSConstantStringClassReference; 59 60 @interface NSResponder : NSObject <NSCoding> {} 61 @end 62 63 @class NSDate, NSDictionary, NSError, NSException, NSNotification; 64 65 @interface NSWindowController : NSResponder <NSCoding> {} 66 @end 67 68 @class PBXBuildLog, PBXBuildLogItem, PBXBuildLogContainerItem, XCWorkQueueCommand, XCBuildLogContainerItemMutationState; 69 70 @protocol PBXBuildLogContainerItems <NSObject> 71 - (PBXBuildLog *)buildLog; 72 @end 73 74 @interface PBXBuildLogItem : NSObject {} 75 - (id <PBXBuildLogContainerItems>)superitem; 76 @end 77 @interface PBXBuildResultsModule 78 @end 79 80 @implementation PBXBuildResultsModule 81 - (void) revealItems 82 { 83 PBXBuildLogItem *objItem; 84 PBXBuildLogItem *superitem = [objItem superitem]; 85 } 86 @end 87