X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/827bc59ca118956fe84309e2ea3db6bfaabf374c..8bf276d8207dd31432305002f3a9e81c80ca62af:/NEWS diff --git a/NEWS b/NEWS index 490e89ed..2aed3f2a 100644 --- a/NEWS +++ b/NEWS @@ -4,19 +4,49 @@ GNU Bison NEWS ** Bug fixes -*** Named %union support +*** Location of errors + + In C++ parsers, out-of-bounds errors can happen when a rule with an empty + ride-hand side raises a syntax error. The behavior of the default parser + (yacc.c) in such a condition was undefined. + + Now all the parsers match the behavior of glr.c: @$ is used as the + location of the error. This handles gracefully rules with and without + rhs. + +* Noteworthy changes in release 3.0.4 (2015-01-23) [stable] + +** Bug fixes + +*** C++ with Variants (lalr1.cc) + + Fix a compiler warning when no %destructor use $$. + +*** Test suites + + Several portability issues in tests were fixed. + +* Noteworthy changes in release 3.0.3 (2015-01-15) [stable] + +** Bug fixes + +*** C++ with Variants (lalr1.cc) + + Problems with %destructor and '%define parse.assert' have been fixed. + +*** Named %union support (yacc.c, glr.c) Bison 3.0 introduced a regression on named %union such as %union foo { int ival; }; - The possibility to use a name was introduced ``for Yacc compatibility''. + The possibility to use a name was introduced "for Yacc compatibility". It is however not required by POSIX Yacc, and its usefulness is not clear. -*** %define api.value.type union with %defines +*** %define api.value.type union with %defines (yacc.c, glr.c) - The yacc.c and glr.c parsers were broken when %defines was used - together with "%define api.value.type union". + The C parsers were broken when %defines was used together with "%define + api.value.type union". *** Redeclarations are reported in proper order