// RUN: %clang_cc1 -fsyntax-only -verify %s
typedef signed char BOOL;
typedef unsigned int NSUInteger;
typedef struct _NSZone NSZone;
@class NSInvocation, NSMethodSignature, NSCoder, NSString, NSEnumerator;
@protocol NSObject - isEqual: object; - init; @end
@protocol NSCopying - copyWithZone: zone; @end
@protocol NSCoding - encodeWithCoder: aCoder; @end
typedef float CGFloat;
typedef NSUInteger NSControlSize;
typedef struct __CFlags _CFlags;
@class NSAttributedString, NSFont, NSImage, NSSound;
typedef struct _XCElementInset XCElementInset;
@protocol XCElementDisplayDelegateP;
typedef NSObject < XCElementSpacerP > XCElementSpacer;
@protocol XCElementTogglerP < XCElementP > - setDisplayed: displayed;
@end
typedef NSObject < XCElementTogglerP > XCElementToggler; // expected-note {{previous definition is here}}
@class XCElementToggler; // expected-warning {{redefinition of forward class 'XCElementToggler' of a typedef name of an object type is ignored}}
@class XCElementSpacings;
typedef XCElementDisplayRect XCElementGraphicsRect;