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