1 // RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s
2 
3 typedef unsigned char uint8_t;
4 typedef unsigned short uint16_t;
5 typedef unsigned int uint32_t;
6 
7 #pragma pack(push, 1)
8 typedef struct
9 {
10         uint32_t        a;
11 } foo;
12 
13 typedef struct {
14         uint8_t         major;
15         uint8_t         minor;
16         uint16_t        build;
17 } VERSION;
18 
19 typedef 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 
barsize(void)29 unsigned barsize(void) {
30   // CHECK: ret i32 18
31   return sizeof(bar);
32 }
33