// 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); | |
} |