blob: 7836e09d88fe329d4c04cf7ef0cff283809dcb90 [file] [log] [blame]
Argyrios Kyrtzidise6b8d682011-09-01 00:58:55 +00001// Without PCH
2// RUN: %clang_cc1 -fsyntax-only -verify -include %s -include %s %s
3
4// With PCH
5// RUN: %clang_cc1 -fsyntax-only -verify %s -chain-include %s -chain-include %s
6
Andy Gibbs8e8fb3b2012-10-19 12:44:48 +00007// expected-no-diagnostics
8
Argyrios Kyrtzidise6b8d682011-09-01 00:58:55 +00009#ifndef HEADER1
10#define HEADER1
11//===----------------------------------------------------------------------===//
12// Primary header
13
14@interface NSObject
15- (id)init;
16- (void)finalize;
17@end
18
19//===----------------------------------------------------------------------===//
20#elif !defined(HEADER2)
21#define HEADER2
22#if !defined(HEADER1)
23#error Header inclusion order messed up
24#endif
25
26//===----------------------------------------------------------------------===//
27// Dependent header
28
29@interface MyClass : NSObject
30+(void)meth;
31@end
32
33@interface NSObject(ObjExt)
34-(void)extMeth;
35@end
36
37//===----------------------------------------------------------------------===//
38#else
39//===----------------------------------------------------------------------===//
40
41@implementation MyClass
42+(void)meth {}
43-(void)finalize {
44 [super finalize];
45}
46@end
47
48void test(NSObject *o) {
49 [o extMeth];
50}
51
52//===----------------------------------------------------------------------===//
53#endif