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