Home | History | Annotate | Download | only in Inputs
      1 typedef int Int;
      2 typedef float Float;
      3 
      4 // Matches
      5 struct S0 {
      6   Int field1;
      7   Float field2;
      8 };
      9 
     10 struct S0 x0;
     11 
     12 // Mismatch in field type
     13 struct S1 {
     14   Int field1;
     15   int field2;
     16 };
     17 
     18 struct S1 x1;
     19 
     20 // Mismatch in tag kind.
     21 struct S2 { int i; float f; } x2;
     22 
     23 // Missing fields
     24 struct S3 { int i; float f; double d; } x3;
     25 
     26 // Extra fields
     27 struct S4 { int i; } x4;
     28 
     29 // Bit-field matches
     30 struct S5 { int i : 8; unsigned j : 8; } x5;
     31 
     32 // Bit-field mismatch
     33 struct S6 { int i : 8; unsigned j : 8; } x6;
     34 
     35 // Bit-field mismatch
     36 struct S7 { int i : 8; unsigned j : 8; } x7;
     37 
     38 // Incomplete type
     39 struct S8 *x8;
     40 
     41 // Incomplete type
     42 struct S9 { int i; float f; } *x9;
     43 
     44 // Incomplete type
     45 struct S10 *x10;
     46 
     47 // Matches
     48 struct ListNode {
     49   int value;
     50   struct ListNode *Next;
     51 } xList;
     52 
     53 // Mismatch due to struct used internally
     54 struct DeepError {
     55   int value;
     56   struct DeeperError { int i; int f; } *Deeper;
     57 } xDeep;
     58 
     59 // Matches
     60 struct {
     61   Int i;
     62   float f;
     63 } x11;
     64