1  /* { dg-do compile } */
       2  
       3  extern char *globerr;
       4  char **ftpglob();
       5  
       6  static const int yypgoto[] =
       7  {
       8       -82, -82, -82, -82
       9  };
      10  
      11  static const int yydefgoto[] =
      12  {
      13         0, 1, 36, 37
      14  };
      15  
      16  static const int yytable[] =
      17  {
      18        43, 129, 88, 89
      19  };
      20  
      21  static const int yycheck[] =
      22  {
      23         8, 82, 4, 5
      24  };
      25  
      26  
      27  int yyparse (void)
      28  {
      29      int yystate = 0;
      30      int *yyvsp = 0;
      31  
      32    int yyn;
      33    int yyresult;
      34    int yyval;
      35  
      36  yyreduce:
      37  
      38    switch (yyn)
      39      {
      40    case 72: {
      41  
      42    if (strncmp( yyvsp[0], "~", 1) == 0) {
      43     *(char **)&(yyval) = *ftpglob(yyvsp[0]);
      44     if (globerr != 0) {
      45      yyval = 0;
      46     }
      47     free(yyvsp[0]);
      48    }
      49   }
      50      break;
      51      }
      52  
      53    *++yyvsp = yyval;
      54  
      55    {
      56      const int yyi = yypgoto[0] + *yyvsp;
      57      yystate = (yycheck[yyi] == *yyvsp ? 0 : 0);
      58    }
      59  
      60    return yyresult;
      61  }
      62