forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			33 lines
		
	
	
		
			600 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			600 B
		
	
	
	
		
			C
		
	
	
	
// RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s
 | 
						|
 | 
						|
typedef unsigned char uint8_t;
 | 
						|
typedef unsigned short uint16_t;
 | 
						|
typedef unsigned int uint32_t;
 | 
						|
 | 
						|
#pragma pack(push, 1)
 | 
						|
typedef struct
 | 
						|
{
 | 
						|
        uint32_t        a;
 | 
						|
} foo;
 | 
						|
 | 
						|
typedef struct {
 | 
						|
        uint8_t         major;
 | 
						|
        uint8_t         minor;
 | 
						|
        uint16_t        build;
 | 
						|
} VERSION;
 | 
						|
 | 
						|
typedef struct {
 | 
						|
        uint8_t       a[5];
 | 
						|
        VERSION       version;
 | 
						|
        uint8_t       b;
 | 
						|
        foo           d;
 | 
						|
        uint32_t      guard;
 | 
						|
} bar;
 | 
						|
#pragma pack(pop)
 | 
						|
 | 
						|
 | 
						|
unsigned barsize(void) {
 | 
						|
  // CHECK: ret i32 18
 | 
						|
  return sizeof(bar);
 | 
						|
}
 |