91 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
| @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 x) { return x; }
 | |
| int func1(int);
 | |
| static int func2(int);
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| // Spacing matters!
 | |
| extern int var1;
 | |
| extern int var2;
 | |
| 
 | |
| static double var3;
 | |
| 
 | |
| int ONE;
 | |
| @import redecl_merge_top.Explicit;
 | |
| const int one = ONE;
 | |
| 
 | |
| @interface ClassWithDef 
 | |
| - (void)method;
 | |
| @end
 | |
| 
 | |
| void eventually_noreturn(void) __attribute__((noreturn));
 | |
| void eventually_noreturn2(void) __attribute__((noreturn));
 |