foo.y: warning: 1 shift/reduce conflict [-Wconflicts-sr]
foo.y: warning: 2 reduce/reduce conflicts [-Wconflicts-rr]
$ bison -Werror foo.y
- bison: warnings being treated as errors
- foo.y: warning: 1 shift/reduce conflict [-Wconflicts-sr]
- foo.y: warning: 2 reduce/reduce conflicts [-Wconflicts-rr]
+ foo.y: error: 1 shift/reduce conflict [-Werror=conflicts-sr]
+ foo.y: error: 2 reduce/reduce conflicts [-Werror=conflicts-rr]
When %expect or %expect-rr is used, such as with bar.y:
New one:
$ bison bar.y
- bar.y: shift/reduce conflicts: 1 found, 0 expected
- bar.y: reduce/reduce conflicts: 2 found, 0 expected
+ bar.y: error: shift/reduce conflicts: 1 found, 0 expected
+ bar.y: error: reduce/reduce conflicts: 2 found, 0 expected
** Additional yylex/yyparse arguments
Incorrect definitions of YY_, issued by yacc.c when no parser header is
generated, are removed.
+** Changes in the format of errors and exceptions output
+
+ This used to be the format of many error reports:
+
+ foo.y:5.10-24: result type clash on merge function 'merge': <t3> != <t2>
+ foo.y:4.13-27: previous declaration
+
+ It is now:
+
+ foo.y:5.10-25: result type clash on merge function 'merge': <t3> != <t2>
+ foo.y:4.13-27: previous declaration
+
* Noteworthy changes in release 2.6.2 (2012-08-03) [stable]
** Bug fixes