* tool/ytab.sed: `p` is too short to distinguish alone from other
  names.  fix for more old bison which does not support %lex-param
  at yydestruct.  add `p` argument to non-prototype declaration of
  yy_stack_print.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2018-01-15 02:23:24 +00:00
Родитель 5f3ddb32c7
Коммит 630ab3b925
1 изменённых файлов: 17 добавлений и 7 удалений

Просмотреть файл

@ -14,7 +14,7 @@ a\
}
/^yydestruct.*yymsg/,/#endif/{
/^yydestruct/{
/p/!{
/[, *]p)/!{
H
s/^/ruby_parser_&/
s/)$/, p)/
@ -25,18 +25,28 @@ a\
x
/yydestruct/{
i\
struct parser_params *p;
\ struct parser_params *p;
a\
#define yydestruct(m, t, v) ruby_parser_yydestruct(m, t, v, p)
}
x
}
}
/^yy_stack_print/{
/parser/!{
H
s/)$/, p)/
/\*/s/p)$/struct parser_params *&/
/^yy_stack_print /,/#endif/{
/^yy_stack_print/{
/[, *]p)/!{
H
s/)$/, p)/
/\*/s/p)$/struct parser_params *&/
}
}
/^#endif/{
x
/yy_stack_print/{
i\
\ struct parser_params *p;
}
x
}
}
/yy_stack_print.*;/{