bison-patches
[Top][All Lists]
Advanced

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

Re: My plans for Bison: gitch in yacc.c


From: Akim Demaille
Subject: Re: My plans for Bison: gitch in yacc.c
Date: Wed, 13 Feb 2019 13:27:40 +0100

Hi Eric!

> Le 13 févr. 2019 à 12:45, Eric S. Raymond <address@hidden> a écrit :
> 
> Akim Demaille <address@hidden>:
>> Hi Eric,
>> 
>>> Le 12 févr. 2019 à 18:34, Eric S. Raymond <address@hidden> a écrit :
>>> 
>>> This was originally mail I sent to Akim Demaille. Her asked me to
>>> direct it to this list.
>>> 
>>> Here are the things I want to do:
>>> 
>>> 0. My original intention was to fix a minor glitch in the C skeleton that
>>> cases a spurious warning when NTPsec is building.  I see that has already
>>> been done. Has it shipped in an official release yet?
>> 
>> I don't know.  What glitch and what version are you referring to?
>> The current release is 3.3.2.  See NEWS for the history of releases.
> 
> Under 3.0.4:
> 
> ntp_parser.tab.c: In function ‘yysyntax_error’:
> ntp_parser.tab.c:1512:3: warning: switch missing default case 
> [-Wswitch-default]
> 
> But I can see that the repository-head source for the C skeleton has a
> "break" generated in it at the right place to suppress this
> warning. I'm wondering when that change was made because I'm trying to
> get some idea when it is likely to hit the street in major Linux
> distros.
> 
> It's the only warning that GCC throws in the entire NTPsec build.  We're
> perfectionists and would like to banish it.

So maybe you are referring to this change:

https://github.com/akimd/bison/commit/2b5a27ba3db0f86d37eaef157cc5562082144ff3

diff --git a/data/yacc.c b/data/yacc.c
index e974319f..8e03c32f 100644
--- a/data/yacc.c
+++ b/data/yacc.c
@@ -1207,6 +1207,7 @@ yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
       case N:                               \
         yyformat = S;                       \
       break
+    default: /* Avoid compiler warnings. */
       YYCASE_(0, YY_("syntax error"));
       YYCASE_(1, YY_("syntax error, unexpected %s"));
       YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));


which is part of v3.0.5 according to that very page.

If that's not what you mean, you should follow git blame to find the change
you mean.

https://github.com/akimd/bison/blame/master/data/skeletons/yacc.c#L1114

Cheers!


reply via email to

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