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