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