blob: b6dfe2f53c94fe6a7faa6769c7c50066c76f3476 [file] [log] [blame]
Douglas Gregor5948ae12012-01-03 18:04:46 +00001@import redecl_merge_top;
Douglas Gregora1be2782011-12-17 23:38:30 +00002
3@interface Super
4@end
5
6@interface A : Super
7- (Super*)init;
8@end
9
Douglas Gregorecb19382011-12-19 15:27:36 +000010@class B;
11
Douglas Gregor27c6da22012-01-01 20:30:41 +000012@protocol P1
13- (void)protoMethod1;
14@end
15
16@protocol P1;
17
18@protocol P2;
19
20@protocol P2;
21
22@protocol P2;
23
Douglas Gregor0f753232011-12-22 01:48:48 +000024// Test declarations in different modules with no common initial
25// declaration.
26@class C;
27C *get_a_C(void);
28@class C2;
29C2 *get_a_C2(void);
30@class C3;
31C3 *get_a_C3(void);
32
Douglas Gregorcce54aa2011-12-22 19:44:59 +000033@class C4;
34@class C4;
35@class C4;
36@class C4;
37C4 *get_a_C4(void);
38
Douglas Gregor2ccd89c2011-12-20 18:11:52 +000039@class Explicit;
40
41int *explicit_func(void);
42
43struct explicit_struct;
44
Douglas Gregordba93612012-01-01 21:47:52 +000045@protocol P4, P3;
46@protocol P3;
47@protocol P3;
48@protocol P3;
49
Douglas Gregorf63b0a52011-12-19 18:19:24 +000050#ifdef __cplusplus
51template<typename T> class Vector {
52public:
53 void push_back(const T&);
54};
55#endif
Douglas Gregor1d4c1132011-12-20 22:06:13 +000056
57int ONE;
Douglas Gregor5948ae12012-01-03 18:04:46 +000058@import redecl_merge_top.Explicit;
Douglas Gregor1d4c1132011-12-20 22:06:13 +000059const int one = ONE;