blob: 5fcf1e0e87fb839adb56577032e617298ca72f48 [file] [log] [blame]
/* PR debug/43972 */
/* { dg-do compile } */
/* { dg-options "-g -w" } */
/* { dg-options "-g -fpic -w" { target fpic } } */
struct { int *b1; } *f1 ();
short v1[1];
struct S { int b2; };
void
foo (struct S *a1, union { char *b3; unsigned *b4; int *b5; } *a2)
{
int d;
switch (d)
{
case 0:
{
int c = a1->b2, i;
if (f1 () == 0)
*a2->b3++ = 2;
else if (((long) (f1 () - f1 ())) ^ ((long) f1 ()->b1 - ((long) f1 () & 8)))
*a2->b3++ = (long) f1 - ((long) f1 () & 0xff);
else
*a2->b4++ = (long) f1;
for (i = 0; i < c; i++)
*a2->b5++ = (long) v1;
foo (a1, a2);
}
}
}