brintos

brintos / llvm-project-archived public Read only

0
0
Text · 600 B · 71c7537 Raw
33 lines · c
1// RUN: %clang_cc1 -emit-llvm -o - %s | FileCheck %s2 3typedef unsigned char uint8_t;4typedef unsigned short uint16_t;5typedef unsigned int uint32_t;6 7#pragma pack(push, 1)8typedef struct9{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 1831  return sizeof(bar);32}33