/* PR middle-end/29584 */ /* { dg-do compile { target { ilp32 || lp64 } } } */ extern void *foo1 (void); extern void foo2 (void); extern void foo3 (void *, void *); extern int foo4 (void); void bar (void) { int i; void *s; for (i = 1; i < 4; i++) { if (foo4 ()) foo2 (); switch (0x8000000UL + i * 0x400) { case 0x80000000UL ... 0x80000000UL + 0x3a000000UL - 1: s = 0; break; default: s = foo1 (); } foo3 ((void *) (0x8000000UL + i * 0x400), s); } }