c: always use YYMALLOC/YYFREE

Reported by Kovalex <kovalex.pro@gmail.com>.
https://lists.gnu.org/r/bug-bison/2020-08/msg00015.html

* data/skeletons/yacc.c: Don't make direct calls to malloc/free.
* tests/calc.at: Check it.
This commit is contained in:
Akim Demaille
2020-08-30 09:45:34 +02:00
parent 067e35a8be
commit a1b7fef045
4 changed files with 12 additions and 2 deletions

View File

@@ -1486,7 +1486,7 @@ yypstate_new (void)
yypstate *yyps;]b4_pure_if([], [[
if (yypstate_allocated)
return YY_NULLPTR;]])[
yyps = YY_CAST (yypstate *, malloc (sizeof *yyps));
yyps = YY_CAST (yypstate *, YYMALLOC (sizeof *yyps));
if (!yyps)
return YY_NULLPTR;]b4_pure_if([], [[
yypstate_allocated = 1;]])[
@@ -1515,7 +1515,7 @@ yypstate_delete (yypstate *yyps)
#endif]b4_lac_if([[
if (yyes != yyesa)
YYSTACK_FREE (yyes);]])[
free (yyps);]b4_pure_if([], [[
YYFREE (yyps);]b4_pure_if([], [[
yypstate_allocated = 0;]])[
}
}