minix/external/bsd/llvm/dist/clang/test/CodeGen/2007-09-12-PragmaPack.c
Lionel Sambuc f4a2713ac8 Importing netbsd clang -- pristine
Change-Id: Ia40e9ffdf29b5dab2f122f673ff6802a58bc690f
2014-07-28 17:05:57 +02:00

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