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 */