1 /* PR debug/46867 */ 2 /* { dg-do compile } */ 3 /* { dg-options "-O -g" } */ 4 5 typedef __PTRDIFF_TYPE__ ptrdiff_t; 6 7 extern void *bar (void); 8 9 void foo(int x,char * r1,char * r2,__INTPTR_TYPE__ * rp,char * t)10foo (int x, char *r1, char *r2, __INTPTR_TYPE__ *rp, char *t) 11 { 12 char *tx = tx; 13 char **cc = bar (); 14 ptrdiff_t rx = r1 - r2; 15 for (;;) 16 { 17 char *cp1 = (char *) *rp; 18 char *cp2 = t; 19 char *s; 20 ptrdiff_t len = cp1 - tx + rx * (cp2 - cp1); 21 while (len) 22 ; 23 for (s = tx; s; s++) 24 ; 25 while (s) 26 if (s == cc[s - r1]) 27 if (x) 28 bar (); 29 if (cp1) 30 tx = cp2; 31 } 32 } 33