// RUN: %clang_cc1 -emit-llvm-only -triple x86_64-apple-darwin9 %s | |
// rdar://8823265 | |
#define ATTR __attribute__((__ms_struct__)) | |
struct { | |
unsigned int bf_1 : 12; | |
unsigned int : 0; | |
unsigned int bf_2 : 12; | |
} ATTR t1; | |
static int a1[(sizeof(t1) == 8) -1]; | |
struct | |
{ | |
char foo : 4; | |
short : 0; | |
char bar; | |
} ATTR t2; | |
static int a2[(sizeof(t2) == 4) -1]; | |
#pragma ms_struct on | |
struct | |
{ | |
char foo : 4; | |
short : 0; | |
char bar; | |
} t3; | |
#pragma ms_struct off | |
static int a3[(sizeof(t3) == 4) -1]; | |
struct | |
{ | |
char foo : 6; | |
long : 0; | |
} ATTR t4; | |
static int a4[(sizeof(t4) == 8) -1]; | |
struct | |
{ | |
char foo : 4; | |
short : 0; | |
char bar : 8; | |
} ATTR t5; | |
static int a5[(sizeof(t5) == 4) -1]; | |
struct | |
{ | |
char foo : 4; | |
short : 0; | |
long : 0; | |
char bar; | |
} ATTR t6; | |
static int a6[(sizeof(t6) == 4) -1]; | |
struct | |
{ | |
char foo : 4; | |
long : 0; | |
short : 0; | |
char bar; | |
} ATTR t7; | |
static int a7[(sizeof(t7) == 16) -1]; | |
struct | |
{ | |
char foo : 4; | |
short : 0; | |
long : 0; | |
char bar:7; | |
} ATTR t8; | |
static int a8[(sizeof(t8) == 4) -1]; | |
struct | |
{ | |
char foo : 4; | |
long : 0; | |
short : 0; | |
char bar: 8; | |
} ATTR t9; | |
static int a9[(sizeof(t9) == 16) -1]; | |
struct | |
{ | |
char foo : 4; | |
char : 0; | |
short : 0; | |
int : 0; | |
long :0; | |
char bar; | |
} ATTR t10; | |
static int a10[(sizeof(t10) == 2) -1]; |