1// RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s
2
3typedef unsigned char uint8_t;
4typedef unsigned short uint16_t;
5typedef unsigned int uint32_t;
6
7#pragma pack(push, 1)
8typedef struct
9{
10        uint32_t        a;
11} foo;
12
13typedef struct {
14        uint8_t         major;
15        uint8_t         minor;
16        uint16_t        build;
17} VERSION;
18
19typedef struct {
20        uint8_t       a[5];
21        VERSION       version;
22        uint8_t       b;
23        foo           d;
24        uint32_t      guard;
25} bar;
26#pragma pack(pop)
27
28
29unsigned barsize(void) {
30  // CHECK: ret i32 18
31  return sizeof(bar);
32}
33