]> git.saurik.com Git - bison.git/commitdiff
* src/reduce.c (inaccessable_symbols): Fix a buglet: because of a
authorAkim Demaille <akim@epita.fr>
Sun, 7 Apr 2002 15:30:42 +0000 (15:30 +0000)
committerAkim Demaille <akim@epita.fr>
Sun, 7 Apr 2002 15:30:42 +0000 (15:30 +0000)
lacking `+ 1' to nrules, Bison reported as useless a token if it
was used solely to set the precedence of the last rule...

ChangeLog
NEWS
src/reduce.c

index 900c04b20291a0aabbf0c82107cd8f004c691c4a..604e31cc9dc45c63e8a6da3d8c47efd62e7463bd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2002-04-07  Akim Demaille  <akim@epita.fr>
+
+       * src/reduce.c (inaccessable_symbols): Fix a buglet: because of a
+       lacking `+ 1' to nrules, Bison reported as useless a token if it
+       was used solely to set the precedence of the last rule...
+
+       
 2002-04-07  Akim Demaille  <akim@epita.fr>
 
        * data/bison.c++, data/bison.simple: Don't output the current file
diff --git a/NEWS b/NEWS
index 311237fb90a0a2c0a37dd010b2c4f94b0d643893..6d86faf3faa582ccb037445ad8ce78ea824f1a8a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,16 @@ Bison News
 
 Changes in version 1.49a:
 
+* False `Token not used' report fixed.
+  On a grammar such as
+
+           %token useless useful
+           %%
+           exp: '0' %prec useful;
+
+  where a token was used to set the precedence of the last rule,
+  bison reported both `useful' and `useless' as useless tokens.
+
 * Revert the C++ namespace changes introduced in 1.31, as they caused too
   many portability hassles.
 
index c5e9381d853fa87146cd64ba026cf19a3de9ad41..58bf43ea41ee5a6a5ed82106483c61d3f6ec42c0 100644 (file)
@@ -215,7 +215,7 @@ inaccessable_symbols (void)
   nuseless_nonterminals = nvars - nuseful_nonterminals;
 
   /* A token that was used in %prec should not be warned about.  */
-  for (i = 1; i < nrules; i++)
+  for (i = 1; i < nrules + 1; i++)
     if (rules[i].precsym != 0)
       bitset_set (V1, rules[i].precsym);
 }