minix/external/bsd/llvm/dist/clang/test/CodeGen/bool-bitfield.c
Lionel Sambuc f4a2713ac8 Importing netbsd clang -- pristine
Change-Id: Ia40e9ffdf29b5dab2f122f673ff6802a58bc690f
2014-07-28 17:05:57 +02:00

54 lines
1.1 KiB
C

// RUN: %clang_cc1 -emit-llvm %s -o %t
// From GCC PR19331
struct SysParams
{
unsigned short tag;
unsigned short version;
unsigned int seqnum;
int contrast;
int igain_1, igain_2;
int oattn_1, oattn_2;
int max_out_vltg_1, max_out_vltg_2;
int max_mains_current;
int meters_mode;
int input_select;
_Bool input_parallelch2:1;
_Bool cliplmt_ch1:1;
_Bool cliplmt_ch2:1;
_Bool gate_ch1:1;
_Bool gate_ch2:1;
_Bool mute_ch1:1;
_Bool mute_ch2:1;
_Bool brownout:1;
_Bool power_on:1;
_Bool pwrup_mute:1;
_Bool keylock:1;
_Bool dsp_ch1:1;
_Bool dsp_ch2:1;
int dsp_preset;
long unlock_code;
};
extern struct SysParams params;
void foo(void *);
void kcmd_setParams(void)
{
struct {
unsigned char igain_1;
unsigned char igain_2;
unsigned char max_out_vltg_1;
unsigned char max_out_vltg_2;
unsigned char max_imains;
unsigned char cliplmt_ch1:1;
unsigned char cliplmt_ch2:1;
unsigned char gate_ch1:1;
unsigned char gate_ch2:1;
} msg;
foo(&msg);
params.cliplmt_ch1 = msg.cliplmt_ch1;
params.cliplmt_ch2 = msg.cliplmt_ch2;
params.gate_ch1 = msg.gate_ch1;
params.gate_ch2 = msg.gate_ch2;
}