1 | // RUN: %clang_cc1 -emit-llvm %s -o %t |
2 | |
3 | // From GCC PR19331 |
4 | struct 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 | }; |
32 | extern struct SysParams params; |
33 | |
34 | void foo(void *); |
35 | void 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 | |
55 | |