diff options
author | Joel E. Denny <joeldenny@joeldenny.org> | 2011-04-16 18:15:40 -0400 |
---|---|---|
committer | Joel E. Denny <joeldenny@joeldenny.org> | 2011-04-16 18:29:10 -0400 |
commit | 67b8cfbd94b6ec696291851f222922043044bfa4 (patch) | |
tree | a9af18fff1c81297341915e96246fb1b4a433606 | |
parent | a801089ca3a86b89374dfbcc790944a9aad1aebd (diff) | |
download | bison-67b8cfbd94b6ec696291851f222922043044bfa4.tar.gz |
glr.c: omit yyresolveLocations when locations are disabled.
This prevents gcc 4.6.0's -Wunused-but-set-variable from warning
about yyresolveLocations's local yyrhsloc. When locations are
enabled, there's no such warning because YYLLOC_DEFAULT then uses
yyrhsloc. Reported by Jim Meyering at
<http://lists.gnu.org/archive/html/bug-bison/2011-04/msg00002.html>.
* data/glr.c (yyresolveLocations): Omit definition when locations
are disabled.
(yyresolveValue): Omit yyresolveLocations invocation when
locations are disabled.
(cherry picked from commit 55dd35633675f588c58ead46ecd6b5f4db504192)
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | data/glr.c | 8 |
2 files changed, 17 insertions, 4 deletions
@@ -1,5 +1,18 @@ 2011-04-16 Joel E. Denny <joeldenny@joeldenny.org> + glr.c: omit yyresolveLocations when locations are disabled. + This prevents gcc 4.6.0's -Wunused-but-set-variable from warning + about yyresolveLocations's local yyrhsloc. When locations are + enabled, there's no such warning because YYLLOC_DEFAULT then uses + yyrhsloc. Reported by Jim Meyering at + <http://lists.gnu.org/archive/html/bug-bison/2011-04/msg00002.html>. + * data/glr.c (yyresolveLocations): Omit definition when locations + are disabled. + (yyresolveValue): Omit yyresolveLocations invocation when + locations are disabled. + +2011-04-16 Joel E. Denny <joeldenny@joeldenny.org> + gnulib, autoconf: update. * README-hacking (Updating a submodule): Give advice on how to determine the versions of gnulib and autoconf to which we should @@ -1757,7 +1757,7 @@ yyreportAmbiguity (yySemanticOption* yyx0, yyerror (]b4_yyerror_args[YY_("syntax is ambiguous")); return yyabort; -} +}]b4_locations_if([[ /** Resolve the locations for each of the YYN1 states in *YYSTACKP, * ending at YYS1. Has no effect on previously resolved states. @@ -1815,7 +1815,7 @@ yyresolveLocations (yyGLRState* yys1, int yyn1, yylloc = yylloc_current; } } -} +}]])[ /** Resolve the ambiguity represented in state YYS in *YYSTACKP, * perform the indicated actions, and set the semantic value of YYS. @@ -1850,8 +1850,8 @@ yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp]b4_user_formals[) { switch (yypreference (yybest, yyp)) { - case 0: - yyresolveLocations (yys, 1, yystackp]b4_user_args[); + case 0:]b4_locations_if([[ + yyresolveLocations (yys, 1, yystackp]b4_user_args[);]])[ return yyreportAmbiguity (yybest, yyp]b4_pure_args[); break; case 1: |