1// RUN: %clang_cc1 -fsyntax-only -verify %s 2typedef signed char BOOL; 3typedef unsigned int NSUInteger; 4typedef struct _NSZone NSZone; 5 6@class NSInvocation, NSMethodSignature, NSCoder, NSString, NSEnumerator; 7 8@protocol NSObject - (BOOL) isEqual:(id) object; - (id)init; @end 9@protocol NSCopying - (id) copyWithZone:(NSZone *) zone; @end 10@protocol NSCoding - (void) encodeWithCoder:(NSCoder *) aCoder; @end 11 12@interface NSObject < NSObject > {} 13+(id) alloc; 14@end 15 16typedef float CGFloat; 17 18@interface NSTask:NSObject 19- (id) init; 20@end 21 22typedef NSUInteger NSControlSize; 23typedef struct __CFlags {} _CFlags; 24 25@interface NSCell:NSObject < NSCopying, NSCoding > {} 26@end 27 28@interface NSActionCell:NSCell {} @end 29 30@class NSAttributedString, NSFont, NSImage, NSSound; 31 32typedef struct _XCElementInset {} XCElementInset; 33 34@protocol XCElementP < NSObject > 35-(BOOL) vertical; 36@end 37 38@protocol XCElementDisplayDelegateP; 39@protocol XCElementDisplayDelegateP < NSObject > 40-(void) configureForControlSize:(NSControlSize)size font:(NSFont *)font addDefaultSpace:(XCElementInset) additionalSpace; 41@end 42 43@protocol XCElementSpacerP < XCElementP > 44@end 45 46typedef NSObject < XCElementSpacerP > XCElementSpacer; 47 48@protocol XCElementTogglerP < XCElementP > -(void) setDisplayed:(BOOL) displayed; 49@end 50 51typedef NSObject < XCElementTogglerP > XCElementToggler; // expected-note {{previous definition is here}} 52 53@interface XCElementRootFace:NSObject {} @end 54 55@interface XCElementFace:XCElementRootFace {} @end 56 57@class XCElementToggler; // expected-warning {{redefinition of forward class 'XCElementToggler' of a typedef name of an object type is ignored}} 58 59@interface XCRASlice:XCElementFace {} @end 60 61@class XCElementSpacings; 62 63@interface XCElementDisplay:NSObject < XCElementDisplayDelegateP > {} @end 64@interface XCElementDisplayRect:XCElementDisplay {} @end 65 66typedef XCElementDisplayRect XCElementGraphicsRect; 67 68@interface XCElementDisplayFillerImage:XCElementDisplay {} @end 69 70@implementation XCRASlice 71- (void) addSliceWithLabel:(NSString *)label statusKey:(NSString *)statusKey disclosed:(BOOL)disclosed 72{ 73 static XCElementGraphicsRect *_sGraphicsDelegate = ((void *) 0); 74 if (!_sGraphicsDelegate) { 75 _sGraphicsDelegate =[[XCElementGraphicsRect alloc] init]; 76 } 77} 78@end 79