From 222e2a7620e6520ffaf4fc4e69d79c18da31542e Mon Sep 17 00:00:00 2001 From: "Zancanaro; Carlo" Date: Mon, 24 Sep 2012 09:58:17 +1000 Subject: Add the clang library to the repo (with some of my changes, too). --- clang/test/Modules/Inputs/redecl-merge-left.h | 90 +++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 clang/test/Modules/Inputs/redecl-merge-left.h (limited to 'clang/test/Modules/Inputs/redecl-merge-left.h') diff --git a/clang/test/Modules/Inputs/redecl-merge-left.h b/clang/test/Modules/Inputs/redecl-merge-left.h new file mode 100644 index 0000000..b3a7ba8 --- /dev/null +++ b/clang/test/Modules/Inputs/redecl-merge-left.h @@ -0,0 +1,90 @@ +@__experimental_modules_import redecl_merge_top; + +@class A; + +@class A; + +@interface B ++ (B*) create_a_B; +@end + +@class A; + +@protocol P1; +@protocol P2 +- (void)protoMethod2; +@end + +struct S1; +struct S2 { + int field; +}; + +struct S1 *produce_S1(void); +void consume_S2(struct S2*); + +// Test declarations in different modules with no common initial +// declaration. +@class C; +void accept_a_C(C*); + +@class C2; +void accept_a_C2(C2*); + +@class C3; +void accept_a_C3(C3*); +@class C3; + +@class C4; + +@class Explicit; + +int *explicit_func(void); + +struct explicit_struct; + +@protocol P3, P4; + +@protocol P3; + +struct S3; +struct S3; +struct S4 { + int field; +}; + +struct S3 *produce_S3(void); +void consume_S4(struct S4*); + +typedef int T1; +typedef float T2; + +int func0(int); +int func1(int); +int func2(int); + + + + + + + + + + +// Spacing matters! +extern int var1; +extern float var2; + +extern double var3; + +#ifdef __cplusplus +template class Vector; + +template class Vector; +#endif + +// Make sure this doesn't introduce an ambiguity-creating 'id' at the +// top level. +typedef void funcptr_with_id(int id); + -- cgit v1.2.3