/* { dg-lto-do link } */ | |
extern int **foo (void); | |
extern void mumble (char*, char*, char*); | |
static int * | |
bar (char **sp) | |
{ | |
char *s = *sp, *rs = s; | |
int c; | |
while (*foo ()[c]) | |
rs++; | |
while (c = *rs) | |
{ | |
if (c || ((c == '"') || (c == '\''))) | |
{ | |
if (c) | |
*rs++ = c; | |
else | |
mumble (0, "", ""); | |
} | |
else if (c || (*foo ()[c] & 1)) | |
*rs++ = c; | |
} | |
if (c) | |
mumble (0, "", ""); | |
} | |
static void | |
baz (char *s) | |
{ | |
char *args[100]; | |
while (bar (&s)) | |
{ | |
mumble (args[0], "", ""); | |
} | |
} | |
int | |
main (void) | |
{ | |
baz (""); | |
return 0; | |
} |