1 /* PR opt/7409.  */
2 
3 extern void abort (void);
4 
5 char g_list[] = { '1' };
6 
g(void * p,char * list,int length,char ** elementPtr,char ** nextPtr)7 void g (void *p, char *list, int length, char **elementPtr, char **nextPtr)
8 {
9   if (*nextPtr != g_list)
10     abort ();
11 
12   **nextPtr = 0;
13 }
14 
main(void)15 int main (void)
16 {
17   char *list = g_list;
18   char *element;
19   int i, length = 100;
20 
21   for (i = 0; *list != 0; i++)
22     {
23       char *prevList = list;
24       g (0, list, length, &element, &list);
25       length -= (list - prevList);
26     }
27 
28   return 0;
29 }
30 
31