summaryrefslogtreecommitdiff
path: root/tests/existing.at
diff options
context:
space:
mode:
authorAkim Demaille <akim@lrde.epita.fr>2013-02-09 18:26:38 +0100
committerAkim Demaille <akim@lrde.epita.fr>2013-02-18 10:01:27 +0100
commitf68a49ed4942714616e692f0fa2a8315368bae3b (patch)
tree07a7378c34ee048096e873c5470ae6dcd0c0d27d /tests/existing.at
parent684083f0650eb1cdabc4ca2f5a15a46caf00985a (diff)
downloadbison-f68a49ed4942714616e692f0fa2a8315368bae3b.tar.gz
-Wempty-rule: diagnose empty rules without %empty
* src/complain.h, src/complain.c (warning_empty_rule, Wempty_rule): New warning category. (warnings_args, warnings_types): Adjust. * src/reader.c (grammar_rule_check): Check the empty rules are flagged by %empty. * tests/actions.at (Implicitly empty rule): New. * tests/existing.at: Add expected warnings.
Diffstat (limited to 'tests/existing.at')
-rw-r--r--tests/existing.at79
1 files changed, 74 insertions, 5 deletions
diff --git a/tests/existing.at b/tests/existing.at
index cd80c50a..6aa7a398 100644
--- a/tests/existing.at
+++ b/tests/existing.at
@@ -427,7 +427,17 @@ dnl don't like even `print $!4;'.
dnl BISON-STDERR
[AT_COND_CASE([[canonical LR]],
-[[input.y: warning: 265 shift/reduce conflicts [-Wconflicts-sr]
+[[input.y:66.10: warning: empty rule without %empty [-Wempty-rule]
+input.y:169.8: warning: empty rule without %empty [-Wempty-rule]
+input.y:174.12: warning: empty rule without %empty [-Wempty-rule]
+input.y:179.13: warning: empty rule without %empty [-Wempty-rule]
+input.y:187.15: warning: empty rule without %empty [-Wempty-rule]
+input.y:201.8: warning: empty rule without %empty [-Wempty-rule]
+input.y:206.21: warning: empty rule without %empty [-Wempty-rule]
+input.y:220.20: warning: empty rule without %empty [-Wempty-rule]
+input.y:299.13: warning: empty rule without %empty [-Wempty-rule]
+input.y:322.9: warning: empty rule without %empty [-Wempty-rule]
+input.y: warning: 265 shift/reduce conflicts [-Wconflicts-sr]
input.y:19.8-16: warning: useless associativity for FUNC_CALL, use %precedence [-Wprecedence]
input.y:21.8-14: warning: useless associativity for YNUMBER, use %precedence [-Wprecedence]
input.y:21.16-22: warning: useless associativity for YSTRING, use %precedence [-Wprecedence]
@@ -446,7 +456,17 @@ input.y:47.12-16: warning: useless associativity for UNARY, use %precedence [-Wp
input.y:50.7-9: warning: useless associativity for '$', use %precedence [-Wprecedence]
input.y:51.7-9: warning: useless associativity for '(', use %precedence [-Wprecedence]
input.y:51.11-13: warning: useless precedence and associativity for ')' [-Wprecedence]]],
-[[input.y: warning: 65 shift/reduce conflicts [-Wconflicts-sr]
+[[input.y:66.10: warning: empty rule without %empty [-Wempty-rule]
+input.y:169.8: warning: empty rule without %empty [-Wempty-rule]
+input.y:174.12: warning: empty rule without %empty [-Wempty-rule]
+input.y:179.13: warning: empty rule without %empty [-Wempty-rule]
+input.y:187.15: warning: empty rule without %empty [-Wempty-rule]
+input.y:201.8: warning: empty rule without %empty [-Wempty-rule]
+input.y:206.21: warning: empty rule without %empty [-Wempty-rule]
+input.y:220.20: warning: empty rule without %empty [-Wempty-rule]
+input.y:299.13: warning: empty rule without %empty [-Wempty-rule]
+input.y:322.9: warning: empty rule without %empty [-Wempty-rule]
+input.y: warning: 65 shift/reduce conflicts [-Wconflicts-sr]
input.y:19.8-16: warning: useless associativity for FUNC_CALL, use %precedence [-Wprecedence]
input.y:21.8-14: warning: useless associativity for YNUMBER, use %precedence [-Wprecedence]
input.y:21.16-22: warning: useless associativity for YSTRING, use %precedence [-Wprecedence]
@@ -1404,7 +1424,29 @@ dnl INPUT
dnl BISON-STDERR
[AT_COND_CASE([[canonical LR]],
-[[input.y: warning: 1876 shift/reduce conflicts [-Wconflicts-sr]
+[[input.y:128.12: warning: empty rule without %empty [-Wempty-rule]
+input.y:137.10: warning: empty rule without %empty [-Wempty-rule]
+input.y:142.8: warning: empty rule without %empty [-Wempty-rule]
+input.y:161.15: warning: empty rule without %empty [-Wempty-rule]
+input.y:179.17: warning: empty rule without %empty [-Wempty-rule]
+input.y:205.16: warning: empty rule without %empty [-Wempty-rule]
+input.y:213.9: warning: empty rule without %empty [-Wempty-rule]
+input.y:225.6: warning: empty rule without %empty [-Wempty-rule]
+input.y:292.18: warning: empty rule without %empty [-Wempty-rule]
+input.y:294.19: warning: empty rule without %empty [-Wempty-rule]
+input.y:367.16: warning: empty rule without %empty [-Wempty-rule]
+input.y:373.11: warning: empty rule without %empty [-Wempty-rule]
+input.y:387.15: warning: empty rule without %empty [-Wempty-rule]
+input.y:401.18: warning: empty rule without %empty [-Wempty-rule]
+input.y:413.15: warning: empty rule without %empty [-Wempty-rule]
+input.y:443.15: warning: empty rule without %empty [-Wempty-rule]
+input.y:471.15: warning: empty rule without %empty [-Wempty-rule]
+input.y:474.15: warning: empty rule without %empty [-Wempty-rule]
+input.y:489.15: warning: empty rule without %empty [-Wempty-rule]
+input.y:506.14: warning: empty rule without %empty [-Wempty-rule]
+input.y:587.9: warning: empty rule without %empty [-Wempty-rule]
+input.y:591.14: warning: empty rule without %empty [-Wempty-rule]
+input.y: warning: 1876 shift/reduce conflicts [-Wconflicts-sr]
input.y: warning: 144 reduce/reduce conflicts [-Wconflicts-rr]
input.y:32.9-12: warning: useless associativity for HQUA, use %precedence [-Wprecedence]
input.y:53.8-14: warning: useless associativity for HASSIGN, use %precedence [-Wprecedence]
@@ -1412,7 +1454,29 @@ input.y:54.9-15: warning: useless associativity for HORELSE, use %precedence [-W
input.y:55.9-16: warning: useless associativity for HANDTHEN, use %precedence [-Wprecedence]
input.y:61.9-12: warning: useless associativity for HNOT, use %precedence [-Wprecedence]
input.y:68.7-11: warning: useless associativity for UNEAR, use %precedence [-Wprecedence]]],
-[[input.y: warning: 78 shift/reduce conflicts [-Wconflicts-sr]
+[[input.y:128.12: warning: empty rule without %empty [-Wempty-rule]
+input.y:137.10: warning: empty rule without %empty [-Wempty-rule]
+input.y:142.8: warning: empty rule without %empty [-Wempty-rule]
+input.y:161.15: warning: empty rule without %empty [-Wempty-rule]
+input.y:179.17: warning: empty rule without %empty [-Wempty-rule]
+input.y:205.16: warning: empty rule without %empty [-Wempty-rule]
+input.y:213.9: warning: empty rule without %empty [-Wempty-rule]
+input.y:225.6: warning: empty rule without %empty [-Wempty-rule]
+input.y:292.18: warning: empty rule without %empty [-Wempty-rule]
+input.y:294.19: warning: empty rule without %empty [-Wempty-rule]
+input.y:367.16: warning: empty rule without %empty [-Wempty-rule]
+input.y:373.11: warning: empty rule without %empty [-Wempty-rule]
+input.y:387.15: warning: empty rule without %empty [-Wempty-rule]
+input.y:401.18: warning: empty rule without %empty [-Wempty-rule]
+input.y:413.15: warning: empty rule without %empty [-Wempty-rule]
+input.y:443.15: warning: empty rule without %empty [-Wempty-rule]
+input.y:471.15: warning: empty rule without %empty [-Wempty-rule]
+input.y:474.15: warning: empty rule without %empty [-Wempty-rule]
+input.y:489.15: warning: empty rule without %empty [-Wempty-rule]
+input.y:506.14: warning: empty rule without %empty [-Wempty-rule]
+input.y:587.9: warning: empty rule without %empty [-Wempty-rule]
+input.y:591.14: warning: empty rule without %empty [-Wempty-rule]
+input.y: warning: 78 shift/reduce conflicts [-Wconflicts-sr]
input.y: warning: 10 reduce/reduce conflicts [-Wconflicts-rr]
input.y:32.9-12: warning: useless associativity for HQUA, use %precedence [-Wprecedence]
input.y:53.8-14: warning: useless associativity for HASSIGN, use %precedence [-Wprecedence]
@@ -2001,7 +2065,12 @@ dnl without being followed by "of".)
[[VARIABLE, '=', LABEL, LEFT, DOT_X]],
dnl BISON-STDERR
-[[input.y:471.11-48: warning: rule useless in parser due to conflicts [-Wother]
+[[input.y:202.19: warning: empty rule without %empty [-Wempty-rule]
+input.y:270.6: warning: empty rule without %empty [-Wempty-rule]
+input.y:292.12: warning: empty rule without %empty [-Wempty-rule]
+input.y:309.17: warning: empty rule without %empty [-Wempty-rule]
+input.y:382.13: warning: empty rule without %empty [-Wempty-rule]
+input.y:471.11-48: warning: rule useless in parser due to conflicts [-Wother]
input.y:19.8-12: warning: useless associativity for LABEL, use %precedence [-Wprecedence]
input.y:20.8-15: warning: useless associativity for VARIABLE, use %precedence [-Wprecedence]
input.y:21.8-13: warning: useless associativity for NUMBER, use %precedence [-Wprecedence]