1 #ifdef __SIZEOF_INT__ == 4
2 typedef unsigned int u32;
3 #endif
4 #ifdef __SIZEOF_SHORT__ == 2
5 typedef unsigned short u16;
6 #endif
7
8
9 union u {
10 u32 a;
11 u16 b;
12 };
13
14 void bar(u16, union u);
15
16 void foo(u16 val)
17 {
18 union u u;
19
20 u.b = val;
21 bar(u.b, u);
22 }
23
24 /*
25 * check-name: short-load
26 * check-command: test-linearize -Wno-decl -fdump-ir=mem2reg $file
27 * check-output-ignore
28 * check-output-contains: load\\.32
29 */