mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
* data/yacc.c (yyparse): In the initial action, set
yylsp[0] and yyvsp[0] rather than yylloc and yylval. This avoids the use of undefined variables if the initial action does not set yylloc and/or yylval.
This commit is contained in:
@@ -1,3 +1,10 @@
|
||||
2005-07-09 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* data/yacc.c (yyparse): In the initial action, set
|
||||
yylsp[0] and yyvsp[0] rather than yylloc and yylval.
|
||||
This avoids the use of undefined variables if the initial
|
||||
action does not set yylloc and/or yylval.
|
||||
|
||||
2005-07-07 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* examples/calc++/calc++-driver.cc, examples/calc++/calc++-driver.hh:
|
||||
|
||||
@@ -859,8 +859,8 @@ b4_c_function_def([yyparse], [int], b4_parse_param)
|
||||
#endif
|
||||
]])
|
||||
m4_ifdef([b4_initial_action], [
|
||||
m4_pushdef([b4_at_dollar], [yylloc])dnl
|
||||
m4_pushdef([b4_dollar_dollar], [yylval])dnl
|
||||
m4_pushdef([b4_at_dollar], [[yylsp[0]]])dnl
|
||||
m4_pushdef([b4_dollar_dollar], [[yyvsp[0]]])dnl
|
||||
/* User initialization code. */
|
||||
b4_initial_action
|
||||
m4_popdef([b4_dollar_dollar])dnl
|
||||
@@ -868,10 +868,7 @@ m4_popdef([b4_at_dollar])dnl
|
||||
/* Line __line__ of yacc.c. */
|
||||
b4_syncline([@oline@], [@ofile@])])dnl
|
||||
[
|
||||
yyvsp[0] = yylval;
|
||||
]b4_location_if([[ yylsp[0] = yylloc;
|
||||
]])
|
||||
[ goto yysetstate;
|
||||
goto yysetstate;
|
||||
|
||||
/*------------------------------------------------------------.
|
||||
| yynewstate -- Push a new state, which is found in yystate. |
|
||||
|
||||
Reference in New Issue
Block a user