Hi Kiyoshi, > Le 27 janv. 2019 à 06:27, Akim Demaille <a...@lrde.epita.fr> a écrit : > > The problem here is that in addition someone has added -Werror. Flex should > not use -y and use Bison extension at the same time.
Well, it appears that it is Bison itself that added -Werror for yacc :-(. This is going to be a problem, we can't continue this way, I have to release 3.3.1 that turns Bison directives into warnings, not errors, when given --yacc. I will install the follow commit into the maint branch. This tarball includes it: https://www.lrde.epita.fr/~akim/private/bison/bison-3.3.4-acfb2.tar.gz https://www.lrde.epita.fr/~akim/private/bison/bison-3.3.4-acfb2.tar.xz could you please check that it works as expected? Thanks a lot! commit acfb21efac3b9e837b24c1610ec5294066ef7e5a Author: Akim Demaille <akim.demai...@gmail.com> Date: Sun Jan 27 06:38:27 2019 +0100 yacc: issue warnings, not errors, for Bison extensions * src/getargs.c (getargs): Let --yacc imply -Wyacc, not -Werror=yacc. * tests/input.at: Adjust. diff --git a/NEWS b/NEWS index 6172bad6..9a1aa3ec 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,10 @@ GNU Bison NEWS * Noteworthy changes in release ?.? (????-??-??) [?] +** Bug fixes + + The option -y/--yacc used to imply -Werror=yacc, which turns uses of Bison + extensions into errors. It now makes them simple warnings (-Wyacc). * Noteworthy changes in release 3.3 (2019-01-26) [stable] diff --git a/src/getargs.c b/src/getargs.c index 95572681..417e163c 100644 --- a/src/getargs.c +++ b/src/getargs.c @@ -708,7 +708,7 @@ getargs (int argc, char *argv[]) break; case 'y': - warning_argmatch ("error=yacc", 0, 6); + warning_argmatch ("yacc", 0, 0); yacc_loc = command_line_location (); break; diff --git a/tests/input.at b/tests/input.at index 8853af51..7494e46a 100644 --- a/tests/input.at +++ b/tests/input.at @@ -1402,15 +1402,15 @@ without_period: "WITHOUT.PERIOD"; AT_BISON_OPTION_POPDEFS # POSIX Yacc accept periods, but not dashes. -AT_BISON_CHECK([--yacc input.y], [1], [], -[[input.y:1.1-5: error: POSIX Yacc does not support %code [-Werror=yacc] -input.y:9.8-16: error: POSIX Yacc forbids dashes in symbol names: WITH-DASH [-Werror=yacc] -input.y:10.21-34: error: POSIX Yacc does not support string literals [-Werror=yacc] -input.y:12.23-38: error: POSIX Yacc does not support string literals [-Werror=yacc] -input.y:13.1-5: error: POSIX Yacc does not support %code [-Werror=yacc] -input.y:20.8-16: error: POSIX Yacc forbids dashes in symbol names: with-dash [-Werror=yacc] -input.y:22.15-28: error: POSIX Yacc does not support string literals [-Werror=yacc] -input.y:24.17-32: error: POSIX Yacc does not support string literals [-Werror=yacc] +AT_BISON_CHECK([--yacc input.y], [], [], +[[input.y:1.1-5: warning: POSIX Yacc does not support %code [-Wyacc] +input.y:9.8-16: warning: POSIX Yacc forbids dashes in symbol names: WITH-DASH [-Wyacc] +input.y:10.21-34: warning: POSIX Yacc does not support string literals [-Wyacc] +input.y:12.23-38: warning: POSIX Yacc does not support string literals [-Wyacc] +input.y:13.1-5: warning: POSIX Yacc does not support %code [-Wyacc] +input.y:20.8-16: warning: POSIX Yacc forbids dashes in symbol names: with-dash [-Wyacc] +input.y:22.15-28: warning: POSIX Yacc does not support string literals [-Wyacc] +input.y:24.17-32: warning: POSIX Yacc does not support string literals [-Wyacc] ]]) # Dashes are fine for GNU Bison.