67 lines · plain
1// Without PCH2// RUN: %clang_cc1 -fsyntax-only -verify -include %s -include %s %s3 4// With PCH5// RUN: %clang_cc1 -fsyntax-only -verify %s -chain-include %s -chain-include %s6 7// expected-no-diagnostics8 9#ifndef HEADER110#define HEADER111//===----------------------------------------------------------------------===//12// Primary header13 14@interface NSObject15- (id)init;16- (void)finalize;17@end18 19@interface NSObject (Properties)20@property (readonly,nonatomic) int intProp;21@end22 23//===----------------------------------------------------------------------===//24#elif !defined(HEADER2)25#define HEADER226#if !defined(HEADER1)27#error Header inclusion order messed up28#endif29 30//===----------------------------------------------------------------------===//31// Dependent header32 33@interface MyClass : NSObject34+(void)meth;35@end36 37@interface NSObject(ObjExt)38-(void)extMeth;39@end40 41@interface NSObject ()42@property (readwrite,nonatomic) int intProp;43@end44 45@class NSObject;46 47//===----------------------------------------------------------------------===//48#else49//===----------------------------------------------------------------------===//50 51@implementation MyClass52+(void)meth {}53-(void)finalize {54 [super finalize];55}56@end57 58void test(NSObject *o) {59 [o extMeth];60 61 // Make sure the property is treated as read-write.62 o.intProp = 17;63}64 65//===----------------------------------------------------------------------===//66#endif67