X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/9503b0a4a8928afa0fdab88672f6127ee7e87963..2b45240d6c1b9177533aa5d83ac1c879198111c5:/NEWS diff --git a/NEWS b/NEWS index 7e5bda2d..fd1cadd4 100644 --- a/NEWS +++ b/NEWS @@ -13,18 +13,58 @@ GNU Bison NEWS ** Warnings +*** Enhancements of the -Werror option + + The -Werror=CATEGORY option is now recognized, and will treat specified + warnings as errors. The warnings need not have been explictly activated + using the -W option, this is similar to what gcc 4.7 does. + + For example, given the following command line, Bison will treat both + warnings related to POSIX Yacc incompatiblities and S/R conflicts as + errors (and only those): + + $ bison -Werror=yacc,error=conflicts-sr input.y + + If no categories are specified, -Werror will make all active warnings into + errors. For example, the following line does the same the previous example: + + $ bison -Werror -Wnone -Wyacc -Wconflicts-sr input.y + + (By default -Wconflicts-sr,conflicts-rr,deprecated,other is enabled.) + + Note that the categories in this -Werror option may not be prefixed with + "no-". However, -Wno-error[=CATEGORY] is valid. + + Note that -y enables -Werror=yacc. Therefore it is now possible to require + Yacc-like behavior (e.g., always generate y.tab.c), but to report + incompatibilities as warnings: "-y -Wno-error=yacc". + +*** The display of warnings is now richer + + The option that controls a given warning is now displayed: + + foo.y:4.6: warning: type clash on default action: != [-Wother] + + 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, 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 + + it now reports: + + input.y:1.1: error: stray ',' treated as white space [-Werror=other] + *** Deprecated constructs The new 'deprecated' warning category flags obsolete constructs whose support will be discontinued. It is enabled by default. These warnings used to be reported as 'other' warnings. -*** Warning categories are now displayed - - For instance: - - foo.y:4.6: warning: type clash on default action: != [-Wother] - *** Useless semantic types Bison now warns about useless (uninhabited) semantic types. Since @@ -210,7 +250,9 @@ GNU Bison NEWS 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: @@ -222,6 +264,17 @@ GNU Bison NEWS foo.y:5.10-25: result type clash on merge function 'merge': != 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___INCLUDED, instead of merely _. + 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 @@ -2080,7 +2133,7 @@ along with this program. If not, see . 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