*** y.tab.c.orig Thu Aug 26 22:31:26 1999
--- y.tab.c Thu Aug 26 22:32:22 1999
***************
-*** 1447,1456 ****
+*** 1448,1457 ****
yyparse()
{
register int yym, yyn, yystate;
if (yys = getenv("YYDEBUG"))
{
yyn = *yys;
---- 1447,1473 ----
+--- 1448,1477 ----
yyparse()
{
register int yym, yyn, yystate;
! #endif
+ struct ysv *ysave;
++ #ifdef USE_ITHREADS
++ ENTER; /* force yydestruct() before we return */
++ #endif
+ New(73, ysave, 1, struct ysv);
+ SAVEDESTRUCTOR_X(yydestruct, ysave);
+ ysave->oldyydebug = yydebug;
{
yyn = *yys;
***************
-*** 1463,1468 ****
---- 1480,1495 ----
+*** 1464,1469 ****
+--- 1484,1499 ----
yyerrflag = 0;
yychar = (-1);
yyvsp = yyvs;
*yyssp = yystate = 0;
***************
-*** 1493,1499 ****
+*** 1494,1500 ****
#endif
if (yyssp >= yyss + yystacksize - 1)
{
}
*++yyssp = yystate = yytable[yyn];
*++yyvsp = yylval;
---- 1520,1538 ----
+--- 1524,1542 ----
#endif
if (yyssp >= yyss + yystacksize - 1)
{
*++yyssp = yystate = yytable[yyn];
*++yyvsp = yylval;
***************
-*** 1534,1540 ****
+*** 1535,1541 ****
#endif
if (yyssp >= yyss + yystacksize - 1)
{
}
*++yyssp = yystate = yytable[yyn];
*++yyvsp = yylval;
---- 1573,1591 ----
+--- 1577,1595 ----
#endif
if (yyssp >= yyss + yystacksize - 1)
{
*++yyssp = yystate = yytable[yyn];
*++yyvsp = yylval;
***************
-*** 2473,2487 ****
+*** 2481,2495 ****
#endif
if (yyssp >= yyss + yystacksize - 1)
{
yyaccept:
! return (0);
}
---- 2524,2569 ----
+--- 2535,2583 ----
#endif
if (yyssp >= yyss + yystacksize - 1)
{
yyabort:
! retval = 1;
yyaccept:
+! #ifdef USE_ITHREADS
+! LEAVE; /* force yydestruct() before we return */
+! #endif
! return retval;
! }
!