1 /* PR middle-end/29584 */
2 /* { dg-do compile { target { ilp32 || lp64 } } } */
3 
4 extern void *foo1 (void);
5 extern void foo2 (void);
6 extern void foo3 (void *, void *);
7 extern int foo4 (void);
8 
9 void
bar(void)10 bar (void)
11 {
12   int i;
13   void *s;
14   for (i = 1; i < 4; i++)
15     {
16       if (foo4 ())
17 	foo2 ();
18       switch (0x8000000UL + i * 0x400)
19 	{
20 	case 0x80000000UL ... 0x80000000UL + 0x3a000000UL - 1:
21 	  s = 0;
22 	  break;
23 	default:
24 	  s = foo1 ();
25 	}
26       foo3 ((void *) (0x8000000UL + i * 0x400), s);
27     }
28 }
29