brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 46a16d3 Raw
91 lines · c
1@import redecl_merge_top;2 3@interface Super4@end5 6@interface A : Super7- (Super*)init;8@end9 10@class B;11 12@protocol P113- (void)protoMethod1;14@end15 16@protocol P1;17 18@protocol P2;19 20@protocol P2;21 22@protocol P2;23 24struct S1;25struct S2;26 27void consume_S1(struct S1*);28struct S2 *produce_S2(void);29 30// Test declarations in different modules with no common initial31// declaration.32@class C;33C *get_a_C(void);34@class C2;35C2 *get_a_C2(void);36@class C3;37C3 *get_a_C3(void);38 39@class C4;40@class C4;41@class C4;42@class C4;43C4 *get_a_C4(void);44 45@class Explicit;46 47int *explicit_func(void);48 49struct explicit_struct;50 51@protocol P4, P3;52@protocol P3;53@protocol P3;54@protocol P3;55 56struct S3;57struct S4;58 59void consume_S3(struct S3*);60struct S4 *produce_S4(void);61 62typedef int T1;63typedef double T2;64 65int func0(int);66int func1(int);67int func1(int);68int func1(int x) { return x; }69int func1(int);70static int func2(int);71 72 73 74 75// Spacing matters!76extern int var1;77extern int var2;78 79static double var3;80 81int ONE;82@import redecl_merge_top.Explicit;83const int one = ONE;84 85@interface ClassWithDef 86- (void)method;87@end88 89void eventually_noreturn(void) __attribute__((noreturn));90void eventually_noreturn2(void) __attribute__((noreturn));91