From 79931dddba67ad68886f65ba8562eb99507cee3a Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Fri, 10 May 2019 16:40:34 +0900 Subject: [PATCH] Propagate parser_params to rb_yytnamerr --- parse.y | 7 ++++--- tool/ytab.sed | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/parse.y b/parse.y index fd0810987f..60ca58f61e 100644 --- a/parse.y +++ b/parse.y @@ -649,8 +649,8 @@ rb_strterm_mark(VALUE obj) } #endif -#define yytnamerr(yyres, yystr) (YYSIZE_T)rb_yytnamerr(yyres, yystr) -size_t rb_yytnamerr(char *yyres, const char *yystr); +#define yytnamerr(yyres, yystr) (YYSIZE_T)rb_yytnamerr(p, yyres, yystr) +size_t rb_yytnamerr(struct parser_params *p, char *yyres, const char *yystr); #define TOKEN2ID(tok) ( \ tTOKEN_LOCAL_BEGIN<(tok)&&(tok) "`class' keyword" */ RUBY_FUNC_EXPORTED size_t -rb_yytnamerr(char *yyres, const char *yystr) +rb_yytnamerr(struct parser_params *p, char *yyres, const char *yystr) { + YYUSE(p); if (*yystr == '"') { size_t yyn = 0, bquote = 0; const char *yyp = yystr; diff --git a/tool/ytab.sed b/tool/ytab.sed index f7438077dc..ba7566ac7f 100755 --- a/tool/ytab.sed +++ b/tool/ytab.sed @@ -67,6 +67,8 @@ a\ /^yy_reduce_print/,/^}/{ s/fprintf *(stderr,/YYFPRINTF (p,/g } +s/^yysyntax_error (/&struct parser_params *p, / +s/ yysyntax_error (/&p, / s/\( YYFPRINTF *(\)yyoutput,/\1p,/ s/\( YYFPRINTF *(\)yyo,/\1p,/ s/\( YYFPRINTF *(\)stderr,/\1p,/