Compiler projects using llvm
// RUN: %clang_cc1 %s -fsyntax-only -verify  -triple i386-apple-darwin9 -fobjc-runtime=macosx-fragile-10.5
// expected-no-diagnostics
typedef struct objc_object {} *id;
typedef signed char BOOL;
typedef unsigned int NSUInteger;
typedef struct _NSZone NSZone;

@protocol NSObject
- (BOOL) isEqual:(id) object;
@end

@protocol NSCopying
- (id) copyWithZone:(NSZone *) zone;
@end

@interface NSObject < NSObject > {}
@end

extern id NSAllocateObject (Class aClass, NSUInteger extraBytes, NSZone * zone);

@interface MyClassBase : NSObject < NSCopying > {}
@end

@interface MyClassDirectNode : MyClassBase < NSCopying >
{
  @public NSUInteger attributeRuns[((1024 - 16 - sizeof (MyClassBase)) / (sizeof (NSUInteger) + sizeof (void *)))];
}
@end