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