29 lines
456 B
C
29 lines
456 B
C
/* 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;
|
|
}
|
|
}
|