1 // RUN: %clang_cc1 -fsyntax-only -verify %s 2 typedef signed char BOOL; 3 typedef unsigned int NSUInteger; 4 typedef 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 16 typedef float CGFloat; 17 18 @interface NSTask:NSObject 19 - (id) init; 20 @end 21 22 typedef NSUInteger NSControlSize; 23 typedef 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 32 typedef 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 46 typedef NSObject < XCElementSpacerP > XCElementSpacer; 47 48 @protocol XCElementTogglerP < XCElementP > -(void) setDisplayed:(BOOL) displayed; 49 @end 50 51 typedef 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 66 typedef 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