1  /* PR opt/7409.  */
       2  
       3  extern void abort (void);
       4  
       5  char g_list[] = { '1' };
       6  
       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  
      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