bug-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bison-3.3] sideeffect to flex ?


From: Akim Demaille
Subject: Re: [bison-3.3] sideeffect to flex ?
Date: Sun, 27 Jan 2019 07:23:39 +0100

Hi Kiyoshi,

> Le 27 janv. 2019 à 06:27, Akim Demaille <address@hidden> 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 <address@hidden>
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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]