// 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];
