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 5typedef signed char BOOL; 6typedef int NSInteger; 7typedef unsigned int NSUInteger; 8typedef 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 32typedef 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 45typedef 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 58extern 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