Yacc-like behavior (e.g., always generate y.tab.c), but to report
incompatibilities as warnings: "-y -Wno-error=yacc".
-*** Warning categories are now displayed and prefix changes
+*** The display of warnings is now richer
- For instance:
+ The option that controls a given warning is now displayed:
- foo.y:4.6: warning: type clash on default action: <foo> != <bar> [-Wother]
+ foo.y:4.6: warning: type clash on default action: <foo> != <bar> [-Wother]
- In the case of warnings treated as errors, the suffix is displayed, in a
- manner similar to gcc, as [-Werror=CATEGORY]. Also, the prefix is changed
- from "warning: " to "error: ".
+ In the case of warnings treated as errors, the prefix is changed from
+ "warning: " to "error: ", and the suffix is displayed, in a manner similar
+ to gcc, as [-Werror=CATEGORY].
- For instance, considering the above change, an output for -Werror=other
- would have been:
+ For instance, where the previous version of Bison would report (and exit
+ with failure):
bison: warnings being treated as errors
- input.y:1.1: warning: stray ',' treated as white space [-Wother]
+ input.y:1.1: warning: stray ',' treated as white space
- But it is actually:
+ it now reports:
- bison: warnings being treated as errors
input.y:1.1: error: stray ',' treated as white space [-Werror=other]
*** Deprecated constructs
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
+ All the generated headers are self-contained.
+
+** Changes in the format of error messages
This used to be the format of many error reports:
foo.y:5.10-25: result type clash on merge function 'merge': <t3> != <t2>
foo.y:4.13-27: previous declaration
+** Header guards (yacc.c, glr.c, glr.cc)
+
+ In order to avoid collisions, the header guards are now
+ YY_<PREFIX>_<FILE>_INCLUDED, instead of merely <PREFIX>_<FILE>.
+ For instance the header generated from
+
+ %define api.prefix "calc"
+ %defines "lib/parse.h"
+
+ will use YY_CALC_LIB_PARSE_H_INCLUDED as guard.
+
* Noteworthy changes in release 2.6.2 (2012-08-03) [stable]
** Bug fixes
LocalWords: Automake TMPDIR LESSEQ ylwrap endif yydebug YYTOKEN YYLSP ival hh
LocalWords: extern YYTOKENTYPE TOKENTYPE yytokentype tokentype STYPE lval pdf
LocalWords: lang yyoutput dvi html ps POSIX lvalp llocp Wother nterm arg init
- LocalWords: TOK
+ LocalWords: TOK calc yyo fval
Local Variables:
mode: outline