X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/7a9c3cb3a76591b63a112987130c04fbfac211b8..678094a2f5f7cdad1b909c4265987c5301ee9540:/NEWS?ds=inline diff --git a/NEWS b/NEWS index b2a94440..ee80d567 100644 --- a/NEWS +++ b/NEWS @@ -130,12 +130,6 @@ Bison News discussion of how to suppress C preprocessor warnings about YYFAIL being unused, see the Bison 2.4.2 NEWS entry. -** `%prec IDENTIFIER' requires IDENTIFIER to be defined separately. - - As promised in Bison 2.4.2's NEWS entry, it is now an error if a token - that appears after a %prec directive is not defined by %token, %left, - %right, or %nonassoc. This is required by POSIX. - ** Temporary hack for adding a semicolon to the user action. Previously, Bison appended a semicolon to every user action for @@ -186,11 +180,68 @@ Bison News determine which destructor to call for the lookahead upon a syntax error or upon parser return. This bug has been fixed. -* Changes in version 2.4.3 (????-??-??): +** C++ parsers use YYRHSLOC + + Similarly to the C parsers, the C++ parsers now define the YYRHSLOC + macro and use it in the default YYLLOC_DEFAULT. You are encouraged + to use it. If, for instance, your location structure has "first" + and "last" members, instead of + + # define YYLLOC_DEFAULT(Current, Rhs, N) \ + do \ + if (N) \ + { \ + (Current).first = (Rhs)[1].location.first; \ + (Current).last = (Rhs)[N].location.last; \ + } \ + else \ + { \ + (Current).first = (Current).last = (Rhs)[0].location.last; \ + } \ + while (false) + + use: + + # define YYLLOC_DEFAULT(Current, Rhs, N) \ + do \ + if (N) \ + { \ + (Current).first = YYRHSLOC (Rhs, 1).first; \ + (Current).last = YYRHSLOC (Rhs, N).last; \ + } \ + else \ + { \ + (Current).first = (Current).last = YYRHSLOC (Rhs, 0).last; \ + } \ + while (false) + +** YYLLOC_DEFAULT in C++ + + The default implementation of YYLLOC_DEFAULT used to be issued in + the header file. It is now output in the implementation file, after + the user %code sections so that its #ifndef guard does not try to + override the user's YYLLOC_DEFAULT if provided. + +* Changes in version 2.4.3 (2010-08-05): + +** Bison now obeys -Werror and --warnings=error for warnings about + grammar rules that are useless in the parser due to conflicts. ** Problems with spawning M4 on at least FreeBSD 8 and FreeBSD 9 have been fixed. +** Failures in the test suite for GCC 4.5 have been fixed. + +** Failures in the test suite for some versions of Sun Studio C++ have + been fixed. + +** Contrary to Bison 2.4.2's NEWS entry, it has been decided that + warnings about undefined %prec identifiers will not be converted to + errors in Bison 2.5. They will remain warnings, which should be + sufficient for POSIX while avoiding backward compatibility issues. + +** Minor documentation fixes. + * Changes in version 2.4.2 (2010-03-20): ** Some portability problems that resulted in failures and livelocks @@ -208,6 +259,8 @@ Bison News %prec directive. It is now restored. However, for backward compatibility with recent Bison releases, it is only a warning for now. In Bison 2.5 and later, it will return to being an error. + [Between the 2.4.2 and 2.4.3 releases, it was decided that this + warning will not be converted to an error in Bison 2.5.] ** Detection of GNU M4 1.4.6 or newer during configure is improved. @@ -1330,7 +1383,9 @@ End: ----- -Copyright (C) 1995-2010 Free Software Foundation, Inc. +Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, +2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, +Inc. This file is part of Bison, the GNU Parser Generator.