| /* This failed because if conversion didn't handle insv patterns properly. */ | |
| union y | |
| { | |
| int a; | |
| unsigned short b; | |
| }; | |
| extern void bar (unsigned short u, union y v); | |
| void | |
| foo (int check) | |
| { | |
| union y x; | |
| if (check != 0) | |
| x.b = 1; | |
| else | |
| x.b = 2; | |
| bar (x.b, x); | |
| } |