]> git.saurik.com Git - bison.git/blobdiff - tests/regression.at
-Wempty-rule: diagnose empty rules without %empty
[bison.git] / tests / regression.at
index 26df108f084c4a4170f5ada0781236eb2246a406..debe932d6cc9484603664a71b474708508977cb7 100644 (file)
@@ -373,11 +373,14 @@ AT_DATA([input.y],
 %token  <operator>  LE 134  "<="
 %left  OR  "<="
 %%
-exp: ;
+exp: %empty;
 %%
 ]])
 
-AT_BISON_CHECK([-v -o input.c input.y])
+AT_BISON_CHECK([-v -Wall -o input.c input.y], 0, [],
+[[input.y:1.29-32: warning: useless precedence and associativity for "||" [-Wprecedence]
+input.y:2.29-32: warning: useless precedence and associativity for "<=" [-Wprecedence]
+]])
 
 AT_CLEANUP
 
@@ -718,7 +721,7 @@ AT_KEYWORDS([report])
 AT_DATA([input.y],
 [[%%
 statement:  struct_stat;
-struct_stat:  /* empty. */ | if else;
+struct_stat:  %empty | if else;
 if: "if" "const" "then" statement;
 else: "else" statement;
 %%
@@ -837,7 +840,6 @@ m4_define([_AT_DATA_DANCER_Y],
 }
 $1
 %token ARROW INVALID NUMBER STRING DATA
-%defines
 %verbose
 %error-verbose
 /* Grammar follows */
@@ -867,7 +869,7 @@ type: DATA
    | INVALID
    ;
 
-body: /* empty */
+body: %empty
    | body member
    ;
 
@@ -922,13 +924,12 @@ AT_LALR1_CC_IF([[#include <cstdlib>]],
 ]AT_YYERROR_DECLARE])[
 %}
 $1
-%defines
 %error-verbose
 %token A 1000
 %token B
 
 %%
-program: /* empty */
+program: %empty
  | program e ';'
  | program error ';';
 
@@ -1146,9 +1147,10 @@ sr_conflict:
 ]])
 AT_BISON_OPTION_POPDEFS
 
-AT_BISON_CHECK([[-o input.c input.y]], [[0]],,
-[[input.y:24.5-19: warning: rule useless in parser due to conflicts: start: start [-Wother]
-input.y:28.5-19: warning: rule useless in parser due to conflicts: sr_conflict: TK2 "tok alias" [-Wother]
+AT_BISON_CHECK([[-Wall -o input.c input.y]], [[0]],,
+[[input.y:24.5-19: warning: rule useless in parser due to conflicts [-Wother]
+input.y:28.5-19: warning: rule useless in parser due to conflicts [-Wother]
+input.y:18.7-9: warning: useless precedence and associativity for TK1 [-Wprecedence]
 ]])
 AT_COMPILE([[input]])
 AT_PARSER_CHECK([[./input]])
@@ -1541,14 +1543,13 @@ m4_pushdef([AT_TEST],
 AT_BISON_OPTION_PUSHDEFS([%locations %skeleton "$1" %parse-param { int x } %parse-param { int y }])
 
 AT_DATA_GRAMMAR([input.y],
-[[%defines
-%locations
+[[%locations
 %skeleton "$1"
 %union { int ival; }
 %parse-param { int x }
 // Spaces, tabs, and new lines.
 %parse-param { @&t@
-        int y   @&t@
+@tb@ int y@tb@ @&t@
          @&t@
  @&t@
 }
@@ -1576,7 +1577,7 @@ yyparse (int x, int y)
 int
 main (void)
 {
-  return !!yyparse(1, 2);
+  return yyparse(1, 2);
 }
 ]])