diff options
Diffstat (limited to 'contrib/perl5/perly.c')
-rw-r--r-- | contrib/perl5/perly.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/contrib/perl5/perly.c b/contrib/perl5/perly.c index 36b51c02e758..2b5108fac166 100644 --- a/contrib/perl5/perly.c +++ b/contrib/perl5/perly.c @@ -1386,6 +1386,9 @@ yyparse() #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; @@ -1744,7 +1747,7 @@ case 35: break; case 37: #line 269 "perly.y" -{ (void)scan_num("1"); yyval.opval = yylval.opval; } +{ (void)scan_num("1", &yylval); yyval.opval = yylval.opval; } break; case 39: #line 274 "perly.y" @@ -2477,6 +2480,9 @@ yyoverflow: yyabort: retval = 1; yyaccept: +#ifdef USE_ITHREADS + LEAVE; /* force yydestruct() before we return */ +#endif return retval; } |