]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/PCH/chain-class-extension.m
Vendor import of clang RELEASE_350/final tag r216957 (effectively, 3.5.0 release):
[FreeBSD/FreeBSD.git] / test / PCH / chain-class-extension.m
1 // Without PCH
2 // RUN: %clang_cc1 -fsyntax-only -verify -triple x86_64-apple-darwin10 -fobjc-arc %s -include %s -include %s
3
4 // With PCH
5 // RUN: %clang_cc1 -fsyntax-only -verify -triple x86_64-apple-darwin10 -fobjc-arc %s -chain-include %s -chain-include %s
6
7 // expected-no-diagnostics
8
9 #ifndef HEADER1
10 #define HEADER1
11 //===----------------------------------------------------------------------===//
12 // Primary header
13
14 @interface I
15 +(void)meth;
16 @end
17
18 //===----------------------------------------------------------------------===//
19 #elif !defined(HEADER2)
20 #define HEADER2
21 #if !defined(HEADER1)
22 #error Header inclusion order messed up
23 #endif
24
25 //===----------------------------------------------------------------------===//
26 // Dependent header
27
28 @interface I()
29 @property (assign) id prop;
30 +(void)meth2;
31 @end
32
33 //===----------------------------------------------------------------------===//
34 #else
35 //===----------------------------------------------------------------------===//
36
37 void foo(I *i) {
38   [I meth];
39   [I meth2];
40   i.prop = 0;
41 }
42
43 //===----------------------------------------------------------------------===//
44 #endif