2012-12-12  Akim Demaille  <akim@lrde.epita.fr>

	version 2.7
	* NEWS: Record release date.

2012-12-12  Akim Demaille  <akim@lrde.epita.fr>

	yacc.c: scope reduction
	* data/yacc.c (yysyntax_error): here.

2012-12-12  Akim Demaille  <akim@lrde.epita.fr>

	tests: C90 compliance
	* tests/synclines.at: here.

2012-12-12  Akim Demaille  <akim@lrde.epita.fr>

	fix C90 compliance
	* data/glr.c, src/graphviz.h, src/ielr.c, src/scan-gram.l,
	* src/system.h, tests/actions.at, tests/glr-regression.at: Do not
	use // comments.
	Do not introduce variables after statements.
	Provide "main" with a return value.

2012-12-12  Akim Demaille  <akim@lrde.epita.fr>

	glr.c: scope reduction
	* data/glr.c (yyreportSyntaxError): Reduce the scope of yysize1 (now
	yysz).

2012-12-12  Akim Demaille  <akim@lrde.epita.fr>

	gnulib: update

2012-12-09  Akim Demaille  <akim@lrde.epita.fr>

	news: prepare for forthcoming release
	* NEWS: Fill paragraph.
	Reorder.
	Update examples.
	Remove line for 2.6.90.

2012-12-09  Akim Demaille  <akim@lrde.epita.fr>

	doc: explain how mid-rule actions are translated
	* doc/bison.texi (Actions in Mid-Rule): Mention and use named references.
	Split into three subsections, among which...
	(Mid-Rule Action Translation): this new section.

2012-12-09  Akim Demaille  <akim@lrde.epita.fr>

	error: use better locations for unused midrule values
	On

	  %%
	  exp: {;} {$$;} { $$ = $1; }

	instead of reporting (with -fcaret -Wmidrule-value)

	  midrule.y:2.6-8: warning: unset value: $$ [-Wmidrule-values]
	   exp: {;} {$$;} { $$ = $1; }
	        ^^^
	  midrule.y:2.6-27: warning: unused value: $2 [-Wmidrule-values]
	   exp: {;} {$$;} { $$ = $1; }
	        ^^^^^^^^^^^^^^^^^^^^^^

	report

	  midrule.y:2.6-8: warning: unset value: $$
	   exp: {;} {$$;} { $$ = $1; }
	        ^^^
	  midrule.y:2.10-14: warning: unused value: $2
	   exp: {;} {$$;} { $$ = $1; }
	            ^^^^^

	* src/reader.c (grammar_rule_check): When warning about the value of a
	midrule action, use the location of the midrule action instead of the
	location of the rule.
	the location of the part of the rule.
	* tests/actions.at (Default %printer and %destructor for mid-rule values):
	Adjust expectations
	* tests/input.at (Unused values with default %destructor): Ditto.
	(AT_CHECK_UNUSED_VALUES): Ditto.
	And use -fcaret.

2012-12-09  Akim Demaille  <akim@lrde.epita.fr>

	doc: various minor improvements and fixes
	* doc/figs/example.dot, doc/figs/example.y: New.
	* doc/bison.texi: Prefer "token" to TOKEN.
	Use @group where appropriate.
	Adjust with style changes in the output (State 0, not state 0).
	Fix some @ref that were missing the third argument.
	Fix some incorrect line numbers.
	Use "nonterminal", not "non-terminal".
	Fix overfull and underfull TeX hboxes.
	Put the comments in the index.
	Remove duplicate index entries.
	Fuse glossary entries where appropriate.
	(Understanding): Improve the continuity between sections.
	Use example.dot to show the whole graph.
	* doc/Makefile.am: Adjust.

2012-12-09  Akim Demaille  <akim@lrde.epita.fr>

	tests: ignore more useless compiler warnings
	* tests/synclines.at (AT_SYNCLINES_COMPILE): Ignore complains about
	using c++ to compile C.

2012-12-09  Akim Demaille  <akim@lrde.epita.fr>

	tests: be robust to C being compiled with a C++11 compiler
	* tests/glr-regression.at: Use YY_NULL instead of NULL.
	Comment changes.

2012-12-09  Akim Demaille  <akim@lrde.epita.fr>

	build: beware of Clang++ not supporting POSIXLY_CORRECT
	* m4/c-working.m4 (BISON_LANG_COMPILER_POSIXLY_CORRECT): New.
	(BISON_C_COMPILER_POSIXLY_CORRECT): Use it.
	For consistency with C++, also define BISON_C_WORKS.
	* m4/cxx.m4 (BISON_CXX_COMPILER_POSIXLY_CORRECT): New.
	* configure.ac: Use it.
	* tests/atlocal.in: Get its result.
	Propagate properly CXX values when used to compile C.
	When POSIXLY_CORRECT, adjust BISON_C_WORKS and BISON_CXX_WORKS.
	* tests/local.at (AT_COMPILE): Use BISON_C_WORKS.

2012-12-07  Akim Demaille  <akim@lrde.epita.fr>

	maint: post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

2012-12-07  Akim Demaille  <akim@lrde.epita.fr>

	version 2.6.90
	* NEWS: Record release date.

2012-12-07  Akim Demaille  <akim@lrde.epita.fr>

	build: fix syntax-check error.
	* cfg.mk: Exclude names-refs, it includes a "double" if (end of first
	line, first of second line below).

	test.y:43.12-44.59:  symbol not found in production: if
	 if-stmt-a: IF expr[cond] THEN stmt.list[then] ELSE stmt.list[else] FI
	            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

2012-12-07  Theophile Ranquet  <ranquet@lrde.epita.fr>

	cpp: simplify the Flex version checking macro
	* src/flex-scanner,h (FLEX_VERSION): Consider YY_FLEX_SUBMINOR_VERSION
	defined.

2012-12-07  Theophile Ranquet  <ranquet@lrde.epita.fr>

	news: improve the carets example and fix a typo
	* NEWS: Here.

2012-12-07  Theophile Ranquet  <ranquet@lrde.epita.fr>

	cpp: improve the Flex version checking macro
	* src/flex-scanner.h (FLEX_VERSION): Here.

2012-12-07  Theophile Ranquet  <ranquet@lrde.epita.fr>

	carets: improve the code
	* src/location.c: Remove duplicate documentations.
	(caret_info): Stylistic change.
	(location_caret): Many reworks.

2012-12-07  Akim Demaille  <akim@lrde.epita.fr>

	maint: update news
	* NEWS: There is no 2.6.6, remove its stub.

2012-12-07  Akim Demaille  <akim@lrde.epita.fr>

	build: keep -Wmissing-declarations and -Wmissing-prototypes for modern GCCs
	Fixes a -Werror failure of xalloc.h used in src.
	From Eric Blake.
	http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00006.html

	* configure.ac: Check whether GCC pragma diagnostic push/pop works.
	Enable these warnings for bison if it does.
	Enable these warnings for the test suite anyway.

2012-12-07  Akim Demaille  <akim@lrde.epita.fr>

	build: drop -Wcast-qual
	Suggested by Jim Meyering.
	http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00017.html
	* configure.ac (warn_common): Remove -Wcast-qual.

2012-12-07  Akim Demaille  <akim@lrde.epita.fr>

	gnulib: update

2012-12-06  Theophile Ranquet  <ranquet@lrde.epita.fr>

	misc: pacify the Tiny C Compiler
	* src/graphviz.c (conclude_red): Remove a useless return.

2012-12-05  Theophile Ranquet  <ranquet@lrde.epita.fr>

	cpp: make the check of Flex version portable
	This was problematic with tcc 0.9.25

	* src/flex-scanner.h (FLEX_VERSION_GT): Rewrite and rename as...
	(FLEX_VERSION): This.

2012-12-05  Theophile Ranquet  <ranquet@lrde.epita.fr>

	misc: require getline
	* bootstrap.conf: Here, used by src/location.c.
	* src/getargs.c (long_options): Rename --flags to --feature.

2012-12-05  Akim Demaille  <akim@lrde.epita.fr>

	c++: support wide strings for file names
	Reported by Mark Boyall.
	http://lists.gnu.org/archive/html/help-bison/2011-08/msg00002.html

	* data/location.cc (operator<<): Be templated on the type of
	output stream.
	* tests/headers.at (Several parsers): Adjust.

2012-12-05  Theophile Ranquet  <ranquet@lrde.epita.fr>

	doc: document carets
	* NEWS: Announce it.
	* doc/bison.texi (Bison Options):  Here.

2012-12-05  Theophile Ranquet  <ranquet@lrde.epita.fr>

	tests: enhance existing tests with carets
	* tests/actions.at: Unset value.
	* tests/conflicts.at: Rule useless due to conflicts.
	* tests/input.at: Missing terminator, unexpected end of file, command line
	redefinition of variable.
	* tests/named-refs.at: Many errors.
	* tests/reduce.at: Useless nonterminals and rules.
	* tests/regression.at: Large token.

2012-12-05  Theophile Ranquet  <ranquet@lrde.epita.fr>

	errors: show carets
	* src/locations.c (caret_info): New, persistant information useful
	for...
	(location_caret): New, print a caret.
	(cleanup_caret): Release caret_info cleanly, call it...
	* src/main.c (main): Here.
	* src/complain.c (error_message): Call location_caret here.

2012-12-05  Theophile Ranquet  <ranquet@lrde.epita.fr>

	getargs: add support for --feature/-f
	Introduce -fdiagnostics-show-caret

	* src/getargs.c (feature_flag): New global.
	* src/getargs.h (feature): New enum.

2012-12-04  Theophile Ranquet  <ranquet@lrde.epita.fr>

	getargs: don't label --language/-l as experimental
	* NEWS: Announce it.
	* doc/bison.texi, src/getargs.c (usage): Here.

2012-12-03  Theophile Ranquet  <ranquet@lrde.epita.fr>

	getargs: fix the locations of command-line input
	* src/getargs.c (command_line_location): Here.
	* tests/input.at: Adjust.

2012-12-03  Theophile Ranquet  <ranquet@lrde.epita.fr>

	errors: indent missing action code semicolon warning
	Also, remove a duplicate #define.

	* src/scan-code.l (SC_RULE_ACTION): Here.
	* tests/actions.at: Adjust.

2012-12-03  Akim Demaille  <akim@lrde.epita.fr>

	parser: accept #line NUM
	* src/scan-gram.l (scanner): Accept '#line NUM'.
	(handle_syncline): Adjust to the possible missing file name.

2012-12-03  Akim Demaille  <akim@lrde.epita.fr>

	m4: use a safer pattern to enable/disable output
	Work on some other areas of Bison revealed that some macros expanded
	to be expanded only once were actually expanded several times.  This
	was due to the fact that changecom was not properly restored each
	time, and macro names appearing in comments were then expanded.

	Introduce begin/end macros which are easier to match that
	changecom()/changecom(#).

	* data/bison.m4 (b4_output_begin, b4_output_end): New.
	* data/glr.c, data/glr.cc, data/lalr1.cc, data/lalr1.java,
	* data/location.cc, data/stack.hh, data/yacc.c:
	Use them.

2012-12-03  Akim Demaille  <akim@lrde.epita.fr>

	tests: beware of gnulib's need for config.h
	* tests/skeletons.at, tests/torture.at: Be sure to include config.h
	where appropriate.

2012-11-30  Akim Demaille  <akim@lrde.epita.fr>

	gnulib: update
	* lib/yyerror.c: Include config.h since the following stdio.h might be
	from gnulib.

2012-11-30  Akim Demaille  <akim@lrde.epita.fr>

	yacc.c, glr.c: check and fix the display of locations
	In some case, negative column number could be displayed.
	Make YY_LOCATION_PRINT similar to bison's own implementation of
	locations.  Since the macro is getting fat, make it a static
	function.
	Reported by Jonathan Fabrizio.

	* data/c.m4 (yy_location_print_define): Improve the implementation,
	and generate the yy_location_print_ function.
	Adjust YY_LOCATION_PRINT.
	* tests/actions.at (Location Print): New tests.

2012-11-30  Akim Demaille  <akim@lrde.epita.fr>

	formatting changes
	* data/c.m4: Fix comments, put macros in a more natural order.
	Space changes (from M-x whitespace-cleanup).
	* src/location.c: Fix spaces.
	* tests/actions.at: Space changes.

2012-11-30  Akim Demaille  <akim@lrde.epita.fr>

	glr.c: remove stray macro
	* data/glr.c (YYOPTIONAL_LOC): Remove, unused since commit
	769a8ef9bcb5e14d0be9d0869f5dca20ab093930.

2012-11-29  Akim Demaille  <akim@lrde.epita.fr>

	doc: minor fixes
	* doc/bison.texi: Use stderr for error messages.
	Meta-variables are usually spelled in lower case.
	Use @code for function names.

2012-11-29  Akim Demaille  <akim@lrde.epita.fr>

	doc: improve the index
	* doc/bison.texi: Fix uses of "deffn" so that the arguments of the
	directives do not show in the index.
	Remove a duplicate entry for api.pure.

2012-11-29  Theophile Ranquet  <ranquet@lrde.epita.fr>

	doc: introduce api.pure full, rearrange some examples
	* NEWS: Add entry.
	* doc/bison.texi (%define Summary): Show the old Yacc behaviour.
	(Parser Function): Move parse-param examples here.
	(Pure Calling): Remove parse-param examples.
	(Error Reporting): Don't show the old behavior, stick to 'full'.

2012-11-29  Theophile Ranquet  <ranquet@lrde.epita.fr>

	yacc.c: support "%define api.pure full"
	This makes the interface for yyerror() pure without the need for a spurious
	parse_param.

	* data/yacc.c (b4_pure_if, b4_pure_flag): New definition, accept three states.
	(b4_yacc_pure_if): Rename as...
	(b4_yyerror_arg_loc_if): This, and use b4_pure_flag.
	* tests/actions.at (%define api.pure): Modernize.
	* test/calc.at (Simple LALR Calculator): Modernize.
	* tests/local.at (AT_YYERROR_ARG_LOC_IF): Adjust.

2012-11-26  Theophile Ranquet  <ranquet@lrde.epita.fr>

	local.at: improvements
	* tests/local.at (AT_YYERROR_FORMALS): Make llocp const.
	(AT_PURE_AND_LOC_IF, AT_GLR_OR_PARAM_IF): Remove, expand...
	(AT_YYERROR_ARG_LOC_IF): Here, and use m4_join for readability.

2012-11-26  Akim Demaille  <akim@lrde.epita.fr>

	Merge remote-tracking branch 'origin/branch-2.6' into maint
	* origin/branch-2.6:
	  yacc.c: always initialize yylloc
	  doc: one of the fixes for an ambiguous grammar was ambiguous too
	  doc: fix the dangling else with precedence directives
	  doc: prefer "token" to TOKEN
	  doc: formatting changes

2012-11-23  Theophile Ranquet  <ranquet@lrde.epita.fr>

	yacc.c: always initialize yylloc
	The initial location might be used if the parser starts by an empty
	reduction, so really ensure proper initialization of the initial
	location.  The previous approach fails for PostgreSQL, which uses
	Reported by Peter Eisentraut.
	http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00023.html
	With help from Théophile Ranquet.

	* data/yacc.c (b4_declare_scanner_communication_variables): Be sure
	to initialize yylloc, even when its structure is unknown.
	(yyparse): Simplify the call to b4_dollar_pushdef.
	* tests/actions.at (Initial location): Check of similar pattern
	as in the case of PostgreSQL.

2012-11-23  Akim Demaille  <akim@lrde.epita.fr>

	scanner: issue a single error for groups of invalid characters
	* src/scan-gram.l: Scan groups of invalid characters together.
	* tests/input.at, tests/named-refs.at: Adjust.

2012-11-23  Akim Demaille  <akim@lrde.epita.fr>

	tests: formatting changes
	* tests/named-refs.at: Here.

2012-11-23  Akim Demaille  <akim@lrde.epita.fr>

	doc: one of the fixes for an ambiguous grammar was ambiguous too
	Reported by Аскар Сафин.
	http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00024.html

	* doc/bison.texi (Reduce/Reduce): Fix the resulting ambiguity using
	precedence/associativity directives.

2012-11-22  Akim Demaille  <akim@lrde.epita.fr>

	doc: fix the dangling else with precedence directives
	* doc/bison.texi (Non Operators): New node.
	(Shift/Reduce): Point to it.
	Don't promote "%expect n" too much.

2012-11-22  Akim Demaille  <akim@lrde.epita.fr>

	doc: prefer "token" to TOKEN
	This is more readable in short examples.

	* doc/bison.texi (Shift/Reduce): here.
	Make "win" and "lose" action more alike.

2012-11-22  Akim Demaille  <akim@lrde.epita.fr>

	doc: formatting changes
	* doc/bison.texi: Use @group.

2012-11-14  Akim Demaille  <akim@lrde.epita.fr>

	scanner: use explicit "ignore" statements
	* src/scan-gram.l: here.

2012-11-12  Theophile Ranquet  <ranquet@lrde.epita.fr>

	tests: close files in glr-regression
	* tests/glr-regression.at: Here.

2012-11-12  Theophile Ranquet  <ranquet@lrde.epita.fr>

	xml: match DOT output and xml2dot.xsl processing
	Make the DOT produced by XSLT processing equivalent to the one made with the
	--graph option.

	* data/xslt/xml2dot.xsl: Stylistic changes, and add support for reductions.
	* doc/bison.texi (Xml): Update.
	* src/graphviz.c (conclude_red): Minor stylistic changes to DOT internals.
	(output_red): Swap enabled and disabled reductions output, for coherence
	with XSLT output.
	* src/print_graph.c (print_core): Minor stylistic change to States' output.
	(print_actions): Swap order of output for reductions and transitions.
	* tests/local.at (AT_BISON_CHECK_XML): Ignore differences in order.
	* tests/output.at: Adjust to changes in DOT internals.

2012-11-12  Theophile Ranquet  <ranquet@lrde.epita.fr>

	xml: factor xslt space template
	* data/xslt/bison.xsl (space): New, import from...
	* data/xslt/xml2text.xsl: Here.

2012-11-12  Theophile Ranquet  <ranquet@lrde.epita.fr>

	graph: fix a memory leak
	* src/graphviz.c (output_red): Here.

2012-11-12  Theophile Ranquet  <ranquet@lrde.epita.fr>

	xml: documentation
	The XML output combined with the XSL Transformations provided in data/ are
	incredibly useful, they should be documented.

	* doc/bison.texi (Xml): New node.

2012-11-12  Theophile Ranquet  <ranquet@lrde.epita.fr>

	output: capitalize State
	* src/print.c (print_state): Here.
	* tests/conflicts.at, tests/existing.at, tests/local.at, tests/reduce.at,
	tests/regression.at, tests/sets.at: Adjust.

2012-11-12  Akim Demaille  <akim@lrde.epita.fr>

	maint: address syntax-check errors.
	* cfg.mk: Ignore the "error" call in tests/c++.at, it is not to be
	translated.
	* doc/bison.texi: Fix incorrect @pxref use.
	* po/POTFILES.in: Add missing file.
	* src/print_graph.c: Remove useless include.

2012-11-12  Akim Demaille  <akim@lrde.epita.fr>

	tests: use valgrind where appropriate
	Reported by Théophile Ranquet.

	* cfg.mk (sc_at_parser_check): New.
	* tests/c++.at: Fix use of AT_CHECK vs. AT_PARSER_CHECK.

2012-11-12  Akim Demaille  <akim@lrde.epita.fr>

	Merge remote-tracking branch 'origin/branch-2.6' into maint
	* origin/branch-2.6:
	  tests: use valgrind where appropriate
	  tests: don't expect $EGREP to support -w

2012-11-10  Akim Demaille  <akim@lrde.epita.fr>

	tests: use valgrind where appropriate
	Reported by Théophile Ranquet.

	* tests/glr-regression.at: Rewrite some test cases so that AT_PARSER_CHECK,
	which runs valgrind, is exposed with the parser, not with "echo".
	* tests/local.at, tests/regression.at, tests/headers.at:
	Use AT_PARSER_CHECK for generated parsers.

2012-11-08  Akim Demaille  <akim@lrde.epita.fr>

	tests: don't expect $EGREP to support -w
	Does not work on Solaris 10.  Reported by Dennis Clarke.
	http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00009.html
	* tests/headers.at (Several parsers): Use Perl instead.
	While at it, run it only once, on all the generated headers.
	Adjust to YY_NULL be defined in position.hh.

2012-11-08  Akim Demaille  <akim@lrde.epita.fr>

	tests: more possible error compiler messages for "#error"
	* tests/synclines.at (AT_SYNCLINES_COMPILE): Adjust for Clang.
	Verified with GCC 4.0, 4.2 to 4.8, and Clang 2.9, 3.2: none skip.

2012-11-08  Akim Demaille  <akim@lrde.epita.fr>

	regen

2012-11-08  Akim Demaille  <akim@lrde.epita.fr>

	Merge branch 'branch-2.6' into maint
	* origin/branch-2.6:
	  maint: post-release administrivia
	  version 2.6.5
	  regen
	  tests: syntax-check
	  tests: beware of compilers that do not support POSIXLY_CORRECT
	  gnulib: update

2012-11-07  Akim Demaille  <akim@lrde.epita.fr>

	maint: post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

2012-11-07  Akim Demaille  <akim@lrde.epita.fr>

	version 2.6.5
	* NEWS: Record release date.

2012-11-07  Akim Demaille  <akim@lrde.epita.fr>

	regen

2012-11-07  Akim Demaille  <akim@lrde.epita.fr>

	tests: syntax-check
	* tests/actions.at: Fix typo.

2012-11-07  Akim Demaille  <akim@lrde.epita.fr>

	tests: beware of compilers that do not support POSIXLY_CORRECT
	Running "maintainer-release-check" on OS X with Clang 2.9 fails,
	because "clang-mp-2.9 -o test -g test.c" launches "/usr/bin/dsymutil
	test -o test.dSYM" which fails with "error: unable to open executable
	'-o'".

	* m4/c-working.m4 (BISON_CHECK_WITH_POSIXLY_CORRECT)
	(BISON_C_COMPILER_POSIXLY_CORRECT): New.
	* configure.ac: Use the latter.
	* tests/atlocal.in (POSIXLY_CORRECT_IS_EXPORTED): New.
	* tests/local.at (AT_BISON_CHECK_WARNINGS_): Use it instead of computing its
	value each time.
	(AT_QUELL_VALGRIND): Skip tests that cannot work because of compilers
	that do not support POSIXLY_CORRECT.

2012-11-07  Akim Demaille  <akim@lrde.epita.fr>

	gnulib: update

2012-11-06  Akim Demaille  <akim@lrde.epita.fr>

	Merge branch 'branch-2.6' into maint
	* origin/branch-2.6: (24 commits)
	  tests: calc: modernize the use of locations
	  tests: remove useless location initializations
	  lalr1.cc: always initialize yylval.
	  tests: check that C and C++ objects can be linked together.
	  yacc.c: also disable -Wuninitialized.
	  glr.cc, yacc.c: initialize yylloc properly
	  yacc.c, glr.c: a better YY_LOCATION_PRINT
	  yacc.c: simplify initialization
	  doc: formatting changes
	  c++: fix position operator signatures
	  tests: remove useless location initialization.
	  tests: fix locations in C
	  tests: handle %parse-param in the generated yyerror
	  tests: simplifications
	  grammars: fix display of nul character in error message
	  tests: sort
	  tests: cosmetic changes
	  comment changes
	  autoconf: update
	  gnulib: update
	  ...

2012-11-06  Akim Demaille  <akim@lrde.epita.fr>

	tests: calc: modernize the use of locations
	* tests/calc.at: Don't initialize the location, let the parser
	do it.
	Use a $printer.
	Change some testing input to be easier to distinguish (instead of always
	"0 0" for instance).

2012-11-06  Akim Demaille  <akim@lrde.epita.fr>

	tests: remove useless location initializations
	* tests/actions.at, tests/calc.at: here.

2012-11-06  Akim Demaille  <akim@lrde.epita.fr>

	lalr1.cc: always initialize yylval.
	* data/lalr1.cc: here.

2012-11-06  Akim Demaille  <akim@lrde.epita.fr>

	tests: check that C and C++ objects can be linked together.
	* tests/local.at (AT_SKIP_IF_CANNOT_LINK_C_AND_CXX): New.
	* tests/headers.at (Several parsers): Use it.

2012-11-06  Akim Demaille  <akim@lrde.epita.fr>

	yacc.c: also disable -Wuninitialized.
	* data/yacc.c (YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN): For some versions
	of GCC, -Wmaybe-uninitialized alone does not suffice.

2012-11-06  Akim Demaille  <akim@lrde.epita.fr>

	glr.cc, yacc.c: initialize yylloc properly
	There are several issues to address here.  One is that yylloc should
	be initialized when possible.  Another is that the push parser needs
	to update yypushed_loc when the user modified it.  And if the parser
	starts by a reduction of an empty, it uses the first location on the
	stack, which, therefore, must also be initialized to this initial
	location.

	This is getting complex, especially since because initializing a
	global (impure interface) is different from initializing a local
	variable.  To simplify, the local yylloc is not initialized during its
	definition.

	* data/c.m4 (b4_yyloc_default_define): Replace by...
	(b4_yyloc_default): this.
	Adjust dependencies.
	* data/glr.cc: Initialize yylloc.
	* data/yacc.c (b4_declare_scanner_communication_variables):
	Initialize yylloc during its definition.
	Don't define yyloc_default.
	(yypush_parse): The location formal is not const, as we might
	initialize it.
	(yyparse): Define yyloc_default.
	Use it before running the user initial action.
	Possibly update the first location on the stack, and the pushed
	location after the user initial action.
	* tests/actions.at (Initial locations): Check that the initial
	location is correct.

2012-11-06  Akim Demaille  <akim@lrde.epita.fr>

	yacc.c, glr.c: a better YY_LOCATION_PRINT
	* data/c.m4 (b4_yy_location_print_define): New.
	Now issues "short" locations, e.g., "1.1" instead of "1.1-1.1".
	Was initially a function, but then we face "static but unused"
	warnings.
	Simpler as a macro.
	* tests/local.at, data/glr.c, data/yacc.c: Use it instead of duplicating.
	* tests/actions.at: Adjust expectations.

2012-11-06  Akim Demaille  <akim@lrde.epita.fr>

	yacc.c: simplify initialization
	* data/yacc.c: Fuse the initializations of yyssp, yyss and the like.
	Remove an obsolete comment: we do initialize these initial stack
	members (in some cases).

2012-11-05  Akim Demaille  <akim@lrde.epita.fr>

	doc: formatting changes
	* doc/bison.texi: In a pointer type.

2012-11-05  Akim Demaille  <akim@lrde.epita.fr>

	c++: fix position operator signatures
	* data/location.cc (operator+=, operator-=): Remove const from return
	type.

2012-11-05  Akim Demaille  <akim@lrde.epita.fr>

	tests: remove useless location initialization.
	* tests/glr-regression.at: here.
	glr.c does initialize yylloc.

2012-11-05  Akim Demaille  <akim@lrde.epita.fr>

	tests: fix locations in C
	* tests/local.at (AT_YYERROR_DEFINE): Don't display the end of the location
	if it is not after its beginning.
	* tests/actions.at, tests/cxx-type.at: Adjust the expected output.

2012-11-05  Akim Demaille  <akim@lrde.epita.fr>

	tests: handle %parse-param in the generated yyerror
	* tests/local.at (AT_PARSE_PARAMS): New.
	(AT_YYERROR_FORMALS, AT_YYERROR_DEFINE): Use it to add the parse-param
	to yyerror.
	* tests/calc.at, tests/regression.at: Use AT_YYERROR_DEFINE and
	AT_YYERROR_DECLARE, now that they handle properly the parse-params.
	Be sure to let AT_BISON_OPTION_PUSHDEFS now what parse-params are used.

2012-11-05  Akim Demaille  <akim@lrde.epita.fr>

	tests: simplifications
	* tests/actions.at (Exotic Dollars): Formatting changes.
	Use AT_FULL_COMPILE.
	(AT_CHECK_PRINTER_AND_DESTRUCTOR): Remove useless initialization of @$.

2012-11-01  Akim Demaille  <akim@lrde.epita.fr>

	grammars: fix display of nul character in error message
	Reported by Marc Mendiola.
	http://lists.gnu.org/archive/html/help-bison/2012-10/msg00017.html

	* gnulib: Update to get quote_mem.
	* src/scan-gram.l: Use it.
	* tests/input.at (Invalid inputs): Additional checks.
	* tests/named-refs.at: Likewise.

2012-11-01  Akim Demaille  <akim@lrde.epita.fr>

	tests: sort
	* tests/regression.at (Invalid inputs, Invalid inputs with {}): Move to...
	* tests/input.at: here, for consistency.

2012-11-01  Akim Demaille  <akim@lrde.epita.fr>

	tests: cosmetic changes
	* tests/actions.at (AT_CHECK_PRINTER_AND_DESTRUCTOR): Improve the
	displayed title.

2012-11-01  Akim Demaille  <akim@lrde.epita.fr>

	comment changes
	* data/lalr1.cc: here.

2012-11-01  Akim Demaille  <akim@lrde.epita.fr>

	autoconf: update
	There are comment changes only in the files we use.

2012-11-01  Akim Demaille  <akim@lrde.epita.fr>

	gnulib: update

2012-10-28  Akim Demaille  <akim@lrde.epita.fr>

	regen

2012-10-28  Akim Demaille  <akim@lrde.epita.fr>

	yacc.c: initialize yylval and yylloc.
	When generating a pure push parser, the initialization of yylval and
	yylloc may not be visible to the compiler.  With warnings enabled, GCC
	4.3.6, 4.4.7, 4.5.4, and 4.6.3 report uninitialized uses of
	yylval/yylloc.  Using local pragmas to disable these warnings is not
	supported before 4.6, and 4.6 does not support it properly.  So
	initialize yylval and yylloc at their definition.  Reported by Peter
	Simons.  See
	http://lists.gnu.org/archive/html/bison-patches/2012-10/msg00133.html

	* data/c.m4 (b4_yyloc_default_define): New.
	* data/yacc.c: Use it when locations are requested.
	(YYLVAL_INITIALIZE): Replace by...
	(YY_INITIAL_VALUE): this.
	(yyparse): Initialize yylloc and yylval.
	Therefore, remove the initialization of yylloc's field.
	* data/glr.c: Likewise.

2012-10-26  Akim Demaille  <akim@lrde.epita.fr>

	Merge branch 'branch-2.6' into maint
	* origin/branch-2.6:
	  regen
	  yacc.c: do not define location support when not using locations
	  maint: be compilable with GCC 4.0
	  tests: address a warning from GCC 4.4
	  tests: don't use options that Clang does not support
	  tests: restore the tests on -Werror
	  regen
	  parse-gram: update the Bison interface
	  fix comment

2012-10-26  Akim Demaille  <akim@lrde.epita.fr>

	doc: minor style change
	* doc/figs/example-reduce.txt: here.

2012-10-26  Akim Demaille  <akim@lrde.epita.fr>

	maint: use gendocs's new -I option
	* gnulib: Update gendocs.
	* cfg.mk (gendocs_options_): New.

2012-10-26  Akim Demaille  <akim@lrde.epita.fr>

	regen

2012-10-26  Akim Demaille  <akim@lrde.epita.fr>

	yacc.c: don't use _Pragma GCC diagnostic with 4.6
	Reported by Peter Simons.
	http://lists.gnu.org/archive/html/bug-bison/2012-10/msg00033.html

	* data/yacc.c (b4_declare_scanner_communication_variables): 4.7
	seems fine though.

2012-10-26  Akim Demaille  <akim@lrde.epita.fr>

	regen

2012-10-26  Akim Demaille  <akim@lrde.epita.fr>

	yacc.c: do not define location support when not using locations
	* data/yacc.c (YYLLOC_DEFAULT, YYRHSLOC): Don't define when not
	using locations.

2012-10-26  Akim Demaille  <akim@lrde.epita.fr>

	maint: be compilable with GCC 4.0
	The "shadows a global declaration" warning in GCC 4.0 was a bit
	annoying.  It does not like that a type name be used in a prototype of
	a function (not the implementation, just the declaration):

	  In file included from src/LR0.c:38:
	  src/reader.h:56: warning: declaration of 'named_ref' shadows a
	                            global declaration
	  src/named-ref.h:35: warning: shadowed declaration is here

	It does not like either when a global variable name is used in a
	prototype.  Flex 2.5.37 generates this prototype:

	  void gram_set_debug (int debug_flag  );

	* src/getargs.h, src/getargs.c (debug_flag): Rename as...
	(debug): this.
	Adjust dependencies.
	* src/reader.h: Don't use "named_ref" as a formal argument name.

2012-10-25  Akim Demaille  <akim@lrde.epita.fr>

	tests: address a warning from GCC 4.4
	236. torture.at:465: testing Exploding the Stack Size with Alloca ...
	../../../tests/torture.at:474: bison -o input.c input.y
	../../../tests/torture.at:474: $CC $CFLAGS $CPPFLAGS $LDFLAGS -o input input.c $LIBS
	stderr:
	cc1: warnings being treated as errors
	input.y: In function 'main':
	input.y:60: error: 'status' may be used uninitialized in this function

	* tests/torture.at (AT_DATA_STACK_TORTURE): Initial status to avoid
	the previous error.

2012-10-25  Akim Demaille  <akim@lrde.epita.fr>

	tests: don't use options that Clang does not support
	* configure.ac (WARN_CFLAGS, WARN_CXXFLAGS): Do not include options
	that Clang does not support.

2012-10-25  Akim Demaille  <akim@lrde.epita.fr>

	tests: restore the tests on -Werror
	When run as /bin/sh, Bash sets the shell variable POSIXLY_CORRECT to
	y.  The test suite checks for the envvar POSIXLY_CORRECT to turn of
	some tests not supported in POSIX mode.  Restore these tests.

	Reported by the Hydra build farm, from Rob Vermaas.

	* tests/local.at (AT_BISON_CHECK_WARNINGS_): Check the envvar
	POSIXLY_CORRECT, not the shell variable.

2012-10-25  Akim Demaille  <akim@lrde.epita.fr>

	regen

2012-10-25  Akim Demaille  <akim@lrde.epita.fr>

	parse-gram: update the Bison interface
	* src/parse-gram.y (%pure-parser, %name-prefix): Replace with...
	(%define api.pure, %define api.prefix)
	* src/location.h, src/scan-gram.h: Adjust to api.prefix.

2012-10-25  Akim Demaille  <akim@lrde.epita.fr>

	fix comment
	* data/c.m4 (b4_YYDEBUG_define): here.

2012-10-23  Akim Demaille  <akim@lrde.epita.fr>

	Merge branch 'branch-2.6' into maint
	* origin/branch-2.6:
	  maint: post-release administrivia
	  version 2.6.4
	  regen
	  2.6.4: botched 2.6.3

2012-10-23  Akim Demaille  <akim@lrde.epita.fr>

	maint: post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
	* cfg.mk (old_NEWS_hash): Auto-update.

2012-10-23  Akim Demaille  <akim@lrde.epita.fr>

	version 2.6.4
	* NEWS: Record release date.

2012-10-22  Akim Demaille  <akim@lrde.epita.fr>

	regen

2012-10-22  Akim Demaille  <akim@lrde.epita.fr>

	2.6.4: botched 2.6.3
	* NEWS: here.

2012-10-22  Akim Demaille  <akim@lrde.epita.fr>

	Merge branch '2.6.3' into maint
	* 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
	  ...

2012-10-22  Akim Demaille  <akim@lrde.epita.fr>

	maint: post-release administrivia
	* NEWS: Add header line for next release.
	* .prev-version: Record previous version.
