Merge branch '2.6.3' into maint
authorAkim Demaille <akim@lrde.epita.fr>
Mon, 22 Oct 2012 14:04:12 +0000 (16:04 +0200)
committerAkim Demaille <akim@lrde.epita.fr>
Mon, 22 Oct 2012 14:04:12 +0000 (16:04 +0200)
* 2.6.3: (22 commits)
  maint: post-release administrivia
  version 2.6.3
  gnulib: update
  tests: check %no-lines
  NEWS: warnings with clang
  warnings: avoid warnings from clang
  tests: no longer disable -O compiler options
  yacc.c: initialize yylval in pure-parser mode
  skeletons: style changes
  tests: minor improvements
  tests: use $PERL instead of perl
  build: look for Perl in configure.
  tests: fix sed portability issues
  tests: diff -u is not portable
  maint: word changes
  lalr1.cc: fix test suite portability
  maint: fix an erroneous include
  tests: check that headers are self contained
  doc: add missing documentation for --report
  headers: move CPP guards into YY_*_INCLUDED to avoid collisions
  ...

Conflicts:
NEWS
doc/bison.texi
tests/headers.at

1  2 
NEWS
doc/bison.texi

diff --cc NEWS
--- 1/NEWS
--- 2/NEWS
+++ b/NEWS
@@@ -2,97 -2,51 +2,99 @@@ GNU Bison NEW
  
  * Noteworthy changes in release ?.? (????-??-??) [?]
  
- ** Bug fixes
-   Bugs and portability issues in the test suite have been fixed.
-   Some errors in translations have been addressed, and --help now directs
-   users to the appropriate place to report them.
-   Stray Info files shipped by accident are removed.
-   Incorrect definitions of YY_, issued by yacc.c when no parser header is
-   generated, are removed.
-   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-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
 +
- ** 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.
 +** Exception safety (lalr1.cc)
 +
 +  The parse function now catches exceptions, uses the %destructors to
 +  release memory (the lookahead symbol and the symbols pushed on the stack)
 +  before re-throwing the exception.
 +
 +  This feature is somewhat experimental.  User feedback would be
 +  appreciated.
 +
- ** Fix compiler warnings in the generated parser (yacc.c, glr.c)
-   The compilation of pure parsers (%define api.pure) can trigger GCC
-   warnings such as:
-     input.c: In function 'yyparse':
-     input.c:1503:12: warning: 'yylval' may be used uninitialized in this
-                               function [-Wmaybe-uninitialized]
-        *++yyvsp = yylval;
-                 ^
-   This is now fixed; pragmas to avoid these warnings are no longer needed.
-   Warnings from clang ("equality comparison with extraneous parentheses" and
-   "function declared 'noreturn' should not return") have also been
-   addressed.
 +** New %define variable: api.location.type (glr.cc, lalr1.cc, lalr1.java)
 +
 +  The %define variable api.location.type defines the name of the type to use
 +  for locations.  When defined, Bison no longer generates the position.hh
 +  and location.hh files, nor does the parser will include them: the user is
 +  then responsible to define her type.
 +
 +  This can be used in programs with several parsers to factor their location
 +  and position files: let one of them generate them, and the others just use
 +  them.
 +
 +  This feature was actually introduced, but not documented, in Bison 2.5,
 +  under the name "location_type" (which is maintained for backward
 +  compatibility).
 +
 +  For consistency, lalr1.java's %define variables location_type and
 +  position_type are deprecated in favor of api.location.type and
 +  api.position.type.
 +
 +** Graphviz improvements
 +
 +  The graphical presentation of the states is more readable: their shape is
 +  now rectangular, the state number is clearly displayed, and the items are
 +  numbered and left-justified.
 +
 +  The reductions are now explicitly represented as transitions to other
 +  diamond shaped nodes.
  
+ * Noteworthy changes in release 2.6.3 (2012-10-22) [stable]
+ ** Bug fixes
+   Bugs and portability issues in the test suite have been fixed.
+   Some errors in translations have been addressed, and --help now directs
+   users to the appropriate place to report them.
+   Stray Info files shipped by accident are removed.
+   Incorrect definitions of YY_, issued by yacc.c when no parser header is
+   generated, are removed.
+   All the generated headers are self-contained.
+ ** 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.
+ ** Fix compiler warnings in the generated parser (yacc.c, glr.c)
+   The compilation of pure parsers (%define api.pure) can trigger GCC
+   warnings such as:
+     input.c: In function 'yyparse':
+     input.c:1503:12: warning: 'yylval' may be used uninitialized in this
+                               function [-Wmaybe-uninitialized]
+        *++yyvsp = yylval;
+                 ^
+   This is now fixed; pragmas to avoid these warnings are no longer needed.
+   Warnings from clang ("equality comparison with extraneous parentheses" and
+   "function declared 'noreturn' should not return") have also been
+   addressed.
  * Noteworthy changes in release 2.6.2 (2012-08-03) [stable]
  
  ** Bug fixes
diff --cc doc/bison.texi
@@@ -11993,7 -11792,7 +11993,8 @@@ London, Department of Computer Science
  @c LocalWords: getLVal defvar deftypefn deftypefnx gotos msgfmt Corbett LALR's
  @c LocalWords: subdirectory Solaris nonassociativity perror schemas Malloy ints
  @c LocalWords: Scannerless ispell american ChangeLog smallexample CSTYPE CLTYPE
 -@c LocalWords: clval CDEBUG cdebug deftypeopx yyterminate
 +@c LocalWords: clval CDEBUG cdebug deftypeopx yyterminate LocationType
++@c LocalWords: errorVerbose
  
  @c Local Variables:
  @c ispell-dictionary: "american"