blob: cb2d1dbd024d314e661f4e09eeca4186408d4bfd [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 -emit-llvm %s -o %t
Eli Friedman316bb1b2008-05-17 20:03:47 +00002
3// From GCC PR19331
4struct SysParams
5{
6 unsigned short tag;
7 unsigned short version;
8 unsigned int seqnum;
9 int contrast;
10 int igain_1, igain_2;
11 int oattn_1, oattn_2;
12 int max_out_vltg_1, max_out_vltg_2;
13 int max_mains_current;
14 int meters_mode;
15 int input_select;
16 _Bool input_parallelch2:1;
17 _Bool cliplmt_ch1:1;
18 _Bool cliplmt_ch2:1;
19 _Bool gate_ch1:1;
20 _Bool gate_ch2:1;
21 _Bool mute_ch1:1;
22 _Bool mute_ch2:1;
23 _Bool brownout:1;
24 _Bool power_on:1;
25 _Bool pwrup_mute:1;
26 _Bool keylock:1;
27 _Bool dsp_ch1:1;
28 _Bool dsp_ch2:1;
29 int dsp_preset;
30 long unlock_code;
31};
32extern struct SysParams params;
33
34void foo(void *);
35void kcmd_setParams(void)
36{
37 struct {
38 unsigned char igain_1;
39 unsigned char igain_2;
40 unsigned char max_out_vltg_1;
41 unsigned char max_out_vltg_2;
42 unsigned char max_imains;
43 unsigned char cliplmt_ch1:1;
44 unsigned char cliplmt_ch2:1;
45 unsigned char gate_ch1:1;
46 unsigned char gate_ch2:1;
47 } msg;
48 foo(&msg);
49 params.cliplmt_ch1 = msg.cliplmt_ch1;
50 params.cliplmt_ch2 = msg.cliplmt_ch2;
51 params.gate_ch1 = msg.gate_ch1;
52 params.gate_ch2 = msg.gate_ch2;
53}
54