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