summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel E. Denny <joeldenny@joeldenny.org>2011-04-16 18:15:40 -0400
committerJoel E. Denny <joeldenny@joeldenny.org>2011-04-16 18:15:40 -0400
commit55dd35633675f588c58ead46ecd6b5f4db504192 (patch)
treeee1417fd95f1cb5154554f54a4debbdca62039c0
parenta898435b25eca4869e8c49b2b0fb1f649b030ce7 (diff)
downloadbison-55dd35633675f588c58ead46ecd6b5f4db504192.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.
-rw-r--r--ChangeLog13
-rw-r--r--data/glr.c8
2 files changed, 17 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 70ee0043..4c63cb19 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/data/glr.c b/data/glr.c
index 6829ca37..df902019 100644
--- a/data/glr.c
+++ b/data/glr.c
@@ -1802,7 +1802,7 @@ yyreportAmbiguity (yySemanticOption* yyx0,
yyerror (]b4_yyerror_args[YY_("syntax is ambiguous"));
return yyabort;
-}
+}]b4_locations_if([[
/** Starting at and including state S1, resolve the location for each of the
* previous N1 states that is unresolved. The first semantic option of a state
@@ -1860,7 +1860,7 @@ yyresolveLocations (yyGLRState* yys1, int yyn1,
yylloc = yylloc_current;
}
}
-}
+}]])[
/** Resolve the ambiguity represented in state S, perform the indicated
* actions, and set the semantic value of S. If result != yyok, the chain of
@@ -1894,8 +1894,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: