X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=perly.fixer;h=16ea92514430919848f0d31eb8abd418fa2bcbc1;hb=1cc8b4c566f7901a54e4b576f09608beb4c81f86;hp=00f583c6755fd0022f4013228350805abc0e133c;hpb=dae2d13f8edc3ee84694ec70a87a495ba78e08f2;p=p5sagit%2Fp5-mst-13.2.git diff --git a/perly.fixer b/perly.fixer index 00f583c..16ea925 100755 --- a/perly.fixer +++ b/perly.fixer @@ -2,7 +2,7 @@ # Fix up yacc output to allow dynamic allocation. Since perly.c # is now provided with the perl source, this should not be necessary. -# +# # However, if the user wishes to use byacc, or wishes to try another # compiler compiler (e.g. bison or yacc), this script will get run. # See makefile run_byacc target for more details. @@ -14,6 +14,9 @@ # # Additional information to make the BSD section work with SunOS 4.0.2 # tdinger@East.Sun.COM (Tom Dinger) 4/15/1991 +# +# Also edit some practices gcc -Wall finds questionable. +# input=$1 output=$2 @@ -41,6 +44,11 @@ if grep 'yaccpar 1.8 (Berkeley)' $input >/dev/null 2>&1; then -e '/^static static/s/^static //' \ -e '/^#define.WORD/,/^#define.ARROW/d' \ -e '/^int.yydebug/,/^#define.yystacksize/d' \ + -e 's/^yyerrlab:$//' \ + -e 's/^ goto yyerrlab;//' \ + -e 's/^yynewerror:$//' \ + -e 's/^ goto yynewerror;//' \ + -e 's|^static char yysccsid\(.*\)|/* static char yysccsid\1 */|' \ < $output > $tmp && mv -f $tmp $output || exit 1 rm -rf $input echo "If you need to debug perly.c, you need to fix up the #line" @@ -56,6 +64,11 @@ elif grep 'yaccpar 1.9 (Berkeley)' $input >/dev/null 2>&1; then -e '/^static static/s/^static //' \ -e '/^#define.WORD/,/^#define.ARROW/d' \ -e '/^int.yydebug/,/^#define.yystacksize/d' \ + -e 's/^yyerrlab:$//' \ + -e 's/^ goto yyerrlab;//' \ + -e 's/^yynewerror:$//' \ + -e 's/^ goto yynewerror;//' \ + -e 's|^static char yysccsid\(.*\)|/* static char yysccsid\1 */|' \ < $output > $tmp && mv -f $tmp $output || exit 1 rm -rf $input echo "If you need to debug perly.c, you need to fix up the #line"