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;
7 typedef unsigned int NSUInteger;
8 typedef struct _NSZone NSZone;
9 @class NSInvocation, NSMethodSignature, NSCoder, NSString, NSEnumerator;
12 - (BOOL)isEqual:(id)object;
16 - (id)copyWithZone:(NSZone *)zone;
19 @protocol NSMutableCopying
20 - (id)mutableCopyWithZone:(NSZone *)zone;
24 - (void)encodeWithCoder:(NSCoder *)aCoder;
27 @interface NSObject <NSObject> {}
32 typedef struct {} NSFastEnumerationState;
34 @protocol NSFastEnumeration
35 - (NSUInteger)countByEnumeratingWithState:(NSFastEnumerationState *)state objects:(id *)stackbuf count:(NSUInteger)len;
40 @interface NSArray : NSObject <NSCopying, NSMutableCopying, NSCoding, NSFastEnumeration>
42 - (id)objectAtIndex:(NSUInteger)index;
45 typedef unsigned short unichar;
47 @interface NSString : NSObject <NSCopying, NSMutableCopying, NSCoding>
51 @interface NSSimpleCString : NSString
56 @interface NSConstantString : NSSimpleCString @end
58 extern void *_NSConstantStringClassReference;
60 @interface NSResponder : NSObject <NSCoding> {}
63 @class NSDate, NSDictionary, NSError, NSException, NSNotification;
65 @interface NSWindowController : NSResponder <NSCoding> {}
68 @class PBXBuildLog, PBXBuildLogItem, PBXBuildLogContainerItem, XCWorkQueueCommand, XCBuildLogContainerItemMutationState;
70 @protocol PBXBuildLogContainerItems <NSObject>
71 - (PBXBuildLog *)buildLog;
74 @interface PBXBuildLogItem : NSObject {}
75 - (id <PBXBuildLogContainerItems>)superitem;
77 @interface PBXBuildResultsModule
80 @implementation PBXBuildResultsModule
83 PBXBuildLogItem *objItem;
84 PBXBuildLogItem *superitem = [objItem superitem];