/* PR debug/46867 */ | |
/* { dg-do compile } */ | |
/* { dg-options "-O -g" } */ | |
typedef __PTRDIFF_TYPE__ ptrdiff_t; | |
extern void *bar (void); | |
void | |
foo (int x, char *r1, char *r2, __INTPTR_TYPE__ *rp, char *t) | |
{ | |
char *tx = tx; | |
char **cc = bar (); | |
ptrdiff_t rx = r1 - r2; | |
for (;;) | |
{ | |
char *cp1 = (char *) *rp; | |
char *cp2 = t; | |
char *s; | |
ptrdiff_t len = cp1 - tx + rx * (cp2 - cp1); | |
while (len) | |
; | |
for (s = tx; s; s++) | |
; | |
while (s) | |
if (s == cc[s - r1]) | |
if (x) | |
bar (); | |
if (cp1) | |
tx = cp2; | |
} | |
} |