[clang] Handle __declspec() attributes in using
[llvm-project.git] / clang / test / PCH / chain-categories.m
blobdc57387fd5a94ccca3680a2dc925f5ac67c03c53
1 // Without PCH
2 // RUN: %clang_cc1 -fsyntax-only -verify -include %s -include %s %s
4 // With PCH
5 // RUN: %clang_cc1 -fsyntax-only -verify %s -chain-include %s -chain-include %s
7 // expected-no-diagnostics
9 #ifndef HEADER1
10 #define HEADER1
11 //===----------------------------------------------------------------------===//
12 // Primary header
14 @interface NSObject
15 - (id)init;
16 - (void)finalize;
17 @end
19 @interface NSObject (Properties)
20 @property (readonly,nonatomic) int intProp;
21 @end
23 //===----------------------------------------------------------------------===//
24 #elif !defined(HEADER2)
25 #define HEADER2
26 #if !defined(HEADER1)
27 #error Header inclusion order messed up
28 #endif
30 //===----------------------------------------------------------------------===//
31 // Dependent header
33 @interface MyClass : NSObject
34 +(void)meth;
35 @end
37 @interface NSObject(ObjExt)
38 -(void)extMeth;
39 @end
41 @interface NSObject ()
42 @property (readwrite,nonatomic) int intProp;
43 @end
45 @class NSObject;
47 //===----------------------------------------------------------------------===//
48 #else
49 //===----------------------------------------------------------------------===//
51 @implementation MyClass
52 +(void)meth {}
53 -(void)finalize {
54   [super finalize];
56 @end
58 void test(NSObject *o) {
59   [o extMeth];
61   // Make sure the property is treated as read-write.
62   o.intProp = 17;
65 //===----------------------------------------------------------------------===//
66 #endif