diff options
author | Zancanaro; Carlo <czan8762@plang3.cs.usyd.edu.au> | 2012-09-24 09:58:17 +1000 |
---|---|---|
committer | Zancanaro; Carlo <czan8762@plang3.cs.usyd.edu.au> | 2012-09-24 09:58:17 +1000 |
commit | 222e2a7620e6520ffaf4fc4e69d79c18da31542e (patch) | |
tree | 7bfbc05bfa3b41c8f9d2e56d53a0bc3e310df239 /clang/test/Modules/Inputs/redecl-merge-right.h | |
parent | 3d206f03985b50beacae843d880bccdc91a9f424 (diff) |
Add the clang library to the repo (with some of my changes, too).
Diffstat (limited to 'clang/test/Modules/Inputs/redecl-merge-right.h')
-rw-r--r-- | clang/test/Modules/Inputs/redecl-merge-right.h | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/clang/test/Modules/Inputs/redecl-merge-right.h b/clang/test/Modules/Inputs/redecl-merge-right.h new file mode 100644 index 0000000..de7aa08 --- /dev/null +++ b/clang/test/Modules/Inputs/redecl-merge-right.h @@ -0,0 +1,94 @@ +@__experimental_modules_import redecl_merge_top; + +@interface Super +@end + +@interface A : Super +- (Super*)init; +@end + +@class B; + +@protocol P1 +- (void)protoMethod1; +@end + +@protocol P1; + +@protocol P2; + +@protocol P2; + +@protocol P2; + +struct S1; +struct S2; + +void consume_S1(struct S1*); +struct S2 *produce_S2(void); + +// Test declarations in different modules with no common initial +// declaration. +@class C; +C *get_a_C(void); +@class C2; +C2 *get_a_C2(void); +@class C3; +C3 *get_a_C3(void); + +@class C4; +@class C4; +@class C4; +@class C4; +C4 *get_a_C4(void); + +@class Explicit; + +int *explicit_func(void); + +struct explicit_struct; + +@protocol P4, P3; +@protocol P3; +@protocol P3; +@protocol P3; + +struct S3; +struct S4; + +void consume_S3(struct S3*); +struct S4 *produce_S4(void); + +typedef int T1; +typedef double T2; + +int func0(int); +int func1(int); +int func1(int); +int func1(int); +int func1(int); +static int func2(int); + + + + +// Spacing matters! +extern int var1; +extern int var2; + +static double var3; + +#ifdef __cplusplus +template<typename T> class Vector { +public: + void push_back(const T&); +}; +#endif + +int ONE; +@__experimental_modules_import redecl_merge_top.Explicit; +const int one = ONE; + +@interface ClassWithDef +- (void)method; +@end |