]> git.saurik.com Git - bison.git/blobdiff - tests/conflicts.at
(_AT_CHECK_PRINTER_AND_DESTRUCTOR):
[bison.git] / tests / conflicts.at
index dbc9be58d529cd853e5db30849cb917443c103d0..ec9847aaf583636f5fe4d1a3fefb2289a9c05dec 100644 (file)
@@ -38,7 +38,7 @@ e: 'e' | /* Nothing. */;
 ]])
 
 AT_CHECK([bison -o input.c input.y], 0, [],
 ]])
 
 AT_CHECK([bison -o input.c input.y], 0, [],
-[[input.y:4.8: warning: rule never reduced because of conflicts: e: /* empty */
+[[input.y:4.9: warning: rule never reduced because of conflicts: e: /* empty */
 ]])
 
 AT_CLEANUP
 ]])
 
 AT_CLEANUP
@@ -108,16 +108,16 @@ AT_PARSER_CHECK([./input '0<0'])
 # no one has ever spotted it!  The messages are *wrong*: there should
 # be nothing there, it should be expected eof.
 AT_PARSER_CHECK([./input '0<0<0'], [1], [],
 # no one has ever spotted it!  The messages are *wrong*: there should
 # be nothing there, it should be expected eof.
 AT_PARSER_CHECK([./input '0<0<0'], [1], [],
-         [parse error, unexpected '<', expecting '<' or '>'
+         [syntax error, unexpected '<', expecting '<' or '>'
 ])
 
 AT_PARSER_CHECK([./input '0>0'])
 AT_PARSER_CHECK([./input '0>0>0'], [1], [],
 ])
 
 AT_PARSER_CHECK([./input '0>0'])
 AT_PARSER_CHECK([./input '0>0>0'], [1], [],
-         [parse error, unexpected '>', expecting '<' or '>'
+         [syntax error, unexpected '>', expecting '<' or '>'
 ])
 
 AT_PARSER_CHECK([./input '0<0>0'], [1], [],
 ])
 
 AT_PARSER_CHECK([./input '0<0>0'], [1], [],
-         [parse error, unexpected '>', expecting '<' or '>'
+         [syntax error, unexpected '>', expecting '<' or '>'
 ])
 
 AT_CLEANUP
 ])
 
 AT_CLEANUP
@@ -370,7 +370,7 @@ id : '0';
 
 AT_CHECK([bison -o input.c --report=all input.y], 0, [],
 [[input.y: warning: 1 reduce/reduce conflict
 
 AT_CHECK([bison -o input.c --report=all input.y], 0, [],
 [[input.y: warning: 1 reduce/reduce conflict
-input.y:4.4-8: warning: rule never reduced because of conflicts: id: '0'
+input.y:4.6-8: warning: rule never reduced because of conflicts: id: '0'
 ]])
 
 # Check the contents of the report.
 ]])
 
 # Check the contents of the report.
@@ -527,3 +527,23 @@ AT_CHECK([bison -o input.c input.y], 1, [],
 input.y: expected 2 shift/reduce conflicts
 ])
 AT_CLEANUP
 input.y: expected 2 shift/reduce conflicts
 ])
 AT_CLEANUP
+
+
+## ------------------------------ ##
+## %expect with reduce conflicts  ##
+## ------------------------------ ##
+
+AT_SETUP([%expect with reduce conflicts])
+
+AT_DATA([input.y],
+[[%expect 0
+%%
+program: a 'a' | a a;
+a: 'a';
+]])
+
+AT_CHECK([bison -o input.c input.y], 1, [],
+[input.y: warning: 1 reduce/reduce conflict
+input.y: expected 0 reduce/reduce conflicts
+])
+AT_CLEANUP