1 /* { dg-lto-do link } */
2 extern int **foo (void);
3 extern void mumble (char*, char*, char*);
4
5 static int *
6 bar (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
28 static void
29 baz (char *s)
30 {
31 char *args[100];
32 while (bar (&s))
33 {
34 mumble (args[0], "", "");
35 }
36 }
37
38 int
39 main (void)
40 {
41 baz ("");
42 return 0;
43 }