llvm-project/clang/test/CodeGen/ms_struct-bitfield-1.c
Mehdi Amini e0ac46e69d Revert "Remove rdar links; NFC"
This reverts commit d618f1c3b12effd0c2bdb7d02108d3551f389d3d.
This commit wasn't reviewed ahead of time and significant concerns were
raised immediately after it landed. According to our developer policy
this warrants immediate revert of the commit.

https://llvm.org/docs/DeveloperPolicy.html#patch-reversion-policy

Differential Revision: https://reviews.llvm.org/D155509
2023-07-17 18:08:04 -07:00

92 lines
1.2 KiB
C

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