/* PR target/6303 This testcase ICEd because s390 did not define ASM_SIMPLIFY_DWARF_ADDR hook. */ /* { dg-do compile { target fpic } } */ /* { dg-options "-O2 -fpic -g" } */ static inline char * bar (unsigned long x, char *y) { extern const char ext[]; const char *a = ext; char *b = y; do *--b = a[x % 10]; while ((x /= 10) != 0); return b; } struct A { char *p, *q; }; struct B { int r, s; }; int foo (struct A *a, const struct B *b) { char c[(b->r > b->s) ? b->r : b->s]; char *d = &c[sizeof c]; register char *e; e = bar (b->r, d); while (e < d) { register const int f = *e++; if (((a->p >= a->q) ? 1 : (unsigned char) (*a->p++ = f)) == -1) break; } }