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