1 /* PR debug/43972 */
2 /* { dg-do compile } */
3 /* { dg-options "-g -w" } */
4 /* { dg-options "-g -fpic -w" { target fpic } } */
5
6 struct { int *b1; } *f1 ();
7 short v1[1];
8 struct S { int b2; };
9 void
foo(struct S * a1,union{ char *b3; unsigned *b4; int *b5; } * a2)10 foo (struct S *a1, union { char *b3; unsigned *b4; int *b5; } *a2)
11 {
12 int d;
13 switch (d)
14 {
15 case 0:
16 {
17 int c = a1->b2, i;
18 if (f1 () == 0)
19 *a2->b3++ = 2;
20 else if (((long) (f1 () - f1 ())) ^ ((long) f1 ()->b1 - ((long) f1 () & 8)))
21 *a2->b3++ = (long) f1 - ((long) f1 () & 0xff);
22 else
23 *a2->b4++ = (long) f1;
24 for (i = 0; i < c; i++)
25 *a2->b5++ = (long) v1;
26 foo (a1, a2);
27 }
28 }
29 }
30