blob: 7d899b2bba69470b1976283dd5b754007b15cce3 [file] [log] [blame]
/* { dg-do run } */
/* { dg-options "-O1" } */
/* This failed because if conversion didn't handle insv patterns properly. */
void abort (void);
union y
{
int a;
unsigned short b;
};
void __attribute__ ((noinline))
bar (unsigned short u, union y v)
{
if (u != 1)
abort ();
}
void __attribute__ ((noinline))
foo (int check)
{
union y x;
if (check != 0)
x.b = 1;
else
x.b = 2;
bar (x.b, x);
}
int
main ()
{
foo (1);
return 0;
}