llvm-capstone/clang/test/CodeGen/ms_struct.c
Fariborz Jahanian 84335f7c8e More ms_struct bitfield stuff:
Adjacent bit fields are packed into the same 1-, 2-, or
4-byte allocation unit if the integral types are the same
size. // rdar://8823265.

llvm-svn: 130851
2011-05-04 18:51:37 +00:00

24 lines
469 B
C

// RUN: %clang_cc1 -triple i386-apple-darwin10 -emit-llvm %s -o - | FileCheck %s
#define ATTR __attribute__((__ms_struct__))
struct s1 {
int f32;
long long f64;
} ATTR s1;
// CHECK: %struct.s1 = type { i32, [4 x i8], i64 }
struct s2 {
int f32;
long long f64[4];
} ATTR s2;
// CHECK: %struct.s2 = type { i32, [4 x i8], [4 x i64] }
struct s3 {
int f32;
struct s1 s;
} ATTR s3;
// CHECK: %struct.s3 = type { i32, [4 x i8], %struct.s1 }