64 lines
		
	
	
		
			947 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			947 B
		
	
	
	
		
			C
		
	
	
	
typedef int Int;
 | 
						|
typedef float Float;
 | 
						|
 | 
						|
// Matches
 | 
						|
struct S0 {
 | 
						|
  Int field1;
 | 
						|
  Float field2;
 | 
						|
};
 | 
						|
 | 
						|
struct S0 x0;
 | 
						|
 | 
						|
// Mismatch in field type
 | 
						|
struct S1 {
 | 
						|
  Int field1;
 | 
						|
  int field2;
 | 
						|
};
 | 
						|
 | 
						|
struct S1 x1;
 | 
						|
 | 
						|
// Mismatch in tag kind.
 | 
						|
struct S2 { int i; float f; } x2;
 | 
						|
 | 
						|
// Missing fields
 | 
						|
struct S3 { int i; float f; double d; } x3;
 | 
						|
 | 
						|
// Extra fields
 | 
						|
struct S4 { int i; } x4;
 | 
						|
 | 
						|
// Bit-field matches
 | 
						|
struct S5 { int i : 8; unsigned j : 8; } x5;
 | 
						|
 | 
						|
// Bit-field mismatch
 | 
						|
struct S6 { int i : 8; unsigned j : 8; } x6;
 | 
						|
 | 
						|
// Bit-field mismatch
 | 
						|
struct S7 { int i : 8; unsigned j : 8; } x7;
 | 
						|
 | 
						|
// Incomplete type
 | 
						|
struct S8 *x8;
 | 
						|
 | 
						|
// Incomplete type
 | 
						|
struct S9 { int i; float f; } *x9;
 | 
						|
 | 
						|
// Incomplete type
 | 
						|
struct S10 *x10;
 | 
						|
 | 
						|
// Matches
 | 
						|
struct ListNode {
 | 
						|
  int value;
 | 
						|
  struct ListNode *Next;
 | 
						|
} xList;
 | 
						|
 | 
						|
// Mismatch due to struct used internally
 | 
						|
struct DeepError {
 | 
						|
  int value;
 | 
						|
  struct DeeperError { int i; int f; } *Deeper;
 | 
						|
} xDeep;
 | 
						|
 | 
						|
// Matches
 | 
						|
struct {
 | 
						|
  Int i;
 | 
						|
  float f;
 | 
						|
} x11;
 |