blob: 9225bce42e4e482958e1ddaeaa82baa3619dea80 [file] [log] [blame]
/* 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;
}
}