1/* { dg-lto-do link } */ 2extern int **foo (void); 3extern void mumble (char*, char*, char*); 4 5static int * 6bar (char **sp) 7{ 8 char *s = *sp, *rs = s; 9 int c; 10 while (*foo ()[c]) 11 rs++; 12 while (c = *rs) 13 { 14 if (c || ((c == '"') || (c == '\''))) 15 { 16 if (c) 17 *rs++ = c; 18 else 19 mumble (0, "", ""); 20 } 21 else if (c || (*foo ()[c] & 1)) 22 *rs++ = c; 23 } 24 if (c) 25 mumble (0, "", ""); 26} 27 28static void 29baz (char *s) 30{ 31 char *args[100]; 32 while (bar (&s)) 33 { 34 mumble (args[0], "", ""); 35 } 36} 37 38int 39main (void) 40{ 41 baz (""); 42 return 0; 43} 44