blob: 1bb41c2b17628c67fa477a40f072064d9d46e5a0 [file] [log] [blame]
/* PR tree-optimization/77454 */
/* { dg-do compile } */
/* { dg-options "-O2" } */
void
foo (unsigned char x, char y)
{
while (x != 0)
{
unsigned char *a = &x;
int b;
if (y != 0)
a = (unsigned char *) &y;
else if (y + 1 != 0)
a = (unsigned char *) &y;
for (x = 0; x < 1; ++x)
b = 0;
for (y = 0; y < 3; ++y)
{
y = !!y;
if (y != 0)
x = y;
}
if ((b != 0 ? -1 : *a) < (y = b))
b = 1;
}
}