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