1 2013-04-15 Akim Demaille <akim@lrde.epita.fr>
4 * NEWS: Record release date.
6 2013-04-15 Akim Demaille <akim@lrde.epita.fr>
10 2013-04-08 Akim Demaille <akim@lrde.epita.fr>
12 glr.cc: fix a clang warning
13 * data/glr.cc (b4_epilogue): Be sure to end with an end-of-line,
14 so that the file does end with one.
16 2013-04-08 Akim Demaille <akim@lrde.epita.fr>
18 maint: update copyright years
19 Run "make update-copyright".
21 2013-04-08 Akim Demaille <akim@lrde.epita.fr>
23 build: fix VPATH issue
24 * Makefile.am (update-b4-copyright, update-package-copyright-year): Fix
27 2013-04-08 Akim Demaille <akim@lrde.epita.fr>
29 build: avoid clang's colored diagnostics in the test suite
30 The syncline tests, which try to recognize compiler diagnostics,
31 are confused by escapes for colors.
33 * configure.ac (warn_tests): New, to factor the warnings for both
35 Add -fno-color-diagnostics to it.
36 * tests/local.at (AT_TEST_TABLES_AND_PARSE): Do not remove glue
37 together compiler flags.
39 2013-04-08 Akim Demaille <akim@lrde.epita.fr>
41 tests: please clang and use ".cc", not ".c", for C++ input
42 When fed with foo.c, clang++ 3.2 answers:
44 clang: error: treating 'c' input as 'c++' when in C++ mode,
45 this behavior is deprecated
47 * tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): Use *.cc and *.hh
50 2013-04-08 Akim Demaille <akim@lrde.epita.fr>
54 2013-04-08 Akim Demaille <akim@lrde.epita.fr>
56 skeletons: avoid empty switch constructs
57 Reported by Rob Conde.
58 http://lists.gnu.org/archive/html/bug-bison/2013-03/msg00003.html
60 * data/c.m4 (b4_symbol_actions): Rename as...
61 (_b4_symbol_actions): this.
62 (b4_symbol_actions): New wrapper.
63 Do not emit empty switches.
64 Adjust all b4_symbol_actions callers.
66 2013-04-08 Akim Demaille <akim@lrde.epita.fr>
68 lalr1.cc: fix compiler warnings
69 Reported by Rob Conde.
70 http://lists.gnu.org/archive/html/bug-bison/2013-03/msg00003.html
72 * data/stack.hh (operator=, stack(const stack&)): Make this class
73 uncopyable, i.e., "undefine" these operators: make them private and
76 * data/lalr1.cc: Use it instead of an assignment.
77 (parser): Make this class uncopyable.
79 2013-04-08 Akim Demaille <akim@lrde.epita.fr>
81 yacc.c: do not use __attribute__ unprotected
82 Reported by Victor Khomenko.
83 http://lists.gnu.org/archive/html/bug-bison/2013-04/msg00001.html
85 * data/glr.c (YYUSE, __attribute__): Fuse their definition into...
86 * data/c.m4 (b4_attribute_define): this new macro.
87 * data/yacc.c, data/glr.c: Use it.
89 2012-12-15 Akim Demaille <akim@lrde.epita.fr>
92 * tests/glr-regression.at: Issue yyerror before yylex.
94 2012-12-13 Akim Demaille <akim@lrde.epita.fr>
96 maint: credit Wojciech Polak
97 * NEWS, THANKS: He is the author of XML support (including XSLTs).
99 2012-12-12 Akim Demaille <akim@lrde.epita.fr>
101 maint: post-release administrivia
102 * NEWS: Add header line for next release.
103 * .prev-version: Record previous version.
104 * cfg.mk (old_NEWS_hash): Auto-update.
106 2012-12-12 Akim Demaille <akim@lrde.epita.fr>
109 * NEWS: Record release date.
111 2012-12-12 Akim Demaille <akim@lrde.epita.fr>
113 yacc.c: scope reduction
114 * data/yacc.c (yysyntax_error): here.
116 2012-12-12 Akim Demaille <akim@lrde.epita.fr>
118 tests: C90 compliance
119 * tests/synclines.at: here.
121 2012-12-12 Akim Demaille <akim@lrde.epita.fr>
124 * data/glr.c, src/graphviz.h, src/ielr.c, src/scan-gram.l,
125 * src/system.h, tests/actions.at, tests/glr-regression.at: Do not
127 Do not introduce variables after statements.
128 Provide "main" with a return value.
130 2012-12-12 Akim Demaille <akim@lrde.epita.fr>
132 glr.c: scope reduction
133 * data/glr.c (yyreportSyntaxError): Reduce the scope of yysize1 (now
136 2012-12-12 Akim Demaille <akim@lrde.epita.fr>
140 2012-12-09 Akim Demaille <akim@lrde.epita.fr>
142 news: prepare for forthcoming release
143 * NEWS: Fill paragraph.
146 Remove line for 2.6.90.
148 2012-12-09 Akim Demaille <akim@lrde.epita.fr>
150 doc: explain how mid-rule actions are translated
151 * doc/bison.texi (Actions in Mid-Rule): Mention and use named references.
152 Split into three subsections, among which...
153 (Mid-Rule Action Translation): this new section.
155 2012-12-09 Akim Demaille <akim@lrde.epita.fr>
157 error: use better locations for unused midrule values
161 exp: {;} {$$;} { $$ = $1; }
163 instead of reporting (with -fcaret -Wmidrule-value)
165 midrule.y:2.6-8: warning: unset value: $$ [-Wmidrule-values]
166 exp: {;} {$$;} { $$ = $1; }
168 midrule.y:2.6-27: warning: unused value: $2 [-Wmidrule-values]
169 exp: {;} {$$;} { $$ = $1; }
170 ^^^^^^^^^^^^^^^^^^^^^^
174 midrule.y:2.6-8: warning: unset value: $$
175 exp: {;} {$$;} { $$ = $1; }
177 midrule.y:2.10-14: warning: unused value: $2
178 exp: {;} {$$;} { $$ = $1; }
181 * src/reader.c (grammar_rule_check): When warning about the value of a
182 midrule action, use the location of the midrule action instead of the
183 location of the rule.
184 the location of the part of the rule.
185 * tests/actions.at (Default %printer and %destructor for mid-rule values):
187 * tests/input.at (Unused values with default %destructor): Ditto.
188 (AT_CHECK_UNUSED_VALUES): Ditto.
191 2012-12-09 Akim Demaille <akim@lrde.epita.fr>
193 doc: various minor improvements and fixes
194 * doc/figs/example.dot, doc/figs/example.y: New.
195 * doc/bison.texi: Prefer "token" to TOKEN.
196 Use @group where appropriate.
197 Adjust with style changes in the output (State 0, not state 0).
198 Fix some @ref that were missing the third argument.
199 Fix some incorrect line numbers.
200 Use "nonterminal", not "non-terminal".
201 Fix overfull and underfull TeX hboxes.
202 Put the comments in the index.
203 Remove duplicate index entries.
204 Fuse glossary entries where appropriate.
205 (Understanding): Improve the continuity between sections.
206 Use example.dot to show the whole graph.
207 * doc/Makefile.am: Adjust.
209 2012-12-09 Akim Demaille <akim@lrde.epita.fr>
211 tests: ignore more useless compiler warnings
212 * tests/synclines.at (AT_SYNCLINES_COMPILE): Ignore complains about
213 using c++ to compile C.
215 2012-12-09 Akim Demaille <akim@lrde.epita.fr>
217 tests: be robust to C being compiled with a C++11 compiler
218 * tests/glr-regression.at: Use YY_NULL instead of NULL.
221 2012-12-09 Akim Demaille <akim@lrde.epita.fr>
223 build: beware of Clang++ not supporting POSIXLY_CORRECT
224 * m4/c-working.m4 (BISON_LANG_COMPILER_POSIXLY_CORRECT): New.
225 (BISON_C_COMPILER_POSIXLY_CORRECT): Use it.
226 For consistency with C++, also define BISON_C_WORKS.
227 * m4/cxx.m4 (BISON_CXX_COMPILER_POSIXLY_CORRECT): New.
228 * configure.ac: Use it.
229 * tests/atlocal.in: Get its result.
230 Propagate properly CXX values when used to compile C.
231 When POSIXLY_CORRECT, adjust BISON_C_WORKS and BISON_CXX_WORKS.
232 * tests/local.at (AT_COMPILE): Use BISON_C_WORKS.
234 2012-12-07 Akim Demaille <akim@lrde.epita.fr>
236 maint: post-release administrivia
237 * NEWS: Add header line for next release.
238 * .prev-version: Record previous version.
239 * cfg.mk (old_NEWS_hash): Auto-update.
241 2012-12-07 Akim Demaille <akim@lrde.epita.fr>
244 * NEWS: Record release date.
246 2012-12-07 Akim Demaille <akim@lrde.epita.fr>
248 build: fix syntax-check error.
249 * cfg.mk: Exclude names-refs, it includes a "double" if (end of first
250 line, first of second line below).
252 test.y:43.12-44.59: symbol not found in production: if
253 if-stmt-a: IF expr[cond] THEN stmt.list[then] ELSE stmt.list[else] FI
254 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
256 2012-12-07 Theophile Ranquet <ranquet@lrde.epita.fr>
258 cpp: simplify the Flex version checking macro
259 * src/flex-scanner,h (FLEX_VERSION): Consider YY_FLEX_SUBMINOR_VERSION
262 2012-12-07 Theophile Ranquet <ranquet@lrde.epita.fr>
264 news: improve the carets example and fix a typo
267 2012-12-07 Theophile Ranquet <ranquet@lrde.epita.fr>
269 cpp: improve the Flex version checking macro
270 * src/flex-scanner.h (FLEX_VERSION): Here.
272 2012-12-07 Theophile Ranquet <ranquet@lrde.epita.fr>
274 carets: improve the code
275 * src/location.c: Remove duplicate documentations.
276 (caret_info): Stylistic change.
277 (location_caret): Many reworks.
279 2012-12-07 Akim Demaille <akim@lrde.epita.fr>
282 * NEWS: There is no 2.6.6, remove its stub.
284 2012-12-07 Akim Demaille <akim@lrde.epita.fr>
286 build: keep -Wmissing-declarations and -Wmissing-prototypes for modern GCCs
287 Fixes a -Werror failure of xalloc.h used in src.
289 http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00006.html
291 * configure.ac: Check whether GCC pragma diagnostic push/pop works.
292 Enable these warnings for bison if it does.
293 Enable these warnings for the test suite anyway.
295 2012-12-07 Akim Demaille <akim@lrde.epita.fr>
297 build: drop -Wcast-qual
298 Suggested by Jim Meyering.
299 http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00017.html
300 * configure.ac (warn_common): Remove -Wcast-qual.
302 2012-12-07 Akim Demaille <akim@lrde.epita.fr>
306 2012-12-06 Theophile Ranquet <ranquet@lrde.epita.fr>
308 misc: pacify the Tiny C Compiler
309 * src/graphviz.c (conclude_red): Remove a useless return.
311 2012-12-05 Theophile Ranquet <ranquet@lrde.epita.fr>
313 cpp: make the check of Flex version portable
314 This was problematic with tcc 0.9.25
316 * src/flex-scanner.h (FLEX_VERSION_GT): Rewrite and rename as...
317 (FLEX_VERSION): This.
319 2012-12-05 Theophile Ranquet <ranquet@lrde.epita.fr>
321 misc: require getline
322 * bootstrap.conf: Here, used by src/location.c.
323 * src/getargs.c (long_options): Rename --flags to --feature.
325 2012-12-05 Akim Demaille <akim@lrde.epita.fr>
327 c++: support wide strings for file names
328 Reported by Mark Boyall.
329 http://lists.gnu.org/archive/html/help-bison/2011-08/msg00002.html
331 * data/location.cc (operator<<): Be templated on the type of
333 * tests/headers.at (Several parsers): Adjust.
335 2012-12-05 Theophile Ranquet <ranquet@lrde.epita.fr>
339 * doc/bison.texi (Bison Options): Here.
341 2012-12-05 Theophile Ranquet <ranquet@lrde.epita.fr>
343 tests: enhance existing tests with carets
344 * tests/actions.at: Unset value.
345 * tests/conflicts.at: Rule useless due to conflicts.
346 * tests/input.at: Missing terminator, unexpected end of file, command line
347 redefinition of variable.
348 * tests/named-refs.at: Many errors.
349 * tests/reduce.at: Useless nonterminals and rules.
350 * tests/regression.at: Large token.
352 2012-12-05 Theophile Ranquet <ranquet@lrde.epita.fr>
355 * src/locations.c (caret_info): New, persistant information useful
357 (location_caret): New, print a caret.
358 (cleanup_caret): Release caret_info cleanly, call it...
359 * src/main.c (main): Here.
360 * src/complain.c (error_message): Call location_caret here.
362 2012-12-05 Theophile Ranquet <ranquet@lrde.epita.fr>
364 getargs: add support for --feature/-f
365 Introduce -fdiagnostics-show-caret
367 * src/getargs.c (feature_flag): New global.
368 * src/getargs.h (feature): New enum.
370 2012-12-04 Theophile Ranquet <ranquet@lrde.epita.fr>
372 getargs: don't label --language/-l as experimental
374 * doc/bison.texi, src/getargs.c (usage): Here.
376 2012-12-03 Theophile Ranquet <ranquet@lrde.epita.fr>
378 getargs: fix the locations of command-line input
379 * src/getargs.c (command_line_location): Here.
380 * tests/input.at: Adjust.
382 2012-12-03 Theophile Ranquet <ranquet@lrde.epita.fr>
384 errors: indent missing action code semicolon warning
385 Also, remove a duplicate #define.
387 * src/scan-code.l (SC_RULE_ACTION): Here.
388 * tests/actions.at: Adjust.
390 2012-12-03 Akim Demaille <akim@lrde.epita.fr>
392 parser: accept #line NUM
393 * src/scan-gram.l (scanner): Accept '#line NUM'.
394 (handle_syncline): Adjust to the possible missing file name.
396 2012-12-03 Akim Demaille <akim@lrde.epita.fr>
398 m4: use a safer pattern to enable/disable output
399 Work on some other areas of Bison revealed that some macros expanded
400 to be expanded only once were actually expanded several times. This
401 was due to the fact that changecom was not properly restored each
402 time, and macro names appearing in comments were then expanded.
404 Introduce begin/end macros which are easier to match that
405 changecom()/changecom(#).
407 * data/bison.m4 (b4_output_begin, b4_output_end): New.
408 * data/glr.c, data/glr.cc, data/lalr1.cc, data/lalr1.java,
409 * data/location.cc, data/stack.hh, data/yacc.c:
412 2012-12-03 Akim Demaille <akim@lrde.epita.fr>
414 tests: beware of gnulib's need for config.h
415 * tests/skeletons.at, tests/torture.at: Be sure to include config.h
418 2012-11-30 Akim Demaille <akim@lrde.epita.fr>
421 * lib/yyerror.c: Include config.h since the following stdio.h might be
424 2012-11-30 Akim Demaille <akim@lrde.epita.fr>
426 yacc.c, glr.c: check and fix the display of locations
427 In some case, negative column number could be displayed.
428 Make YY_LOCATION_PRINT similar to bison's own implementation of
429 locations. Since the macro is getting fat, make it a static
431 Reported by Jonathan Fabrizio.
433 * data/c.m4 (yy_location_print_define): Improve the implementation,
434 and generate the yy_location_print_ function.
435 Adjust YY_LOCATION_PRINT.
436 * tests/actions.at (Location Print): New tests.
438 2012-11-30 Akim Demaille <akim@lrde.epita.fr>
441 * data/c.m4: Fix comments, put macros in a more natural order.
442 Space changes (from M-x whitespace-cleanup).
443 * src/location.c: Fix spaces.
444 * tests/actions.at: Space changes.
446 2012-11-30 Akim Demaille <akim@lrde.epita.fr>
448 glr.c: remove stray macro
449 * data/glr.c (YYOPTIONAL_LOC): Remove, unused since commit
450 769a8ef9bcb5e14d0be9d0869f5dca20ab093930.
452 2012-11-29 Akim Demaille <akim@lrde.epita.fr>
455 * doc/bison.texi: Use stderr for error messages.
456 Meta-variables are usually spelled in lower case.
457 Use @code for function names.
459 2012-11-29 Akim Demaille <akim@lrde.epita.fr>
461 doc: improve the index
462 * doc/bison.texi: Fix uses of "deffn" so that the arguments of the
463 directives do not show in the index.
464 Remove a duplicate entry for api.pure.
466 2012-11-29 Theophile Ranquet <ranquet@lrde.epita.fr>
468 doc: introduce api.pure full, rearrange some examples
470 * doc/bison.texi (%define Summary): Show the old Yacc behaviour.
471 (Parser Function): Move parse-param examples here.
472 (Pure Calling): Remove parse-param examples.
473 (Error Reporting): Don't show the old behavior, stick to 'full'.
475 2012-11-29 Theophile Ranquet <ranquet@lrde.epita.fr>
477 yacc.c: support "%define api.pure full"
478 This makes the interface for yyerror() pure without the need for a spurious
481 * data/yacc.c (b4_pure_if, b4_pure_flag): New definition, accept three states.
482 (b4_yacc_pure_if): Rename as...
483 (b4_yyerror_arg_loc_if): This, and use b4_pure_flag.
484 * tests/actions.at (%define api.pure): Modernize.
485 * test/calc.at (Simple LALR Calculator): Modernize.
486 * tests/local.at (AT_YYERROR_ARG_LOC_IF): Adjust.
488 2012-11-26 Theophile Ranquet <ranquet@lrde.epita.fr>
490 local.at: improvements
491 * tests/local.at (AT_YYERROR_FORMALS): Make llocp const.
492 (AT_PURE_AND_LOC_IF, AT_GLR_OR_PARAM_IF): Remove, expand...
493 (AT_YYERROR_ARG_LOC_IF): Here, and use m4_join for readability.
495 2012-11-26 Akim Demaille <akim@lrde.epita.fr>
497 Merge remote-tracking branch 'origin/branch-2.6' into maint
499 yacc.c: always initialize yylloc
500 doc: one of the fixes for an ambiguous grammar was ambiguous too
501 doc: fix the dangling else with precedence directives
502 doc: prefer "token" to TOKEN
503 doc: formatting changes
505 2012-11-23 Theophile Ranquet <ranquet@lrde.epita.fr>
507 yacc.c: always initialize yylloc
508 The initial location might be used if the parser starts by an empty
509 reduction, so really ensure proper initialization of the initial
510 location. The previous approach fails for PostgreSQL, which uses
511 Reported by Peter Eisentraut.
512 http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00023.html
513 With help from Théophile Ranquet.
515 * data/yacc.c (b4_declare_scanner_communication_variables): Be sure
516 to initialize yylloc, even when its structure is unknown.
517 (yyparse): Simplify the call to b4_dollar_pushdef.
518 * tests/actions.at (Initial location): Check of similar pattern
519 as in the case of PostgreSQL.
521 2012-11-23 Akim Demaille <akim@lrde.epita.fr>
523 scanner: issue a single error for groups of invalid characters
524 * src/scan-gram.l: Scan groups of invalid characters together.
525 * tests/input.at, tests/named-refs.at: Adjust.
527 2012-11-23 Akim Demaille <akim@lrde.epita.fr>
529 tests: formatting changes
530 * tests/named-refs.at: Here.
532 2012-11-23 Akim Demaille <akim@lrde.epita.fr>
534 doc: one of the fixes for an ambiguous grammar was ambiguous too
535 Reported by Аскар Сафин.
536 http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00024.html
538 * doc/bison.texi (Reduce/Reduce): Fix the resulting ambiguity using
539 precedence/associativity directives.
541 2012-11-22 Akim Demaille <akim@lrde.epita.fr>
543 doc: fix the dangling else with precedence directives
544 * doc/bison.texi (Non Operators): New node.
545 (Shift/Reduce): Point to it.
546 Don't promote "%expect n" too much.
548 2012-11-22 Akim Demaille <akim@lrde.epita.fr>
550 doc: prefer "token" to TOKEN
551 This is more readable in short examples.
553 * doc/bison.texi (Shift/Reduce): here.
554 Make "win" and "lose" action more alike.
556 2012-11-22 Akim Demaille <akim@lrde.epita.fr>
558 doc: formatting changes
559 * doc/bison.texi: Use @group.
561 2012-11-14 Akim Demaille <akim@lrde.epita.fr>
563 scanner: use explicit "ignore" statements
564 * src/scan-gram.l: here.
566 2012-11-12 Theophile Ranquet <ranquet@lrde.epita.fr>
568 tests: close files in glr-regression
569 * tests/glr-regression.at: Here.
571 2012-11-12 Theophile Ranquet <ranquet@lrde.epita.fr>
573 xml: match DOT output and xml2dot.xsl processing
574 Make the DOT produced by XSLT processing equivalent to the one made with the
577 * data/xslt/xml2dot.xsl: Stylistic changes, and add support for reductions.
578 * doc/bison.texi (Xml): Update.
579 * src/graphviz.c (conclude_red): Minor stylistic changes to DOT internals.
580 (output_red): Swap enabled and disabled reductions output, for coherence
582 * src/print_graph.c (print_core): Minor stylistic change to States' output.
583 (print_actions): Swap order of output for reductions and transitions.
584 * tests/local.at (AT_BISON_CHECK_XML): Ignore differences in order.
585 * tests/output.at: Adjust to changes in DOT internals.
587 2012-11-12 Theophile Ranquet <ranquet@lrde.epita.fr>
589 xml: factor xslt space template
590 * data/xslt/bison.xsl (space): New, import from...
591 * data/xslt/xml2text.xsl: Here.
593 2012-11-12 Theophile Ranquet <ranquet@lrde.epita.fr>
595 graph: fix a memory leak
596 * src/graphviz.c (output_red): Here.
598 2012-11-12 Theophile Ranquet <ranquet@lrde.epita.fr>
601 The XML output combined with the XSL Transformations provided in data/ are
602 incredibly useful, they should be documented.
604 * doc/bison.texi (Xml): New node.
606 2012-11-12 Theophile Ranquet <ranquet@lrde.epita.fr>
608 output: capitalize State
609 * src/print.c (print_state): Here.
610 * tests/conflicts.at, tests/existing.at, tests/local.at, tests/reduce.at,
611 tests/regression.at, tests/sets.at: Adjust.
613 2012-11-12 Akim Demaille <akim@lrde.epita.fr>
615 maint: address syntax-check errors.
616 * cfg.mk: Ignore the "error" call in tests/c++.at, it is not to be
618 * doc/bison.texi: Fix incorrect @pxref use.
619 * po/POTFILES.in: Add missing file.
620 * src/print_graph.c: Remove useless include.
622 2012-11-12 Akim Demaille <akim@lrde.epita.fr>
624 tests: use valgrind where appropriate
625 Reported by Théophile Ranquet.
627 * cfg.mk (sc_at_parser_check): New.
628 * tests/c++.at: Fix use of AT_CHECK vs. AT_PARSER_CHECK.
630 2012-11-12 Akim Demaille <akim@lrde.epita.fr>
632 Merge remote-tracking branch 'origin/branch-2.6' into maint
634 tests: use valgrind where appropriate
635 tests: don't expect $EGREP to support -w
637 2012-11-10 Akim Demaille <akim@lrde.epita.fr>
639 tests: use valgrind where appropriate
640 Reported by Théophile Ranquet.
642 * tests/glr-regression.at: Rewrite some test cases so that AT_PARSER_CHECK,
643 which runs valgrind, is exposed with the parser, not with "echo".
644 * tests/local.at, tests/regression.at, tests/headers.at:
645 Use AT_PARSER_CHECK for generated parsers.
647 2012-11-08 Akim Demaille <akim@lrde.epita.fr>
649 tests: don't expect $EGREP to support -w
650 Does not work on Solaris 10. Reported by Dennis Clarke.
651 http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00009.html
652 * tests/headers.at (Several parsers): Use Perl instead.
653 While at it, run it only once, on all the generated headers.
654 Adjust to YY_NULL be defined in position.hh.
656 2012-11-08 Akim Demaille <akim@lrde.epita.fr>
658 tests: more possible error compiler messages for "#error"
659 * tests/synclines.at (AT_SYNCLINES_COMPILE): Adjust for Clang.
660 Verified with GCC 4.0, 4.2 to 4.8, and Clang 2.9, 3.2: none skip.
662 2012-11-08 Akim Demaille <akim@lrde.epita.fr>
666 2012-11-08 Akim Demaille <akim@lrde.epita.fr>
668 Merge branch 'branch-2.6' into maint
670 maint: post-release administrivia
674 tests: beware of compilers that do not support POSIXLY_CORRECT
677 2012-11-07 Akim Demaille <akim@lrde.epita.fr>
679 maint: post-release administrivia
680 * NEWS: Add header line for next release.
681 * .prev-version: Record previous version.
682 * cfg.mk (old_NEWS_hash): Auto-update.
684 2012-11-07 Akim Demaille <akim@lrde.epita.fr>
687 * NEWS: Record release date.
689 2012-11-07 Akim Demaille <akim@lrde.epita.fr>
693 2012-11-07 Akim Demaille <akim@lrde.epita.fr>
696 * tests/actions.at: Fix typo.
698 2012-11-07 Akim Demaille <akim@lrde.epita.fr>
700 tests: beware of compilers that do not support POSIXLY_CORRECT
701 Running "maintainer-release-check" on OS X with Clang 2.9 fails,
702 because "clang-mp-2.9 -o test -g test.c" launches "/usr/bin/dsymutil
703 test -o test.dSYM" which fails with "error: unable to open executable
706 * m4/c-working.m4 (BISON_CHECK_WITH_POSIXLY_CORRECT)
707 (BISON_C_COMPILER_POSIXLY_CORRECT): New.
708 * configure.ac: Use the latter.
709 * tests/atlocal.in (POSIXLY_CORRECT_IS_EXPORTED): New.
710 * tests/local.at (AT_BISON_CHECK_WARNINGS_): Use it instead of computing its
712 (AT_QUELL_VALGRIND): Skip tests that cannot work because of compilers
713 that do not support POSIXLY_CORRECT.
715 2012-11-07 Akim Demaille <akim@lrde.epita.fr>
719 2012-11-06 Akim Demaille <akim@lrde.epita.fr>
721 Merge branch 'branch-2.6' into maint
722 * origin/branch-2.6: (24 commits)
723 tests: calc: modernize the use of locations
724 tests: remove useless location initializations
725 lalr1.cc: always initialize yylval.
726 tests: check that C and C++ objects can be linked together.
727 yacc.c: also disable -Wuninitialized.
728 glr.cc, yacc.c: initialize yylloc properly
729 yacc.c, glr.c: a better YY_LOCATION_PRINT
730 yacc.c: simplify initialization
731 doc: formatting changes
732 c++: fix position operator signatures
733 tests: remove useless location initialization.
734 tests: fix locations in C
735 tests: handle %parse-param in the generated yyerror
736 tests: simplifications
737 grammars: fix display of nul character in error message
739 tests: cosmetic changes
745 2012-11-06 Akim Demaille <akim@lrde.epita.fr>
747 tests: calc: modernize the use of locations
748 * tests/calc.at: Don't initialize the location, let the parser
751 Change some testing input to be easier to distinguish (instead of always
754 2012-11-06 Akim Demaille <akim@lrde.epita.fr>
756 tests: remove useless location initializations
757 * tests/actions.at, tests/calc.at: here.
759 2012-11-06 Akim Demaille <akim@lrde.epita.fr>
761 lalr1.cc: always initialize yylval.
762 * data/lalr1.cc: here.
764 2012-11-06 Akim Demaille <akim@lrde.epita.fr>
766 tests: check that C and C++ objects can be linked together.
767 * tests/local.at (AT_SKIP_IF_CANNOT_LINK_C_AND_CXX): New.
768 * tests/headers.at (Several parsers): Use it.
770 2012-11-06 Akim Demaille <akim@lrde.epita.fr>
772 yacc.c: also disable -Wuninitialized.
773 * data/yacc.c (YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN): For some versions
774 of GCC, -Wmaybe-uninitialized alone does not suffice.
776 2012-11-06 Akim Demaille <akim@lrde.epita.fr>
778 glr.cc, yacc.c: initialize yylloc properly
779 There are several issues to address here. One is that yylloc should
780 be initialized when possible. Another is that the push parser needs
781 to update yypushed_loc when the user modified it. And if the parser
782 starts by a reduction of an empty, it uses the first location on the
783 stack, which, therefore, must also be initialized to this initial
786 This is getting complex, especially since because initializing a
787 global (impure interface) is different from initializing a local
788 variable. To simplify, the local yylloc is not initialized during its
791 * data/c.m4 (b4_yyloc_default_define): Replace by...
792 (b4_yyloc_default): this.
794 * data/glr.cc: Initialize yylloc.
795 * data/yacc.c (b4_declare_scanner_communication_variables):
796 Initialize yylloc during its definition.
797 Don't define yyloc_default.
798 (yypush_parse): The location formal is not const, as we might
800 (yyparse): Define yyloc_default.
801 Use it before running the user initial action.
802 Possibly update the first location on the stack, and the pushed
803 location after the user initial action.
804 * tests/actions.at (Initial locations): Check that the initial
807 2012-11-06 Akim Demaille <akim@lrde.epita.fr>
809 yacc.c, glr.c: a better YY_LOCATION_PRINT
810 * data/c.m4 (b4_yy_location_print_define): New.
811 Now issues "short" locations, e.g., "1.1" instead of "1.1-1.1".
812 Was initially a function, but then we face "static but unused"
815 * tests/local.at, data/glr.c, data/yacc.c: Use it instead of duplicating.
816 * tests/actions.at: Adjust expectations.
818 2012-11-06 Akim Demaille <akim@lrde.epita.fr>
820 yacc.c: simplify initialization
821 * data/yacc.c: Fuse the initializations of yyssp, yyss and the like.
822 Remove an obsolete comment: we do initialize these initial stack
823 members (in some cases).
825 2012-11-05 Akim Demaille <akim@lrde.epita.fr>
827 doc: formatting changes
828 * doc/bison.texi: In a pointer type.
830 2012-11-05 Akim Demaille <akim@lrde.epita.fr>
832 c++: fix position operator signatures
833 * data/location.cc (operator+=, operator-=): Remove const from return
836 2012-11-05 Akim Demaille <akim@lrde.epita.fr>
838 tests: remove useless location initialization.
839 * tests/glr-regression.at: here.
840 glr.c does initialize yylloc.
842 2012-11-05 Akim Demaille <akim@lrde.epita.fr>
844 tests: fix locations in C
845 * tests/local.at (AT_YYERROR_DEFINE): Don't display the end of the location
846 if it is not after its beginning.
847 * tests/actions.at, tests/cxx-type.at: Adjust the expected output.
849 2012-11-05 Akim Demaille <akim@lrde.epita.fr>
851 tests: handle %parse-param in the generated yyerror
852 * tests/local.at (AT_PARSE_PARAMS): New.
853 (AT_YYERROR_FORMALS, AT_YYERROR_DEFINE): Use it to add the parse-param
855 * tests/calc.at, tests/regression.at: Use AT_YYERROR_DEFINE and
856 AT_YYERROR_DECLARE, now that they handle properly the parse-params.
857 Be sure to let AT_BISON_OPTION_PUSHDEFS now what parse-params are used.
859 2012-11-05 Akim Demaille <akim@lrde.epita.fr>
861 tests: simplifications
862 * tests/actions.at (Exotic Dollars): Formatting changes.
864 (AT_CHECK_PRINTER_AND_DESTRUCTOR): Remove useless initialization of @$.
866 2012-11-01 Akim Demaille <akim@lrde.epita.fr>
868 grammars: fix display of nul character in error message
869 Reported by Marc Mendiola.
870 http://lists.gnu.org/archive/html/help-bison/2012-10/msg00017.html
872 * gnulib: Update to get quote_mem.
873 * src/scan-gram.l: Use it.
874 * tests/input.at (Invalid inputs): Additional checks.
875 * tests/named-refs.at: Likewise.
877 2012-11-01 Akim Demaille <akim@lrde.epita.fr>
880 * tests/regression.at (Invalid inputs, Invalid inputs with {}): Move to...
881 * tests/input.at: here, for consistency.
883 2012-11-01 Akim Demaille <akim@lrde.epita.fr>
885 tests: cosmetic changes
886 * tests/actions.at (AT_CHECK_PRINTER_AND_DESTRUCTOR): Improve the
889 2012-11-01 Akim Demaille <akim@lrde.epita.fr>
892 * data/lalr1.cc: here.
894 2012-11-01 Akim Demaille <akim@lrde.epita.fr>
897 There are comment changes only in the files we use.
899 2012-11-01 Akim Demaille <akim@lrde.epita.fr>
903 2012-10-28 Akim Demaille <akim@lrde.epita.fr>
907 2012-10-28 Akim Demaille <akim@lrde.epita.fr>
909 yacc.c: initialize yylval and yylloc.
910 When generating a pure push parser, the initialization of yylval and
911 yylloc may not be visible to the compiler. With warnings enabled, GCC
912 4.3.6, 4.4.7, 4.5.4, and 4.6.3 report uninitialized uses of
913 yylval/yylloc. Using local pragmas to disable these warnings is not
914 supported before 4.6, and 4.6 does not support it properly. So
915 initialize yylval and yylloc at their definition. Reported by Peter
917 http://lists.gnu.org/archive/html/bison-patches/2012-10/msg00133.html
919 * data/c.m4 (b4_yyloc_default_define): New.
920 * data/yacc.c: Use it when locations are requested.
921 (YYLVAL_INITIALIZE): Replace by...
922 (YY_INITIAL_VALUE): this.
923 (yyparse): Initialize yylloc and yylval.
924 Therefore, remove the initialization of yylloc's field.
925 * data/glr.c: Likewise.
927 2012-10-26 Akim Demaille <akim@lrde.epita.fr>
929 Merge branch 'branch-2.6' into maint
932 yacc.c: do not define location support when not using locations
933 maint: be compilable with GCC 4.0
934 tests: address a warning from GCC 4.4
935 tests: don't use options that Clang does not support
936 tests: restore the tests on -Werror
938 parse-gram: update the Bison interface
941 2012-10-26 Akim Demaille <akim@lrde.epita.fr>
943 doc: minor style change
944 * doc/figs/example-reduce.txt: here.
946 2012-10-26 Akim Demaille <akim@lrde.epita.fr>
948 maint: use gendocs's new -I option
949 * gnulib: Update gendocs.
950 * cfg.mk (gendocs_options_): New.
952 2012-10-26 Akim Demaille <akim@lrde.epita.fr>
956 2012-10-26 Akim Demaille <akim@lrde.epita.fr>
958 yacc.c: don't use _Pragma GCC diagnostic with 4.6
959 Reported by Peter Simons.
960 http://lists.gnu.org/archive/html/bug-bison/2012-10/msg00033.html
962 * data/yacc.c (b4_declare_scanner_communication_variables): 4.7
965 2012-10-26 Akim Demaille <akim@lrde.epita.fr>
969 2012-10-26 Akim Demaille <akim@lrde.epita.fr>
971 yacc.c: do not define location support when not using locations
972 * data/yacc.c (YYLLOC_DEFAULT, YYRHSLOC): Don't define when not
975 2012-10-26 Akim Demaille <akim@lrde.epita.fr>
977 maint: be compilable with GCC 4.0
978 The "shadows a global declaration" warning in GCC 4.0 was a bit
979 annoying. It does not like that a type name be used in a prototype of
980 a function (not the implementation, just the declaration):
982 In file included from src/LR0.c:38:
983 src/reader.h:56: warning: declaration of 'named_ref' shadows a
985 src/named-ref.h:35: warning: shadowed declaration is here
987 It does not like either when a global variable name is used in a
988 prototype. Flex 2.5.37 generates this prototype:
990 void gram_set_debug (int debug_flag );
992 * src/getargs.h, src/getargs.c (debug_flag): Rename as...
995 * src/reader.h: Don't use "named_ref" as a formal argument name.
997 2012-10-25 Akim Demaille <akim@lrde.epita.fr>
999 tests: address a warning from GCC 4.4
1000 236. torture.at:465: testing Exploding the Stack Size with Alloca ...
1001 ../../../tests/torture.at:474: bison -o input.c input.y
1002 ../../../tests/torture.at:474: $CC $CFLAGS $CPPFLAGS $LDFLAGS -o input input.c $LIBS
1004 cc1: warnings being treated as errors
1005 input.y: In function 'main':
1006 input.y:60: error: 'status' may be used uninitialized in this function
1008 * tests/torture.at (AT_DATA_STACK_TORTURE): Initial status to avoid
1011 2012-10-25 Akim Demaille <akim@lrde.epita.fr>
1013 tests: don't use options that Clang does not support
1014 * configure.ac (WARN_CFLAGS, WARN_CXXFLAGS): Do not include options
1015 that Clang does not support.
1017 2012-10-25 Akim Demaille <akim@lrde.epita.fr>
1019 tests: restore the tests on -Werror
1020 When run as /bin/sh, Bash sets the shell variable POSIXLY_CORRECT to
1021 y. The test suite checks for the envvar POSIXLY_CORRECT to turn of
1022 some tests not supported in POSIX mode. Restore these tests.
1024 Reported by the Hydra build farm, from Rob Vermaas.
1026 * tests/local.at (AT_BISON_CHECK_WARNINGS_): Check the envvar
1027 POSIXLY_CORRECT, not the shell variable.
1029 2012-10-25 Akim Demaille <akim@lrde.epita.fr>
1033 2012-10-25 Akim Demaille <akim@lrde.epita.fr>
1035 parse-gram: update the Bison interface
1036 * src/parse-gram.y (%pure-parser, %name-prefix): Replace with...
1037 (%define api.pure, %define api.prefix)
1038 * src/location.h, src/scan-gram.h: Adjust to api.prefix.
1040 2012-10-25 Akim Demaille <akim@lrde.epita.fr>
1043 * data/c.m4 (b4_YYDEBUG_define): here.
1045 2012-10-23 Akim Demaille <akim@lrde.epita.fr>
1047 Merge branch 'branch-2.6' into maint
1048 * origin/branch-2.6:
1049 maint: post-release administrivia
1052 2.6.4: botched 2.6.3
1054 2012-10-23 Akim Demaille <akim@lrde.epita.fr>
1056 maint: post-release administrivia
1057 * NEWS: Add header line for next release.
1058 * .prev-version: Record previous version.
1059 * cfg.mk (old_NEWS_hash): Auto-update.
1061 2012-10-23 Akim Demaille <akim@lrde.epita.fr>
1064 * NEWS: Record release date.
1066 2012-10-22 Akim Demaille <akim@lrde.epita.fr>
1070 2012-10-22 Akim Demaille <akim@lrde.epita.fr>
1072 2.6.4: botched 2.6.3
1075 2012-10-22 Akim Demaille <akim@lrde.epita.fr>
1077 Merge branch '2.6.3' into maint
1078 * 2.6.3: (22 commits)
1079 maint: post-release administrivia
1082 tests: check %no-lines
1083 NEWS: warnings with clang
1084 warnings: avoid warnings from clang
1085 tests: no longer disable -O compiler options
1086 yacc.c: initialize yylval in pure-parser mode
1087 skeletons: style changes
1088 tests: minor improvements
1089 tests: use $PERL instead of perl
1090 build: look for Perl in configure.
1091 tests: fix sed portability issues
1092 tests: diff -u is not portable
1094 lalr1.cc: fix test suite portability
1095 maint: fix an erroneous include
1096 tests: check that headers are self contained
1097 doc: add missing documentation for --report
1098 headers: move CPP guards into YY_*_INCLUDED to avoid collisions
1101 2012-10-22 Akim Demaille <akim@lrde.epita.fr>
1103 maint: post-release administrivia
1104 * NEWS: Add header line for next release.
1105 * .prev-version: Record previous version.
1106 * cfg.mk (old_NEWS_hash): Auto-update.
1108 2012-10-22 Akim Demaille <akim@lrde.epita.fr>
1111 * NEWS: Record release date.
1113 2012-10-22 Akim Demaille <akim@lrde.epita.fr>
1117 2012-10-22 Akim Demaille <akim@lrde.epita.fr>
1119 tests: check %no-lines
1120 * tests/synclines.at: here.
1122 2012-10-22 Akim Demaille <akim@lrde.epita.fr>
1124 NEWS: warnings with clang
1127 2012-10-22 Akim Demaille <akim@lrde.epita.fr>
1129 warnings: avoid warnings from clang
1130 Fix the following warning
1132 parse-gram.c:2078:14: error: equality comparison with extraneous parentheses
1133 [-Werror,-Wparentheses-equality]
1134 if (((yyn) == (-91)))
1136 parse-gram.c:2078:14: note: remove extraneous parentheses around the
1137 comparison to silence this warning
1138 if (((yyn) == (-91)))
1140 parse-gram.c:2078:14: note: use '=' to turn this equality comparison into
1142 if (((yyn) == (-91)))
1147 and the following one:
1149 input.cc:740:1: error: function declared 'noreturn' should not return
1150 [-Werror,-Winvalid-noreturn]
1151 static void yyMemoryExhausted (yyGLRStack* yystackp)
1152 __attribute__ ((__noreturn__));
1154 yyMemoryExhausted (yyGLRStack* yystackp)
1156 YYLONGJMP (yystackp->yyexception_buffer, 2);
1159 1 warning and 1 error generated.
1161 This is Apple clang version 3.1 (tags/Apple/clang-318.0.61).
1163 * data/c.m4 (b4_table_value_equals): Use (!!(A == B)) instead of (A == B)
1164 to avoid this warning.
1165 Any reasonable compiler should generate the same code.
1166 * src/uniqstr.h (UNIQSTR_EQ): Likewise.
1167 * data/glr.c (LONGJMP): abort after longjmp to pacify clang.
1169 2012-10-22 Akim Demaille <akim@lrde.epita.fr>
1171 tests: no longer disable -O compiler options
1172 Tests are running without -O since
1173 f377f69fec28013c79db4efe12bbb9d48987fb2c because some warnings (about
1174 yylval not being initialized) show only when GCC is given -O2. The
1175 previous patch fixes the warnings. Run the test suite with compiler
1178 * tests/atlocal.in (O0CFLAGS, O0CXXFLAGS): Remove, use CFLAGS and
1181 2012-10-22 Paul Eggert <eggert@cs.ucla.edu>
1183 yacc.c: initialize yylval in pure-parser mode
1184 See http://lists.gnu.org/archive/html/bison-patches/2012-08/msg00024.html
1185 (spreading over September and October).
1187 * data/yacc.c (YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN)
1188 (YY_IGNORE_MAYBE_UNINITIALIZED_END, YYLVAL_INITIALIZE):
1189 New macros. Use them to suppress an unwanted GCC diagnostic.
1191 2012-10-22 Akim Demaille <akim@lrde.epita.fr>
1193 skeletons: style changes
1194 * data/yacc.c, data/glr.c: Prefer Title case for (CPP) macro arguments.
1196 2012-10-22 Akim Demaille <akim@lrde.epita.fr>
1198 tests: minor improvements
1199 * tests/c++.at: Space changes.
1200 Use AT_YYERROR_DEFINE.
1201 * tests/local.at (AT_YYERROR_DEFINE): Issue errors on unknown languages.
1203 2012-10-22 Akim Demaille <akim@lrde.epita.fr>
1205 tests: use $PERL instead of perl
1206 * tests/atlocal.in (PERL): New.
1208 * tests/calc.at, tests/input.at, tests/local.at, tests/regression.at,
1209 * tests/skeletons.at, tests/synclines.at, tests/torture.at: here.
1211 2012-10-22 Akim Demaille <akim@lrde.epita.fr>
1213 build: look for Perl in configure.
1214 Bison uses "/usr/bin/perl" or "perl" in several places, and it does
1215 not appear to be a problem. But, at least to make it simpler to
1216 change PERL on the make command line, check for perl in configure.
1218 * configure.ac (PERL): New.
1219 * doc/Doxyfile.in, doc/Makefile.am, tests/bison.in: Use it.
1221 2012-10-22 Akim Demaille <akim@lrde.epita.fr>
1223 tests: fix sed portability issues
1224 Reported by Didier Godefroy,
1225 <http://lists.gnu.org/archive/html/bug-bison/2012-10/msg00005.html>.
1227 * tests/calc.at (AT_CHECK_SPACES): Use Perl.
1229 2012-10-22 Akim Demaille <akim@lrde.epita.fr>
1231 tests: diff -u is not portable
1232 Reported by Didier Godefroy
1233 <http://lists.gnu.org/archive/html/bug-bison/2012-10/msg00006.html>.
1235 * tests/existing.at (AT_LALR1_DIFF_CHECK): Skip if diff -u does not
1238 2012-10-22 Akim Demaille <akim@lrde.epita.fr>
1241 * README-hacking (Typical errors): Improve wording.
1243 2012-10-22 Akim Demaille <akim@lrde.epita.fr>
1245 lalr1.cc: fix test suite portability
1246 Reported by Rob Vermaas' Hydra build farm on x86_64-darwin 10.2.0 with
1249 * tests/headers.at (Several parsers): Include AT_DATA_SOURCE_PROLOGUE
1250 in the files to compile.
1251 * data/location.cc: Do not include twice string and iostream (once
1252 by position.hh, and then by location.hh).
1253 * README-hacking (Typical errors): Some hints for other maintainers.
1255 2012-10-22 Theophile Ranquet <theophile.ranquet@gmail.com>
1257 maint: fix an erroneous include
1258 This fixes test 130 (Several parsers).
1260 * data/location.cc: Include <iostream> rather than <iosfwd> since
1261 we really need << on strings for instance.
1262 * NEWS: Document this.
1264 2012-10-22 Akim Demaille <akim@lrde.epita.fr>
1266 tests: check that headers are self contained
1267 Reported by Alexandre Duret-Lutz.
1269 * tests/headers.at (Several parsers): here.
1271 2012-10-22 Akim Demaille <akim@lrde.epita.fr>
1273 doc: add missing documentation for --report
1274 * doc/bison.texi (Bison Options): Document --report's "solved", "all",
1277 2012-10-22 Akim Demaille <akim@lrde.epita.fr>
1279 headers: move CPP guards into YY_*_INCLUDED to avoid collisions
1280 See <http://lists.gnu.org/archive/html/bug-bison/2012-09/msg00016.html>.
1282 * data/c.m4 (b4_cpp_guard): Prepend YY_ and append _INCLUDED.
1283 * tests/headers.at: Adjust.
1284 * NEWS, doc/bison.texi: Document.
1286 2012-10-22 Akim Demaille <akim@lrde.epita.fr>
1289 * NEWS: Word changes.
1290 * doc/bison.texi: Spell check.
1292 * tests/headers.at: Comment and formatting changes.
1294 2012-10-22 Akim Demaille <akim@lrde.epita.fr>
1298 2012-10-19 Akim Demaille <akim@lrde.epita.fr>
1302 2012-10-19 Akim Demaille <akim@lrde.epita.fr>
1304 xml: slight improvement of the DOT output
1305 This was completely forgotten... Nothing about XML is actually
1308 * data/xslt/xml2dot.xsl: Use boxes, and Courier font.
1310 2012-10-19 Akim Demaille <akim@lrde.epita.fr>
1312 maint: check for dot before using it
1313 * configure.ac: here.
1314 * doc/Makefile.am: Use $(DOT).
1315 Ship the generated files, to spare the user the need for Graphviz.
1317 2012-10-18 Theophile Ranquet <theophile.ranquet@gmail.com>
1319 graphs: documentation
1320 Note that 'make web-manual' fails.
1322 * NEWS: Document these changes.
1323 * doc/Makefile.am: Adjust to generate example files.
1324 * doc/bison.texi: Add a Graphviz section after "Understanding::", the section
1325 describing the .output file, because these are similar.
1326 * doc/figs/example-reduce.dot, doc/figs/example-reduce.txt,
1327 doc/figs/example-shift.dot, doc/figs/example-shift.txt: New, minimal
1328 examples to illustrate the documentation.
1330 2012-10-18 Theophile Ranquet <theophile.ranquet@gmail.com>
1332 graphs: add tests, introducing -k graph
1333 * tests/output.at (AT_TEST): New.
1334 Use it to add 6 --graph tests.
1336 2012-10-18 Theophile Ranquet <theophile.ranquet@gmail.com>
1338 graphs: change the output format of the rules
1339 Use something similar to the report file.
1341 * src/print_graph.c (print_lhs): New, obstack equivalent of rule_lhs_print.
1342 (print_core): Use here.
1344 2012-10-18 Theophile Ranquet <theophile.ranquet@gmail.com>
1346 graphs: style changes
1347 * src/graphviz.c (start_graph): Use courier font.
1348 (conclude_red): Use commas to separate attributes. Show the acceptation
1349 as a special reduction, with a blue color and an "Acc" label. Show the
1350 lookahead tokens between square brackets.
1351 (output_red): No longer label default reductions.
1352 * src/print_graph.c (print_core): Refactor spacing, and print an
1353 additional space between a rule's rhs and its lookahead tokens. Also,
1355 (print_actions): Style, move a declaration.
1357 2012-10-18 Theophile Ranquet <theophile.ranquet@gmail.com>
1359 graphs: address an issue with R/R conflicts
1360 All disabled reductions should now be shown as such.
1362 * src/graphviz.c (output_red): Here.
1363 (conclude_red): New.
1365 2012-10-16 Akim Demaille <akim@lrde.epita.fr>
1368 * data/java.m4: Remove stray M4 characters.
1370 2012-10-12 Akim Demaille <akim@lrde.epita.fr>
1372 java: use api.location.type and api.position.type
1373 * data/java.m4: here.
1374 * NEWS, doc/bison.texi, tests/java.at: Adjust.
1376 2012-10-12 Akim Demaille <akim@lrde.epita.fr>
1378 tests: check %no-lines
1379 * tests/synclines.at: here.
1381 2012-10-12 Akim Demaille <akim@lrde.epita.fr>
1383 tests: minor simplification
1384 * tests/headers.at (Several parsers): Use *.y even for C++.
1386 2012-10-11 Akim Demaille <akim@lrde.epita.fr>
1388 graphs: stylistic changes.
1389 * src/graphviz.c (output_red): Comment and formatting changes.
1391 2012-10-11 Theophile Ranquet <ranquet@lrde.epita.fr>
1393 graphs: minor style changes
1394 * src/graphviz.c (output_red): Fix C90 issues.
1395 Reduce variable scopes.
1397 2012-10-11 Theophile Ranquet <ranquet@lrde.epita.fr>
1399 graphs: show reductions
1400 * src/graphviz.c (output_red): New, show reductions on the graph.
1401 (no_reduce_bitset_init): New, initialize a bitset.
1402 (print_token): New, print a lookahead token.
1403 (escape): New, print "foo" as \"foo\" because Dot doesn't like quotes within
1406 * src/graphviz.h : Adjust.
1407 * src/print_graph.c (print_actions): Call output_red here.
1409 2012-10-11 Theophile Ranquet <theophile.ranquet@gmail.com>
1411 graphs: style: prefix state number with "state"
1412 * src/print_graph.c (print_core): Here.
1414 2012-10-11 Theophile Ranquet <ranquet@lrde.epita.fr>
1416 graphs: style: use left justification for states
1417 The label text of nodes is centered "by default" (by the use of '\n' as
1418 a line feed). This gives bad readability to the grammar rules shown in
1419 state nodes, a left justification is much nicer. This is done by using '\l'
1422 In order to allow \l in the DOT file, changes to the quoting system seem
1425 * src/print_graph.c (print_core): Escape tokens here, instead of...
1426 * src/graphviz.c (output_node): Here...
1427 (escape): Using this, new.
1429 2012-10-11 Theophile Ranquet <theophile.ranquet@gmail.com>
1431 graphs: style: prefix rules and change shapes
1432 * src/graphviz.c (start_graph): Use box rather than ellipsis.
1433 * src/print_graph.c (print_core): Prefix rules with their number.
1435 2012-10-11 Theophile Ranquet <theophile.ranquet@gmail.com>
1437 obstack: import obstack_finish0 from master
1438 * src/system.h (obstack_finish0): New.
1440 2012-10-09 Akim Demaille <akim@lrde.epita.fr>
1442 c++: api.location.type
1443 This feature was introduced in 95a2de5695670ae0df98cb3c42141cad549f0204
1444 (which is part of 2.5), but not documented. Give it a proper name, and
1447 * data/c++.m4, data/lalr1.cc, data/glr.cc, data/java.m4: Use
1448 api.location.type instead of location_type.
1449 * src/muscle-tab.c (muscle_percent_variable_update): Map the latter to
1451 * tests/local.at: Adjust.
1452 * tests/calc.at: Use api.location.type.
1453 Leave tests/java.at with location_type, at least for the time being,
1454 to cover both names.
1455 * doc/bison.texi: Document api.location.type.
1456 (User Defined Location Type): New.
1459 2012-10-09 Akim Demaille <akim@lrde.epita.fr>
1461 muscles: a function for backward compatibility
1462 Based on commit 171ad99d6421935a278656be6dc7161591835d00 from master.
1464 * src/muscle-tab.c (muscle_percent_variable_update): New.
1465 (muscle_percent_define_insert): Use it.
1466 Define the variables with their initial value.
1468 2012-10-09 Akim Demaille <akim@lrde.epita.fr>
1471 * src/output.c (ARRAY_CARDINALITY): Move to...
1472 * src/system.h: here.
1473 (STREQ, STRNEQ): new.
1475 2012-10-08 Akim Demaille <akim@lrde.epita.fr>
1477 NEWS: warnings with clang
1480 2012-10-08 Akim Demaille <akim@lrde.epita.fr>
1482 warnings: avoid warnings from clang
1483 Fix the following warning
1485 parse-gram.c:2078:14: error: equality comparison with extraneous parentheses
1486 [-Werror,-Wparentheses-equality]
1487 if (((yyn) == (-91)))
1489 parse-gram.c:2078:14: note: remove extraneous parentheses around the
1490 comparison to silence this warning
1491 if (((yyn) == (-91)))
1493 parse-gram.c:2078:14: note: use '=' to turn this equality comparison into
1495 if (((yyn) == (-91)))
1500 and the following one:
1502 input.cc:740:1: error: function declared 'noreturn' should not return
1503 [-Werror,-Winvalid-noreturn]
1504 static void yyMemoryExhausted (yyGLRStack* yystackp)
1505 __attribute__ ((__noreturn__));
1507 yyMemoryExhausted (yyGLRStack* yystackp)
1509 YYLONGJMP (yystackp->yyexception_buffer, 2);
1512 1 warning and 1 error generated.
1514 This is Apple clang version 3.1 (tags/Apple/clang-318.0.61).
1516 * data/c.m4 (b4_table_value_equals): Use (!!(A == B)) instead of (A == B)
1517 to avoid this warning.
1518 Any reasonable compiler should generate the same code.
1519 * src/uniqstr.h (UNIQSTR_EQ): Likewise.
1520 * data/glr.c (LONGJMP): abort after longjmp to pacify clang.
1522 2012-10-08 Akim Demaille <akim@lrde.epita.fr>
1524 tests: no longer disable -O compiler options
1525 Tests are running without -O since
1526 f377f69fec28013c79db4efe12bbb9d48987fb2c because some warnings (about
1527 yylval not being initialized) show only when GCC is given -O2. The
1528 previous patch fixes the warnings. Run the test suite with compiler
1531 * tests/atlocal.in (O0CFLAGS, O0CXXFLAGS): Remove, use CFLAGS and
1534 2012-10-08 Paul Eggert <eggert@cs.ucla.edu>
1536 yacc.c: initialize yylval in pure-parser mode
1537 See http://lists.gnu.org/archive/html/bison-patches/2012-08/msg00024.html
1538 (spreading over September and October).
1540 * data/yacc.c (YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN)
1541 (YY_IGNORE_MAYBE_UNINITIALIZED_END, YYLVAL_INITIALIZE):
1542 New macros. Use them to suppress an unwanted GCC diagnostic.
1544 2012-10-08 Akim Demaille <akim@lrde.epita.fr>
1546 skeletons: style changes
1547 * data/yacc.c, data/glr.c: Prefer Title case for (CPP) macro arguments.
1549 2012-10-06 Akim Demaille <akim@lrde.epita.fr>
1551 lalr1.cc: document exception safety
1553 * doc/bison.texi (Destructor Decl, C++ Parser Interface): and there.
1555 2012-10-06 Akim Demaille <akim@lrde.epita.fr>
1557 lalr1.cc: check exception safety of error handling
1558 * tests/c++.at (Exception safety): Don't use swap here, it
1560 Cover more test cases: yyerror, YYERROR, YYABORT, and
1562 (Object): Instead of just keeping a counter of instances, keep
1565 2012-10-06 Akim Demaille <akim@lrde.epita.fr>
1567 lalr1.cc: check (and fix) %printer exception safety
1568 * tests/c++.at (Exception safety): Let the parser support the --debug
1570 On 'p', throw an exception from the %printer.
1571 * data/lalr1.cc (yyparse): Do not display the values we discard, as it
1572 uses %printer, which might have thrown the exception.
1574 2012-10-06 Akim Demaille <akim@lrde.epita.fr>
1576 lalr1.cc: check (and fix) %initial-action exception safety
1577 * data/lalr1.cc: Check size > 1, rather than size != 1, when cleaning
1578 the stack, as at the beginning, size is 0.
1579 * tests/c++.at (Exception safety): Check exception safety in
1582 2012-10-06 Akim Demaille <akim@lrde.epita.fr>
1584 lalr1.cc: fix exception safety
1585 lalr1.cc does not reclaim its memory when ended by an exception.
1587 Reported by Oleksii Taran:
1588 http://lists.gnu.org/archive/html/help-bison/2012-09/msg00000.html
1590 * data/lalr1.cc (yyparse): Protect the whole yyparse by a try-catch
1591 block that cleans the stack and the lookahead.
1593 2012-10-06 Akim Demaille <akim@lrde.epita.fr>
1595 lalr1.cc: check exception safety.
1596 * tests/c++.at (Exception safety): New.
1598 2012-10-06 Akim Demaille <akim@lrde.epita.fr>
1600 lalr1.cc: indentation fixes.
1601 * data/lalr1.cc (yyparse): here.
1602 Untabify a block of code.
1604 2012-10-06 Akim Demaille <akim@lrde.epita.fr>
1606 lalr1.cc: don't leave macros define to nothing
1607 * data/lalr1.cc (YY_SYMBOL_PRINT, YY_REDUCE_PRINT, YY_STACK_PRINT):
1608 Define to something so that, for instance, "if (foo) YY_SYMBOL_PRINT"
1609 is valid even when !YYDEBUG.
1611 2012-10-06 Akim Demaille <akim@lrde.epita.fr>
1613 tests: minor improvements
1614 * tests/c++.at: Space changes.
1615 Use AT_YYERROR_DEFINE.
1616 * tests/local.at (AT_YYERROR_DEFINE): Issue errors on unknown languages.
1618 2012-10-05 Akim Demaille <akim@lrde.epita.fr>
1620 tests: use $PERL instead of perl
1621 * tests/atlocal.in (PERL): New.
1623 * tests/calc.at, tests/input.at, tests/local.at, tests/regression.at,
1624 * tests/skeletons.at, tests/synclines.at, tests/torture.at: here.
1626 2012-10-05 Akim Demaille <akim@lrde.epita.fr>
1628 build: look for Perl in configure.
1629 Bison uses "/usr/bin/perl" or "perl" in several places, and it does
1630 not appear to be a problem. But, at least to make it simpler to
1631 change PERL on the make command line, check for perl in configure.
1633 * configure.ac (PERL): New.
1634 * doc/Doxyfile.in, doc/Makefile.am, tests/bison.in: Use it.
1636 2012-10-05 Akim Demaille <akim@lrde.epita.fr>
1638 tests: fix sed portability issues
1639 Reported by Didier Godefroy,
1640 <http://lists.gnu.org/archive/html/bug-bison/2012-10/msg00005.html>.
1642 * tests/calc.at (AT_CHECK_SPACES): Use Perl.
1644 2012-10-05 Akim Demaille <akim@lrde.epita.fr>
1646 tests: diff -u is not portable
1647 Reported by Didier Godefroy
1648 <http://lists.gnu.org/archive/html/bug-bison/2012-10/msg00006.html>.
1650 * tests/existing.at (AT_LALR1_DIFF_CHECK): Skip if diff -u does not
1653 2012-10-04 Akim Demaille <akim@lrde.epita.fr>
1656 * README-hacking (Typical errors): Improve wording.
1658 2012-10-04 Akim Demaille <akim@lrde.epita.fr>
1660 lalr1.cc: fix test suite portability
1661 Reported by Rob Vermaas' Hydra build farm on x86_64-darwin 10.2.0 with
1664 * tests/headers.at (Several parsers): Include AT_DATA_SOURCE_PROLOGUE
1665 in the files to compile.
1666 * data/location.cc: Do not include twice string and iostream (once
1667 by position.hh, and then by location.hh).
1668 * README-hacking (Typical errors): Some hints for other maintainers.
1670 2012-10-03 Theophile Ranquet <theophile.ranquet@gmail.com>
1672 maint: fix an erroneous include
1673 This fixes test 130 (Several parsers).
1675 * data/location.cc: Include <iostream> rather than <iosfwd> since
1676 we really need << on strings for instance.
1677 * NEWS: Document this.
1679 2012-10-03 Akim Demaille <akim@lrde.epita.fr>
1681 tests: check that headers are self contained
1682 Reported by Alexandre Duret-Lutz.
1684 * tests/headers.at (Several parsers): here.
1686 2012-10-03 Akim Demaille <akim@lrde.epita.fr>
1688 doc: add missing documentation for --report
1689 * doc/bison.texi (Bison Options): Document --report's "solved", "all",
1692 2012-10-01 Akim Demaille <akim@lrde.epita.fr>
1694 headers: move CPP guards into YY_*_INCLUDED to avoid collisions
1695 See <http://lists.gnu.org/archive/html/bug-bison/2012-09/msg00016.html>.
1697 * data/c.m4 (b4_cpp_guard): Prepend YY_ and append _INCLUDED.
1698 * tests/headers.at: Adjust.
1699 * NEWS, doc/bison.texi: Document.
1701 2012-10-01 Akim Demaille <akim@lrde.epita.fr>
1704 * NEWS: Word changes.
1705 * doc/bison.texi: Spell check.
1707 * tests/headers.at: Comment and formatting changes.
1709 2012-09-28 Akim Demaille <akim@lrde.epita.fr>
1713 2012-09-28 Theophile Ranquet <theophile.ranquet@gmail.com>
1715 errors: indent "user token number redeclaration" context
1716 This is the continuation of the work on the readability of errors
1719 * src/symtab.c (user_token_number_redeclaration): Use
1720 complain_at_indent to output with increased indentation level.
1721 * tests/input:at: Apply this change.
1723 2012-09-26 Theophile Ranquet <ranquet@lrde.epita.fr>
1725 warnings: introduce -Wdeprecated in the usage info
1726 The deprecated warning, introduced some time ago, was not displayed in
1727 the usage message. This patch addresses the issue.
1729 * src/getargs.c (usage): Insert here.
1731 2012-09-26 Theophile Ranquet <ranquet@lrde.epita.fr>
1733 errors: prefix the output with "error: "
1734 This improves readability. This is also what gcc does.
1736 * NEWS: Document this change.
1737 * src/complain.c (complain_at): Prefix all errors with "error: ".
1738 (complain_at_indent, warn_at_indent): Do not prefix the context
1739 information of errors, which are basically just indented errors.
1740 * tests/conflicts.at, tests/glr-regression.at, tests/input.at,
1741 tests/named-refs.at, tests/output.at, tests/push.at,
1742 tests/regression.at, tests/skeletons.at: Apply this change.
1744 2012-09-26 Theophile Ranquet <ranquet@lrde.epita.fr>
1746 errors: indent "invalid value for %define" context
1747 This is the continuation of the work on the readability of errors
1750 For example, what used to be:
1751 input.y:1.9-29: invalid value for %define variable 'foo' : 'bar'
1752 input.y:1.9-29: accepted value: 'most'
1755 input.y:1.9-29: invalid value for %define variable 'foo' : 'bar'
1756 input.y:1.9-29: accepted value: 'most'
1758 * src/muscle-tab.c (muscle_percent_define_check_values): Use
1759 complain_at_indent to output with increased indentation level.
1760 * tests/input:at: Apply this change.
1762 2012-09-26 Theophile Ranquet <ranquet@lrde.epita.fr>
1764 errors: indent "%define var" redefinition context
1765 This is the continuation of the work on the readability of errors
1768 For example, what used to be:
1769 input.y:2.9-11: %define variable 'var' redefined
1770 input.y:1.9-11: previous definition
1773 input.y:2.9-11: %define variable 'var' redefined
1774 input.y:1.9-11: previous definition
1776 * src/muscle-tab.c (muscle_percent_define_insert): Use
1777 complain_at_indent to output with increased indentation level.
1778 * tests/input.at: Apply this change.
1780 2012-09-26 Theophile Ranquet <ranquet@lrde.epita.fr>
1782 errors: indent "symbol redeclaration" context
1783 This is the continuation of the work on the readability of errors
1786 For example, what used to be:
1787 input.y:5.10-24: %printer redeclaration for <field2>
1788 input.y:3.11-25: previous declaration
1791 input.y:5.10-24: %printer redeclaration for <field2>
1792 input.y:3.11-25: previous declaration
1794 * NEWS: Document this change.
1795 * src/symtab.c (symbol_redeclaration, semantic_type_redeclaration,
1796 user_token_number_redeclaration, default_tagged_destructor_set,
1797 default_tagless_destructor_set, default_tagged_printer_set,
1798 default_tagless_printer_set): Use complain_at_indent to
1799 output with increased indentation level.
1800 * tests/input.at: Apply this change.
1802 2012-09-26 Theophile Ranquet <ranquet@lrde.epita.fr>
1804 errors: indent "result type clash" error context
1805 This used to be the format of the error report:
1807 input.y:6.5-10: result type clash on merge function 'merge': [...]
1808 input.y:2.4-9: previous declaration
1810 In order to distinguish the actual error from the context provided, we
1811 rather this new output:
1813 input.y:6.5-10: result type clash on merge function 'merge': [...]
1814 input.y:2.4-9: previous declaration
1816 Another patch will introduce an "error: " prefix to all non-indented
1817 lines, giving yet better readability to the reports.
1819 * src/complain.h (SUB_INDENT): Move to here.
1820 * src/reader.c (record_merge_function_type): Use complain_at_indent to
1821 output with increased indentation level.
1822 * src/scan-code.l (SUB_INDENT): Remove from here.
1823 * tests/glr-regression.at: Apply this change.
1825 2012-09-25 Akim Demaille <akim@lrde.epita.fr>
1829 2012-09-25 Akim Demaille <akim@lrde.epita.fr>
1831 yacc: fix handling of CPP guards when no header is generated
1832 When no header was to be generated, Bison would issue:
1834 /* In a future release of Bison, this section will be replaced
1839 It now properly generates nothing.
1841 * data/c.m4 (b4_cpp_guard_open, b4_cpp_guard_close): Issue nothing when
1842 the file name is empty.
1843 * data/yacc.c: Do not generate the above comment when there is no header
1847 2012-09-25 Akim Demaille <akim@lrde.epita.fr>
1851 2012-09-04 Akim Demaille <akim@lrde.epita.fr>
1853 maint: remove useless file
1854 * externals/bootstrap.cfg: Remove.
1855 This file was used by a specific build system.
1856 It was added to the master repository by accident.
1858 2012-09-04 Akim Demaille <akim@lrde.epita.fr>
1860 update files to ignore
1861 * doc/.gitignore: Don't ignore split info files as we don't split our
1863 See <http://lists.gnu.org/archive/html/bug-bison/2012-08/msg00006.html>.
1865 2012-09-04 Akim Demaille <akim@lrde.epita.fr>
1867 remove useless include
1868 * src/system.h: Don't include sys/types.h.
1869 Reported by Eric Blake,
1870 <http://lists.gnu.org/archive/html/bug-bison/2012-09/msg00002.html>.
1871 (FUNCTION_PRINT): Remove, unused.
1873 2012-09-03 Jim Meyering <meyering@redhat.com>
1875 use locale-indep. c_is* functions for parsing, not isspace, isprint etc
1876 * src/parse-gram.y: Include "c-ctype.h".
1877 (add_param): Parse with c_isspace, not isspace.
1878 * src/parse-gram.c: Likewise.
1879 * src/scan-gram.l: Include c-ctype.h, not ctype.h.
1880 (SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER): Use c_isspace and c_isprint,
1881 not ctype.h's locale-dependent functions.
1883 2012-09-03 Akim Demaille <akim@lrde.epita.fr>
1887 2012-09-03 Akim Demaille <akim@lrde.epita.fr>
1889 --help: include a place to report translation issues
1890 http://lists.gnu.org/archive/html/bug-bison/2012-08/msg00007.html
1891 shows that it is useful to help users report translation issues.
1892 While at it, include other informative bits that the coreutils shows.
1894 * src/getargs.c (usage): Report more URLs where the user can
1896 Mostly copied/pasted from coreutils' emit_ancillary_info function.
1898 2012-08-31 Akim Demaille <akim@lrde.epita.fr>
1900 tests: style changes
1901 * tests/torture.at (AT_DATA_STACK_TORTURE): M4 style changes to
1902 improve readability.
1903 Fix an assertion which, because of a <= instead of ==, did not check
1904 new_status as visibly meant.
1907 2012-08-31 Akim Demaille <akim@lrde.epita.fr>
1909 tests: fix push-pull test
1910 * tests/torture.at: %push-pull-parser is no longer supported.
1912 2012-08-31 Akim Demaille <akim@lrde.epita.fr>
1914 yacc.c: style changes
1915 * data/yacc.c: (yytoken): Define with initial value.
1917 2012-08-03 Akim Demaille <akim@lrde.epita.fr>
1919 maint: post-release administrivia
1920 * NEWS: Add header line for next release.
1921 * .prev-version: Record previous version.
1922 * cfg.mk (old_NEWS_hash): Auto-update.
1924 2012-08-03 Akim Demaille <akim@lrde.epita.fr>
1927 * NEWS: Record release date.
1929 2012-08-02 Akim Demaille <akim@lrde.epita.fr>
1932 * NEWS: Catch up with the other changes from 2.6.1.
1934 2012-08-02 Akim Demaille <akim@lrde.epita.fr>
1936 yacc: remove trailing end of line at end of file
1937 There are still spurious spaces at the end of some lines. But this is
1938 addressed in the master branch, and I am reluctant to try to backport
1941 * data/yacc.c, data/glr.c, data/lalr1.cc, data/glr.cc: here.
1942 * tests/calc.at (AT_CHECK_SPACES): New.
1944 Be sure not to introduce trailing empty lines in the *.y files.
1946 * cfg.mk (syntax-check): Remove the exception.
1948 2012-08-02 Akim Demaille <akim@lrde.epita.fr>
1950 thanks: fix a contributor name
1951 * THANKS: On his request.
1953 2012-08-01 Akim Demaille <akim@lrde.epita.fr>
1957 2012-08-01 Akim Demaille <akim@lrde.epita.fr>
1959 tests: synch line -> syncline, for consistency
1960 * tests/synclines.at: Do it, as "syncline" is used consistently
1961 everywhere else in Bison.
1963 2012-08-01 Akim Demaille <akim@lrde.epita.fr>
1965 tests: synclines: style changes
1966 * tests/synclines.at (AT_TEST_SYNCLINE): Rename as...
1970 Use '+' instead of '*' where appropriate.
1972 2012-08-01 Akim Demaille <akim@lrde.epita.fr>
1974 tests: synclines: fix perl invocation
1975 Reported by Summum Bonum.
1977 * tests/synclines.at: Fix Perl invocation: its -f is not like sed's.
1979 2012-08-01 Akim Demaille <akim@lrde.epita.fr>
1983 2012-08-01 Akim Demaille <akim@lrde.epita.fr>
1985 c++: trailing end-of-lines in %parse-param
1986 * src/parse-gram.y (add_param): No only skip ' ' and '\t', skip all
1987 leading and trailing spaces.
1988 * tests/regression.at (Lex and parse params): Check it.
1989 * NEWS: Document it.
1991 2012-08-01 Akim Demaille <akim@lrde.epita.fr>
1994 * tests/regression.at: Remove useless compilations: AT_FULL_COMPILE
1995 includes the compilation by bison.
1997 2012-07-31 Akim Demaille <akim@lrde.epita.fr>
2000 This is not just nicer, it is also much safer, since we were
2003 * bootstrap.conf: Require it.
2004 * src/system.h (obstack_fgrow1, obstack_fgrow2, obstack_fgrow3)
2005 (obstack_fgrow4): Remove.
2006 Adjust dependencies.
2008 2012-07-30 Akim Demaille <akim@lrde.epita.fr>
2010 scanner: restore a missing start condition
2011 $ flex src/scan-skel.l
2012 src/scan-skel.l:145: multiple <<EOF>> rules for start condition SC_AT_DIRECTIVE_ARGS
2013 src/scan-skel.l:145: multiple <<EOF>> rules for start condition SC_AT_DIRECTIVE_SKIP_WS
2014 This is warning, and it seems there are no means to make it an error.
2016 * src/scan-skel.l: Restore the start-condition INITIAL for an <<EOF>>
2019 2012-07-30 Akim Demaille <akim@lrde.epita.fr>
2023 2012-07-30 Akim Demaille <akim@lrde.epita.fr>
2025 maint: post-release administrivia
2026 * NEWS: Add header line for next release.
2027 * .prev-version: Record previous version.
2028 * cfg.mk (old_NEWS_hash): Auto-update.
2030 2012-07-30 Akim Demaille <akim@lrde.epita.fr>
2033 * NEWS: Record release date.
2035 2012-07-30 Akim Demaille <akim@lrde.epita.fr>
2039 2012-07-27 Akim Demaille <akim@lrde.epita.fr>
2041 maint: fix some syntax-check issues
2042 * cfg.mk: Nuke the following warnings which are confused by our
2043 text reports (that state that the error token is number 256).
2044 prohibit_magic_number_exit
2045 ../../doc/bison.texi:8170:error (256)
2046 ../../tests/conflicts.at:570:error (256)
2047 ../../tests/conflicts.at:673:error (256)
2048 ../../tests/conflicts.at:811:error (256)
2049 ../../tests/conflicts.at:1154:error (256)
2050 ../../tests/regression.at:281:error (256)
2051 ../../tests/regression.at:582:error (256)
2052 maint.mk: use EXIT_* values rather than magic number
2054 2012-07-27 Akim Demaille <akim@lrde.epita.fr>
2056 tests: do not depend on __cplusplus to decide for C++ or C output
2057 Since we do support compiling C code with a C++ compiler.
2059 * tests/actions.at (Qualified $$ in actions): Use AT_SKEL_CC_IF.
2061 2012-07-27 Akim Demaille <akim@lrde.epita.fr>
2065 2012-07-27 Akim Demaille <akim@lrde.epita.fr>
2067 synclines: remove spurious empty line
2068 * data/bison.m4 (b4_syncline): Do not start with an empty line.
2070 2012-07-27 Akim Demaille <akim@lrde.epita.fr>
2072 also support $<foo>$ in the %initial-action
2073 scan-code.l is already passing argument to b4_dollar_dollar for the
2074 initial acton, but its definition (of b4_dollar_dollar) does not use
2077 Generalize this definition, and use it for the %initial-action too.
2079 * data/c.m4 (b4_dollar_dollar_, b4_dollar_pushdef, b4_dollar_popdef):
2080 Instead of expecting a pointer, require a value, and use ".".
2081 Since they are now generic enough, move to...
2082 * data/c-like.m4: this new file.
2083 * data/c.m4, data/java.m4: Load it.
2084 * data/glr.c, data/lalr1.cc, data/lalr1.java, data/yacc.c: Use
2085 b4_dollar_pushdef for the %initial-action.
2086 * tests/actions.at: Check that.
2087 * data/Makefile.am: Adjust.
2088 * NEWS, doc/bison.texi: Document.
2090 2012-07-27 Akim Demaille <akim@lrde.epita.fr>
2092 skeletons: b4_dollar_pushdef and popdef to simpify complex definitions
2093 M4 is really making it uselessly hard to define macros that define
2095 * data/c.m4 (b4_dollar_pushdef, b4_dollar_popdef): New.
2098 2012-07-27 Akim Demaille <akim@lrde.epita.fr>
2102 2012-07-27 Akim Demaille <akim@lrde.epita.fr>
2104 printer/destructor: translate only once
2105 Currently "%printer {...} a b c d e f" translates the {...} six times.
2106 Not only is this bad for time and space, it also issues six times the
2109 * src/symlist.h, src/symlist.c (symbol_list_destructor_set)
2110 (symbol_list_printer_set): Take the action as code_props instead of
2112 * src/parse-gram.y: Translate these actions here.
2113 * src/scan-code.h: Comment change.
2114 * tests/input.at: Check that warnings are issued only once.
2116 2012-07-27 Akim Demaille <akim@lrde.epita.fr>
2118 factor the handling of m4 escaping
2119 The conversion from @ to @@ and so forth is coded is too many
2120 different places. Factor, a bit.
2122 * src/scan-code.l: Instead of duplicating the logic of obstack_escape,
2124 It sure is less efficient, but the cost is negligible.
2125 This allows to factor rules that are alike.
2126 And to factor some start-condition clauses.
2127 * tests/input.at (Stray $ or @): New.
2128 * NEWS: Document it.
2130 2012-07-27 Akim Demaille <akim@lrde.epita.fr>
2132 news: schedule the removal of the ";" hack
2133 scan-code.l is significantly more complex because of this.
2137 2012-07-27 Akim Demaille <akim@lrde.epita.fr>
2139 style changes in the scanners
2140 * src/scan-code.l, src/scan-skel.l: Use a more traditional indentation
2141 style for start-conditions.
2142 Prefer "continue" to a comment, for empty actions.
2144 Remove useless start-condition clauses.
2146 2012-07-26 Akim Demaille <akim@lrde.epita.fr>
2150 2012-07-26 Akim Demaille <akim@lrde.epita.fr>
2152 support $<tag>$ in printers and destructors
2153 * src/scan-code.l (SC_SYMBOL_ACTION): Accept $<tag>$, not just $$.
2154 * data/c.m4 (b4_dollar_dollar_): New.
2155 (b4_symbol_actions): Let b4_dollar_dollar use b4_dollar_dollar_.
2156 * NEWS, doc/bison.texi: Document it.
2157 * tests/actions.at: Check this for C and C++.
2159 2012-07-26 Akim Demaille <akim@lrde.epita.fr>
2161 scan-code: factor the handling of the type in $<TYPE>$
2162 * src/scan-code.l (fetch_type_name): New.
2163 (handle_action_dollar): Use it.
2164 (gt_ptr): Remove, useless.
2166 2012-07-26 Akim Demaille <akim@lrde.epita.fr>
2168 muscles: fix another occurrence of unescaped type name
2169 * src/output.c (quoted_output): Split into...
2170 (quoted_output, string_output): these.
2171 Use the former when outputting a type_name.
2172 * tests/input.at: Check this case.
2173 * src/symtab.h: Comment changes.
2175 2012-07-26 Akim Demaille <akim@lrde.epita.fr>
2177 glr.cc: fix the handling of yydebug
2178 * data/glr.cc (yydebug_): Remove, unused.
2179 (set_debug_level, debug_level): Work on yydebug instead.
2180 * doc/bison.texi, NEWS: Document this.
2182 2012-07-26 Akim Demaille <akim@lrde.epita.fr>
2186 2012-07-26 Akim Demaille <akim@lrde.epita.fr>
2189 * src/symtab.h: here.
2191 2012-07-26 Akim Demaille <akim@lrde.epita.fr>
2193 tests: fix an assertion
2194 * tests/local.at (AT_YYLEX_DEFINE): Be sure to check the array
2195 against its length, not its size in bytes.
2197 2012-07-26 Akim Demaille <akim@lrde.epita.fr>
2199 tests: adjust to GCC 4.8, which displays caret errors
2200 With GCC 4.8, the tests on synclines are skipped. Transform
2202 input.y:1:2: error: #error "1"
2208 input.y:1: #error "1"
2210 * tests/synclines.at (AT_SYNCLINES_COMPILE): Do it, using Perl instead of
2213 2012-07-26 Akim Demaille <akim@lrde.epita.fr>
2215 be sure to properly escape type names
2216 * src/scan-code.l: Use obstack_quote when passing type_name to m4.
2217 * tests/input.at (Code injection): New.
2218 * NEWS: Document it.
2219 Thanks to Paul Eggert for the wording.
2221 2012-07-26 Akim Demaille <akim@lrde.epita.fr>
2223 obstack_quote: escape and quote for M4
2224 * src/system.h (obstack_quote): New.
2225 * src/muscle-tab.c: Use it instead of obstack_escape where applicable.
2226 * src/scan-code.l: Since obstack_quote supports NULL, leave type_name
2227 as NULL instead of defaulting to "".
2229 2012-07-26 Akim Demaille <akim@lrde.epita.fr>
2231 muscles: shuffle responsabilities
2232 * src/muscle-tab.c (muscle_boundary_grow): Be in charge of quotation,
2233 instead of leaving this to the caller.
2235 2012-07-26 Akim Demaille <akim@lrde.epita.fr>
2237 muscles: make private functions static
2238 * src/muscle-tab.h, src/muscle-tab.c (muscle_boundary_grow)
2239 (muscle_location_grow): Now static.
2241 2012-07-26 Akim Demaille <akim@lrde.epita.fr>
2243 muscles: rename private functions/macros
2244 * src/muscle-tab.c (MUSCLE_COMMON_DECODE, muscle_string_decode)
2245 (muscle_location_decode): Not related to muscles, rename as...
2246 (COMMON_DECODE, string_decode, location_decode): these.
2248 2012-07-26 Akim Demaille <akim@lrde.epita.fr>
2250 obstack_escape: escape M4 characters
2251 * src/muscle-tab.h (MUSCLE_OBSTACK_SGROW): This is not related to
2252 muscles, so move to, and rename as...
2253 * src/system.h (obstack_escape): this.
2254 Adjust dependencies.
2256 2012-07-26 Akim Demaille <akim@lrde.epita.fr>
2259 * src/system.h (DEFAULT_TMPDIR): Remove, unused.
2261 2012-07-26 Akim Demaille <akim@lrde.epita.fr>
2263 maint: style changes
2264 * src/scan-code.l: Remove useless braces.
2267 * src/muscle-tab.c, src/system.h: Formatting changes.
2269 2012-07-24 Akim Demaille <akim@lrde.epita.fr>
2271 doc: avoid problems with case insensitive file systems
2272 makeinfo --html generates index.html, and the node "Index" will result
2273 in Index.html. On case insensitive file systems, such as on Mac OS X
2274 by default, this results in a single, invalid, file (Texinfo 4.13).
2275 See http://lists.gnu.org/archive/html/bug-texinfo/2012-07/msg00032.html
2277 * doc/bison.texi (Index): Rename as...
2278 (Index of Terms): this.
2280 2012-07-24 Stefano Lattarini <stefano.lattarini@gmail.com> (tiny change)
2282 configure: fix botched quoting
2283 * configure.ac: In the AC_SUBST call on 'VALGRIND_PREBISON'. Without
2284 this change, when running ./configure, I see:
2287 checking for valgrind... valgrind
2288 ./configure: line 35221: -q: command not found
2289 checking for Java compiler... gcj -C -fsource=1.3 -ftarget=1.4
2292 2012-07-20 Akim Demaille <akim@lrde.epita.fr>
2296 Reported by Ben Pfaff.
2298 2012-07-19 Akim Demaille <akim@lrde.epita.fr>
2300 maint: update gnu-web-doc-update.
2303 2012-07-19 Akim Demaille <akim@lrde.epita.fr>
2305 maint: post-release administrivia
2306 * NEWS: Add header line for next release.
2307 * .prev-version: Record previous version.
2308 * cfg.mk (old_NEWS_hash): Auto-update.
2310 2012-07-19 Akim Demaille <akim@lrde.epita.fr>
2313 * NEWS: Record release date.
2315 2012-07-19 Akim Demaille <akim@lrde.epita.fr>
2317 maint: prepare for release 2.6
2320 2012-07-18 Akim Demaille <akim@lrde.epita.fr>
2322 maint: post-release administrivia
2323 * NEWS: Add header line for next release.
2324 * .prev-version: Record previous version.
2325 * cfg.mk (old_NEWS_hash): Auto-update.
2327 2012-07-18 Akim Demaille <akim@lrde.epita.fr>
2330 * NEWS: Record release date.
2332 2012-07-18 Akim Demaille <akim@lrde.epita.fr>
2334 maint: prepare NEWS.
2336 2012-07-18 Akim Demaille <akim@lrde.epita.fr>
2339 * build-aux/Makefile.am: here.
2341 2012-07-18 Akim Demaille <akim@lrde.epita.fr>
2343 tests: adjust to case where the C compiler is actually a C++ compiler
2344 * tests/atlocal.in (CC_IS_CXX): New.
2345 * tests/headers.at (Several parsers): Use it.
2347 2012-07-18 Akim Demaille <akim@lrde.epita.fr>
2349 tests: fix dependencies
2350 * tests/Makefile.am: we need atconfig and atlocal to be up to date
2351 when calling testsuite.
2353 2012-07-18 Akim Demaille <akim@lrde.epita.fr>
2355 doc: fix Texinfo command
2356 * doc/bison.texi: In parens, use @pxref.
2358 2012-07-18 Akim Demaille <akim@lrde.epita.fr>
2360 maint: Valgrind on OS X.
2361 * configure.ac (VALGRIND_PREBISON): New.
2362 * tests/Makefile.am (maintainer-check-valgrind): Use it.
2363 * etc/darwin11.4.0.supp: New.
2364 * configure.ac, etc/Makefile.am: Use it.
2365 * configure.ac: Disable Valgrind on Mac OS X.
2366 * README-hacking: Explain why.
2368 2012-07-17 Akim Demaille <akim@lrde.epita.fr>
2370 tests: be sure that backups are safe.
2371 * tests/local.at (at_save_special_files): here.
2373 2012-07-17 Akim Demaille <akim@lrde.epita.fr>
2375 maint: dead comment.
2378 2012-07-17 Akim Demaille <akim@lrde.epita.fr>
2380 tests: refactor for legibility.
2381 * tests/local.at (AT_BISON_CHECK_WARNINGS, AT_BISON_CHECK_WARNINGS_):
2384 2012-07-17 Akim Demaille <akim@lrde.epita.fr>
2386 tests: refactor the bison invocations.
2387 * tests/local.at (m4_null_if, AT_BISON_CHECK_): New.
2389 2012-07-17 Akim Demaille <akim@lrde.epita.fr>
2391 maint: fix syntax-check ignore patterns.
2394 2012-07-17 Akim Demaille <akim@lrde.epita.fr>
2398 2012-07-16 Akim Demaille <akim@lrde.epita.fr>
2401 * gnulib: Update so that gitlog-to-changelog support --srcdir.
2402 * Makefile.am: Use it.
2404 2012-07-10 Akim Demaille <akim@lrde.epita.fr>
2407 * bootstrap, build-aux/.gitignore, gnulib, m4/.gitignore: update.
2409 2012-07-06 Akim Demaille <akim@lrde.epita.fr>
2411 maint: update release instructions
2412 * README-hacking: here.
2414 2012-07-05 Akim Demaille <akim@lrde.epita.fr>
2416 maint: post-release administrivia
2417 * NEWS: Add header line for next release.
2418 * .prev-version: Record previous version.
2419 * cfg.mk (old_NEWS_hash): Auto-update.
2421 2012-07-05 Akim Demaille <akim@lrde.epita.fr>
2424 * NEWS: Record release date.
2426 2012-07-05 Akim Demaille <akim@lrde.epita.fr>
2428 build: fix gen-ChangeLog call.
2429 * Makefile.am: Be sure to catch errors, and fix option name
2431 2012-07-05 Akim Demaille <akim@lrde.epita.fr>
2434 * gnulib/build-aux/do-release-commit-and-tag: Fix.
2436 2012-07-05 Akim Demaille <akim@lrde.epita.fr>
2438 tests: fix SKIP_IF for Java.
2439 * tests/local.at (AT_JAVA_COMPILE): here.
2441 2012-07-05 Akim Demaille <akim@lrde.epita.fr>
2443 api.prefix: incompatible with %name-prefix.
2444 * data/bison.m4: Make it incompatible.
2445 * tests/input.at: Check that it is.
2447 2012-07-05 Akim Demaille <akim@lrde.epita.fr>
2449 api.prefix: strengthen the tests and fix push-parsers.
2450 * tests/calc.at: Check api.prefix in addition to %name-prefix.
2451 * tests/headers.at: Check push parsers and pure interface.
2452 * tests/local.at: Use YYLTYPE renamed.
2453 * data/yacc.c (b4_declare_yyparse_push_): Handle api.prefix.
2454 * doc/bison.texi: Style changes.
2456 2012-07-05 Akim Demaille <akim@lrde.epita.fr>
2458 skeletons: style changes.
2459 * data/bison.m4: Define default values after having defined
2461 Kill a dead comment.
2463 2012-07-05 Akim Demaille <akim@lrde.epita.fr>
2465 NEWS: minor changes.
2466 * NEWS: style changes.
2468 2012-07-05 Akim Demaille <akim@lrde.epita.fr>
2470 api.prefix: improve the documentation for YYDEBUG.
2471 * doc/bison.texi: Explain how api.prefix is applied to YYDEBUG.
2473 2012-07-05 Akim Demaille <akim@lrde.epita.fr>
2476 * bootstrap, gnulib: Update.
2477 * cfg.mk (syntax-check): Don't check "error" usage in bison.texi.
2479 2012-07-04 Akim Demaille <akim@lrde.epita.fr>
2481 tests: headers.at: strengthen.
2482 * tests/headers.at (Several headers): Be stricter when checking
2483 the exported macros.
2485 2012-07-04 Akim Demaille <akim@lrde.epita.fr>
2487 glr.cc: do not override C++ definitions by C macros.
2489 * data/glr.cc: Fix overquotation.
2490 * tests/headers.at: Comment changes.
2492 2012-07-04 Akim Demaille <akim@lrde.epita.fr>
2494 YYLLOC_DEFAULT: factor, and don't export it in headers.
2495 * data/c++.m4, data/c.m4 (b4_yylloc_default_define): New.
2496 * data/glr.c, data/glr.cc, data/lalr1.cc, data/yacc.c: Use it.
2497 * data/glr.cc: Do not define YYLLOC_DEFAULT in the header file,
2498 but in the implementation one.
2500 2012-07-04 Akim Demaille <akim@lrde.epita.fr>
2502 api.prefix: do not use #define to handle YYSTYPE_IS_TRIVIAL etc.
2503 The following mixture is insane:
2505 #define YYSTYPE_IS_TRIVIAL PREFIX_STYPE_IS_TRIVIAL
2506 #if (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)
2508 since, of course YYSTYPE_IS_TRIVIAL is defined. Instead we could
2509 define YYSTYPE_IS_TRIVIAL as PREFIX_STYPE_IS_TRIVIAL only when the
2510 later is defined, but let's avoid stacking CPP on top of M4: rather, use
2512 #if (defined PREFIX_STYPE_IS_TRIVIAL && PREFIX_STYPE_IS_TRIVIAL)
2514 * data/glr.c, data/yacc.c: Use YYSTYPE_IS_TRIVIAL, YYSTYPE_IS_DECLARED,
2515 YYLTYPE_IS_TRIVIAL and YYLTYPE_IS_DECLARED under their api.prefix-renamed
2518 2012-07-04 Akim Demaille <akim@lrde.epita.fr>
2520 tests: portability fixes.
2523 * tests/headers.at (Several headers): Be sure to include config.h
2524 in the files to compile.
2526 2012-07-04 Akim Demaille <akim@lrde.epita.fr>
2528 c++: fewer #includes in the headers.
2529 * data/lalr1.cc: Define YY_NULL in the *.cc file, it is not needed
2531 * data/location.cc: iosfwd suffices.
2533 2012-07-04 Akim Demaille <akim@lrde.epita.fr>
2535 glr.cc: formatting changes.
2536 * data/glr.cc: here.
2538 2012-07-04 Akim Demaille <akim@lrde.epita.fr>
2541 * tests/headers.at (Several parsers): Here.
2543 2012-07-04 Akim Demaille <akim@lrde.epita.fr>
2545 api.prefix: also rename YYDEBUG.
2546 The testsuite in master has shown weird errors for the "Mulitple
2547 Parsers" tests: the caller of p5.parse() received some apparently
2548 random value, while tracing p5.parse() showed that the function was
2549 consistently returning 0.
2551 It happens when mixing several parser headers, some generated without
2552 %debug, others with. In particular the C++ parser was generated with
2559 and compiled separatedly. Yet, its header was included after the one
2560 of another parser, this time without %debug, i.e., with
2566 in its header. As a result, the parser was compiled with YYDEBUG set,
2567 but its header was used without. Since the layout of the objects are
2568 then completely different, boom.
2570 Therefore, do not change the value of YYDEBUG. Rather, use it as a
2571 default value for <API.PREFIX>DEBUG.
2573 * data/c.m4 (b4_YYDEBUG_define): New.
2574 (b4_declare_yydebug): Rename as...
2575 (b4_yydebug_declare): this, for consistency.
2576 * data/glr.c, data/glr.cc, data/lalr1.cc, data/yacc.c: Use it.
2577 * NEWS: Document it.
2579 2012-07-02 Akim Demaille <akim@lrde.epita.fr>
2584 2012-06-29 Akim Demaille <akim@lrde.epita.fr>
2587 * data/c.m4 (b4_api_prefix, b4_api_PREFIX): New.
2588 (b4_prefix, b4_union_name, b4_token_enums, b4_declare_yylstype): Use them.
2589 * data/glr.c, data/yacc.c, data/glr.cc, data/lalr1.cc: Use them to change
2590 the prefix of exported preprocessor symbols.
2591 * src/getargs.c (usage): Ditto.
2592 * tests/headers.at (Several parsers): New.
2593 * tests/local.at (AT_API_PREFIX): New.
2594 AT_YYSTYPE, AT_YYLTYPE): Adjust.
2595 * doc/bison.texi (Multiple Parsers): Move documentation of %name-prefix to...
2596 (Table of Symbols): here.
2597 (Multiple Parsers): Document api.prefix.
2598 (%define Summary): Point to it.
2599 Use @code for variable names.
2600 (Bison Options): -p/--name-prefix are obsoleted.
2601 * NEWS: Announce api.prefix.
2603 2012-06-28 Akim Demaille <akim@lrde.epita.fr>
2605 tests: use the generalized default yylex.
2606 * tests/actions.at, tests/glr-regression.at, tests/regression.at: here.
2608 2012-06-28 Akim Demaille <akim@lrde.epita.fr>
2610 tests: AT_YYERROR_DEFINE: prepare for list of ints.
2611 * tests/local.at (AT_YYERROR_DEFINE): Don't add quotes, check their
2612 presence to detect char/int types.
2613 * tests/actions.at, tests/conflicts.at, tests/glr-regression.at,
2614 * tests/push.at, tests/regression.at: Adjust.
2616 2012-06-27 Akim Demaille <akim@lrde.epita.fr>
2618 skeletons: no longer define YYLSP_NEEDED.
2619 * data/c.m4, data/glr.cc: here.
2620 * NEWS, TODO: Adjust.
2622 2012-06-27 Akim Demaille <akim@lrde.epita.fr>
2624 c++: do not export YYTOKEN_TABLE and YYERROR_VERBOSE.
2625 * src/output.c (prepare_symbols): Do not define b4_token_table.
2626 (prepare): Define b4_token_table_flag.
2627 * data/bison.m4 (b4_token_table_if): New.
2628 Arm it when error-verbose.
2629 * data/glr.c, data/yacc.c (YYTOKEN_TABLE): Remove.
2631 * data/lalr1.cc: Likewise.
2632 (YYERROR_VERBOSE): Remove.
2633 * NEWS, doc/bison.texi: Document this.
2635 2012-06-26 Akim Demaille <akim@lrde.epita.fr>
2638 This is more consistent with the other packages, and Automake-NG
2639 supports only *.texi.
2641 * doc/bison.texinfo: Rename as...
2642 * doc/bison.texi: this.
2643 * doc/Makefile.am, examples/calc++/Makefile.am: Adjust.
2645 2012-06-26 Akim Demaille <akim@lrde.epita.fr>
2647 tests: do not output m4 set up.
2648 * tests/local.at (AT_BISON_OPTION_PUSHDEFS, AT_BISON_OPTION_POPDEFS):
2649 Use a diversion to avoid outputting comments etc.
2650 Removes 17k lines from testsuite (10% of the number of lines).
2652 2012-06-26 Akim Demaille <akim@lrde.epita.fr>
2654 tests: use the generic yyerror function.
2655 * tests/actions.at (_AT_CHECK_PRINTER_AND_DESTRUCTOR): Factor.
2656 Use AT_YYERROR_DEFINE.
2657 Therefore, instead of using stdout, use and check stderr.
2658 * tests/glr-regression.at (Uninitialized location when reporting ambiguity):
2659 Use AT_YYERROR_DEFINE.
2661 2012-06-26 Akim Demaille <akim@lrde.epita.fr>
2663 tests: use assert instead of plain abort.
2664 * tests/actions.at, tests/calc.at, tests/conflicts.at,
2665 * tests/cxx-type.at, tests/glr-regression.at, tests/input.at,
2666 * tests/named-refs.at, tests/regression.at, tests/torture.at,
2668 Prefer assert to abort.
2670 2012-06-26 Akim Demaille <akim@lrde.epita.fr>
2672 tests: improve the generic yylex implementation.
2673 * tests/local.at (AT_YYSTYPE, AT_YYLTYPE): New.
2674 (AT_YYLEX_FORMALS): Use them.
2675 (AT_YYLEX_DEFINE): Be independent of the location implementation.
2677 2012-06-26 Akim Demaille <akim@lrde.epita.fr>
2679 tests: generalize the compilation macros.
2680 * tests/local.at (AT_COMPILE, AT_COMPILE_CXX): If OUTPUT ends with ".o",
2681 then append the "natural" extension for the input file (.c or .cc).
2682 If there is no source, pass -c.
2683 * tests/headers.at, tests/input.at, tests/regression.at: Adjust.
2685 2012-06-26 Akim Demaille <akim@lrde.epita.fr>
2687 tests: fix confusion between api.prefix and name-prefix.
2688 * tests/local.at (AT_NAME_PREFIX): Take api.prefix into account.
2689 (AT_API_PREFIX): Rename as...
2690 (AT_API_prefix): this.
2691 Do not take %name-prefix into account.
2694 2012-06-26 Akim Demaille <akim@lrde.epita.fr>
2698 2012-06-25 Akim Demaille <akim@lrde.epita.fr>
2700 yacc: work around the ylwrap limitation.
2701 * data/yacc.c (b4_shared_declarations): Include the header guards.
2702 Do not include the header in the *.c file, duplicate it.
2703 * NEWS (Future Changes): Extend, and announce the forthcoming change
2704 about the use of the parser header.
2706 2012-06-22 Akim Demaille <akim@lrde.epita.fr>
2708 tests: more uniformity.
2709 * tests/local.at (AT_LEX_FORMALS, AT_LEX_ARGS, AT_LEX_PRE_FORMALS)
2710 (AT_LEX_PRE_ARGS): Rename as...
2711 (AT_YYLEX_FORMALS, AT_YYLEX_ARGS, AT_YYLEX_PRE_FORMALS)
2712 (AT_YYLEX_PRE_ARGS): these, for consistency.
2713 (AT_API_PREFIX): Take %name-prefix into account.
2714 (AT_YYLEX_PROTOTYPE): New.
2716 * tests/actions.at, tests/calc.at, tests/cxx-type.at: Adjust to
2719 2012-06-22 Akim Demaille <akim@lrde.epita.fr>
2721 tests: handle locations in a more generic way.
2722 * tests/local.at (AT_YYERROR_PROTOTYPE): New.
2724 * tests/cxx-type.at: Extensive revamp to use a more traditional
2725 quotation scheme, and to use the generic yyerror implementation.
2726 Prefer Autotest macros to CPP macros.
2729 2012-06-22 Akim Demaille <akim@lrde.epita.fr>
2731 tests: handle locations in the generic yyerror functions.
2732 * tests/local.at (AT_YYERROR_DECLARE_EXTERN, AT_YYERROR_DECLARE)
2733 (AT_YYERROR_DEFINE): Handle locations for C and C++.
2734 * tests/calc.at: Use it for C++ (as C has extra arguments which
2735 are not yet handled by AT_BISON_OPTION_PUSHDEFS).
2736 * tests/actions.at: Adjust.
2738 2012-06-22 Akim Demaille <akim@lrde.epita.fr>
2740 tests: fix AT_CHECK_CALC.
2741 * tests/calc.at (AT_CHECK_CALC): Contrary to its documentation,
2742 the test was skipped if given a second argument.
2743 Unused feature, remove it.
2745 2012-06-22 Akim Demaille <akim@lrde.epita.fr>
2747 tests: improve infrastructure
2748 * tests/local.at (AT_LANG): Use c++ instead of cxx for C++.
2749 Adjust dependencies.
2750 (AT_YYERROR_DECLARE_EXTERN, AT_YYERROR_DECLARE): Issue nothing
2752 (AT_YYERROR_DEFINE): Use m4_case.
2753 (AT_JAVA_COMPILE): Use AT_SKIP_IF.
2755 2012-06-21 Akim Demaille <akim@lrde.epita.fr>
2758 * tests/glr-regression.at, tests/output.at, tests/push.at,
2759 * tests/regression.at, tests/torture.at, tests/actions.at:
2760 Use AT_YYLEX_* and AT_YYERROR_*.
2762 2012-06-21 Akim Demaille <akim@lrde.epita.fr>
2764 skeletons: minor style changes
2765 * data/glr.c, data/yacc.c: here.
2767 2012-06-21 Akim Demaille <akim@lrde.epita.fr>
2770 * tests/local.at (AT_BISON_OPTION_PUSHDEFS, AT_BISON_OPTION_POPDEFS):
2771 Define/undefine AT_LANGE
2772 (AT_LANG_COMPILE): New.
2773 (AT_FULL_COMPILE): Use AT_LANG.
2775 2012-06-21 Akim Demaille <akim@lrde.epita.fr>
2777 c skeletons: factor the declaration of yylloc and yylval.
2778 There is one difference: now, even without --defines, we generate
2779 extern declarations for these variables. The factoring is worth it.
2780 * data/c.m4 (b4_declare_yylstype): Declare them.
2781 * data/glr.c, data/yacc.c: Adjust.
2783 2012-06-21 Akim Demaille <akim@lrde.epita.fr>
2785 news: condemn YYPARSE_PARAM and YYLEX_PARAM.
2787 (Bison 1.875): Add %parse-param and %lex-param.
2788 * doc/bison.texinfo: Spello.
2790 2012-06-20 Akim Demaille <akim@lrde.epita.fr>
2793 * Makefile.am (regen): New target.
2795 2012-06-19 Akim Demaille <akim@lrde.epita.fr>
2797 maint: formatting changes.
2798 * NEWS: Fix indentation of code snippets.
2801 2012-06-17 Akim Demaille <akim@lrde.epita.fr>
2803 tests: support api.prefix.
2804 * tests/local.at (AT_BISON_OPTION_PUSHDEFS, AT_BISON_OPTION_POPDEFS):
2805 Define AT_API_PREFIX.
2806 (AT_YYERROR_DEFINE, AT_YYERROR_DECLARE_EXTERN, AT_YYLEX_DECLARE_EXTERN)
2807 (AT_YYLEX_DEFINE): Use it.
2808 * tests/input.at, tests/regression.at, tests/torture.at: Add
2809 AT_BISON_OPTION_PUSHDEFS/POPDEFS.
2811 2012-06-17 Akim Demaille <akim@lrde.epita.fr>
2813 tests: pacify font-lock-mode.
2814 * tests/local.at: here.
2816 2012-06-17 Akim Demaille <akim@lrde.epita.fr>
2818 tests: remove test covered elsewhere.
2819 * tests/headers.at (%union and --defines): Remove, pretty useless and
2822 2012-06-17 Akim Demaille <akim@lrde.epita.fr>
2824 tests: factor the declaration/definition of yyerror and yylex.
2825 * tests/local.at (AT_YYERROR_DECLARE, AT_YYERROR_DECLARE_EXTERN)
2826 (AT_YYERROR_DEFINE, AT_YYLEX_DECLARE, AT_YYLEX_DECLARE_EXTERN)
2827 (AT_YYLEX_DEFINE): New.
2828 Must be used inside AT_BISON_OPTION_PUSHDEFS/POPDEFS pair.
2829 * tests/actions.at, tests/conflicts.at, tests/glr-regression.at,
2830 * tests/headers.at, tests/input.at, tests/named-refs.at,
2831 * tests/regression.at, tests/skeletons.at, tests/synclines.at,
2832 * tests/torture.at: Use them.
2834 2012-06-17 Akim Demaille <akim@lrde.epita.fr>
2838 2012-06-17 Akim Demaille <akim@lrde.epita.fr>
2840 tests: portability issues.
2841 * tests/calc.at (AT_CALC_MAIN): Missing include reported by Hydra.
2843 2012-06-15 Akim Demaille <akim@lrde.epita.fr>
2845 tests: call the parser from another compilation unit.
2846 In order to improve the testing of %defines, which exports the
2847 interface of the generated parser, change the calc.at tests so that
2848 when %defines is passed, main will be in another compilation unit. It
2849 loads the generated header.
2851 * tests/calc.at (AT_CALC_MAIN): New.
2852 Includes the definition of the global variables.
2853 Therefore, now declare them from the %requires section of the parser.
2854 Adjust to yydebug and yyparse being renamed by %name-prefix.
2856 2012-06-15 Akim Demaille <akim@lrde.epita.fr>
2858 glr.c, yacc.c: declare yydebug in the header.
2859 * data/c.m4 (b4_declare_yydebug): New.
2860 * data/glr.c, data/yacc.c (b4_shared_declarations): Use it.
2861 Remove the corresponding code from the parser body.
2864 2012-06-15 Akim Demaille <akim@lrde.epita.fr>
2866 skeletons: use header guards.
2867 * data/glr.c, data/glr.cc, data/yacc.c: here.
2868 * NEWS: Document it.
2870 2012-06-15 Akim Demaille <akim@lrde.epita.fr>
2872 tests: improve AT_FULL_COMPILE.
2873 * tests/local.at: Accept a third argument.
2874 Simplify quotation pattern.
2875 Calls for better refactoring, but will suffice for a while.
2877 2012-06-15 Akim Demaille <akim@lrde.epita.fr>
2880 * tests/calc.at (power): Move its definition, as a preparation for
2881 forthcoming changes.
2884 2012-06-15 Akim Demaille <akim@lrde.epita.fr>
2886 tests: strengthen the test on generated headers inclusion
2887 * tests/headers.at (AT_TEST_CPP_GUARD_H): Accept Bison directives.
2888 (Invalid CPP headers): Check glr.
2890 2012-06-15 Akim Demaille <akim@lrde.epita.fr>
2892 yacc.c: instead of duplicating y.tab.h inside y.tac.c, include it.
2893 This is already what glr.c and lalr1.cc do.
2895 * data/yacc.c: here.
2897 2012-06-13 Akim Demaille <akim@lrde.epita.fr>
2900 yacc.c used to include two almost identical sections: one for the *.h
2901 file, and another for the *.c file. The main difference is that in
2902 the *.c file we used the yy* names (as %name-prefix is handled by
2903 "#define yy* <prefix>*" before), while the *.hh used <prefix>* names.
2904 Keep only the later. If this is troublesome, b4_shared_declarations
2905 can easily take the desired prefix as argument.
2907 * data/yacc.c (b4_shared_declarations): New.
2908 Use it to factor duplicated declarations.
2910 2012-06-12 Akim Demaille <akim@lrde.epita.fr>
2912 skeletons: factor yacc.c and glr.c.
2913 yacc.c and glr.c share common declarations. Their YYLTYPE are exactly
2914 equal, and their YYSTYPE are sufficiently alike to be fused (its
2915 declaration was protected by YYSTYPE_IS_DECLARED in yacc.c, but not in
2916 glr.c). Besides, yacc.c duplicated the definitions of YYLTYPE and
2919 * data/c.m4 (b4_declare_yylstype): New.
2920 * data/yacc.c, data/glr.c: Use it.
2922 2012-06-12 Akim Demaille <akim@lrde.epita.fr>
2924 glr.c: minor refactoring.
2925 * data/glr.c (b4_shared_declarations): Move from the generated file
2926 section, to the M4 prologue.
2928 2012-06-12 Akim Demaille <akim@lrde.epita.fr>
2930 tests: remove all the -On flags.
2931 * tests/atlocal.in: Here.
2932 Reported by Gilles Espinasse.
2934 2012-06-12 Akim Demaille <akim@lrde.epita.fr>
2937 * README-hacking: Here.
2938 * THANKS: Reported by Gilles Espinasse.
2940 2012-06-12 Akim Demaille <akim@lrde.epita.fr>
2942 maint: improve release procedure instructions.
2943 * gnulib: Update, in particular (README-release).
2944 * bootstrap.conf: don't require gendocs, provided by gnu-web-doc-update,
2945 provided by readme-release.
2946 * README-hacking: Update accordingly.
2948 2012-06-07 Akim Demaille <akim@lrde.epita.fr>
2950 gnulib: update readme-release.
2951 * gnulib (readme-release): Now includes the modules it promotes.
2952 * bootstrap.conf: Simplify accordingly.
2954 2012-06-07 Akim Demaille <akim@lrde.epita.fr>
2956 maint: cfg.mk: manual title.
2957 * cfg.mk (manuel_title): New.
2959 2012-06-07 Akim Demaille <akim@lrde.epita.fr>
2961 maint: cfg.mk: simplify
2962 * cfg.mk: Remove bits provided by maint.mk.
2964 2012-06-07 Akim Demaille <akim@lrde.epita.fr>
2966 maint: post-release administrivia
2967 * NEWS: Add header line for next release.
2968 * .prev-version: Record previous version.
2969 * cfg.mk (old_NEWS_hash): Auto-update.
2971 2012-06-05 Akim Demaille <akim@lrde.epita.fr>
2974 * NEWS: Record release date.
2976 2012-06-05 Akim Demaille <akim@lrde.epita.fr>
2978 NEWS: prepare for 2.5.1.
2979 * NEWS: Be compliant with do-release-commit-and-tag.
2981 2012-06-05 Akim Demaille <akim@lrde.epita.fr>
2983 maint: update release procedure
2984 * bootstrap.conf: Request do-release-commit-and-tag and readme-release.
2985 * README-hacking: Adjust.
2987 2012-06-05 Jim Meyering <meyering@redhat.com>
2989 maint: fix comment typos
2990 Using http://github.com/lyda/misspell-check, massage its
2991 output into sed commands to perform the suggested changes.
2992 Initially, I filtered out the THRU->Through changes, because
2993 that failed to retain capitalization in the grammar token.
2994 Instead, do this manually, beforehand:
2996 sed -i s/THRU/THROUGH/ tests/existing.at
2997 git ls-files|misspellings -f -|perl -nl \
2998 -e '/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/ or next;' \
2999 -e '($file,$n,$l,$r)=($1,$2,$3,$4); $q="'\''"; $r=~s/$q/$q\\$q$q/g;'\
3000 -e 'print "sed -i $q${n}s!$l!$r!$q $file"'|bash
3002 2012-05-23 Akim Demaille <akim@lrde.epita.fr>
3004 maint: post-release administrivia
3005 * NEWS: Add header line for next release.
3006 * .prev-version: Record previous version.
3007 * cfg.mk (old_NEWS_hash): Auto-update.
3009 2012-05-23 Akim Demaille <akim@lrde.epita.fr>
3014 2012-05-23 Akim Demaille <akim@lrde.epita.fr>
3017 * doc/bison.texinfo: Fix errors spotted by syntax-check.
3019 2012-05-23 Akim Demaille <akim@lrde.epita.fr>
3021 build: fix ChangeLog generation.
3022 * gnulib: Update to get newest gitlog-to-changelog.
3023 * bootstrap: Update.
3024 * Makefile.am (gen-ChangeLog): Fix for Bison's git log style.
3026 2012-05-21 Akim Demaille <akim@lrde.epita.fr>
3028 c++: compute the header guards.
3029 This is a frequent request. Recently pointed out by Wei Song,
3030 <http://lists.gnu.org/archive/html/help-bison/2012-05/msg00002.html>.
3032 * data/c.m4 (b4_tocpp, b4_cpp_guard, b4_cpp_guard_open)
3033 (b4_cpp_guard_close): New.
3034 * data/lalr1.cc, data/location.cc, data/stack.hh: Use them.
3035 * TODO (Header Guards): Move to...
3039 2012-05-21 Akim Demaille <akim@lrde.epita.fr>
3041 skeletons: remove support for unused directive.
3042 * src/scan-skel.l (@dir_prefix@): Remove support, has never been
3043 used, not even in the commit that introduced it,
3044 2b81e969ea04c1a6502928ba7e847ec8ff7dcb2f.
3046 2012-05-21 Akim Demaille <akim@lrde.epita.fr>
3048 lalr1.cc: improve Doxygen documentation.
3049 * data/location.cc: Qualify file names with directory name.
3051 2012-05-21 Akim Demaille <akim@lrde.epita.fr>
3053 lalr1.cc: extract stack.hh.
3054 See commit 51bacae6b58fd5c6cce861f00440dc917384625e.
3055 * data/stack.hh: New, extracted from...
3056 * data/lalr1.cc: here.
3057 * data/Makefile.am: Adjust.
3059 2012-05-21 Akim Demaille <akim@lrde.epita.fr>
3061 news: convert to double quotes.
3062 * NEWS: Convert from `quoted' to "quoted".
3063 Reported by Stefano Lattarini.
3064 http://lists.gnu.org/archive/html/bison-patches/2012-05/msg00039.html
3066 2012-05-21 Akim Demaille <akim@lrde.epita.fr>
3069 * src/flex-scanner.h: Indent nested cpp directives.
3071 2012-05-21 Akim Demaille <akim@lrde.epita.fr>
3073 build: do not prototype flex-generated functions.
3074 Some versions of Flex, possibly modified by the distribution package
3075 maintainers, have incompatible signatures. Since newer versions of
3076 Flex prototype their functions, avoid the conflicts in that case.
3077 Reported by Stefano Lattarini.
3078 <http://lists.gnu.org/archive/html/bug-bison/2012-05/msg00012.html>.
3080 * src/flex-scanner.h (FLEX_VERSION_GT): New.
3081 Use it to issue prototypes for flex-generated functions only for
3082 versions up to 2.5.31, in accordance with the comment.
3083 See commit dc9701e848f27ae64b6ddcf809580998667d60f2.
3084 Use it to define yylex_destroy when needed.
3086 2012-05-16 Akim Demaille <akim@lrde.epita.fr>
3088 build: fix ChangeLog generation.
3089 * Makefile.am (gen-ChangeLog): Fix for VPATH builds.
3091 2012-05-14 Akim Demaille <akim@lrde.epita.fr>
3095 * src/parse-gram.c, src/parse-gram.h: Regen.
3097 2012-05-11 Akim Demaille <akim@lrde.epita.fr>
3099 tests: save/restore Autotest special files when checking XML support.
3100 Currently the test 248, "parse-gram.y: LALR = IELR", fails
3101 BISON_TEST_XML is set.
3103 * tests/local.at (AT_BISON_CHECK_XML): Belt: Save/restore files.
3104 * tests/regression.at (parse-gram.y: LALR = IELR): Suspenders: Don't
3106 Each one of these changes suffices.
3108 2012-05-11 Akim Demaille <akim@lrde.epita.fr>
3110 tests: AT_SAVE_SPECIAL_FILES / AT_RESTORE_SPECIAL_FILES.
3111 Some of our macros play with expout and other Autotest special files,
3112 which may break their callers (e.g., currently TESTSUITEFLAGS='248
3113 BISON_TEST_XML=1' fails).
3115 There is already some support for this. Expand it to be ready to use
3118 * tests/local.at (AT_RESTORE_SPECIAL_FILES, AT_SAVE_SPECIAL_FILES)
3119 (at_save_special_files, at_restore_special_files): New.
3120 (AT_BISON_CHECK_NO_XML): Use them.
3122 2012-05-11 Akim Demaille <akim@lrde.epita.fr>
3124 tests: honor TESTSUITEFLAGS in all the check targets.
3125 * tests/Makefile.am (installcheck-local): Simplify.
3126 (maintainer-check-posix, maintainer-check-valgrind): Honor
3129 2012-05-11 Akim Demaille <akim@lrde.epita.fr>
3131 build: do not enable c++ warnings on 0 when nullptr is not supported.
3132 * configure.ac (WARN_CXXFLAGS): Enable -Wzero-as-null-pointer-constant
3133 only when nullptr is supported..
3135 2012-05-11 Akim Demaille <akim@lrde.epita.fr>
3137 maint: update gnulib.
3138 * bootstrap, gnulib: Update.
3140 2012-05-09 Akim Demaille <akim@lrde.epita.fr>
3143 Historically we used config.hin (where everybody else used
3144 config.h.in) to please DOS. Now that we use gnulib, there are already
3145 tons of files with several dots, especially *.in.h.
3147 * configure.ac: Rename config.hin as config.in.h.
3149 2012-05-09 Akim Demaille <akim@lrde.epita.fr>
3151 build: move silent rules.
3152 * tests/Makefile.am: In the generation of the test suite.
3154 2012-05-09 Akim Demaille <demaille@gostai.com>
3156 glr.c: reduce variable scopes.
3157 * data/glr.c: Where appropriate, fuse variable declarations followed
3158 by assignments by variable declarations with a value.
3159 Where appropriate, introduce new scopes to limit variable spans.
3161 2012-05-08 Akim Demaille <akim@lrde.epita.fr>
3163 maint: maintainer-release-check.
3164 * tests/Makefile.am (maintainer-release-check): New.
3165 * Makefile.am (MAINTAINER_CHECKS): New.
3166 Support maintainer-release-check.
3167 * README-hacking: Document it, and syntax-check too.
3169 2012-05-08 Akim Demaille <akim@lrde.epita.fr>
3171 maint: shush a syntax-check.
3172 * cfg.mk: lib/timevar is not planned to be gnulib'ed, as it comes
3175 2012-05-08 Akim Demaille <akim@lrde.epita.fr>
3177 maint: prefer "commit message" to "log entry".
3178 * README-hacking: here.
3179 Suggested by Stefano Lattarini.
3181 2012-05-08 Akim Demaille <akim@lrde.epita.fr>
3183 command line: fix minor leaks.
3184 * src/getargs.c (getargs): Free pointers before allocating them new
3187 2012-05-08 Akim Demaille <akim@lrde.epita.fr>
3189 maint: we no longer maintain the ChangeLog.
3190 * .gitattributes: No need to merge it.
3191 * README-hacking: Update release instructions.
3193 2012-05-06 Akim Demaille <akim@lrde.epita.fr>
3195 maint: fix the generation of the synclines for bison's parser.
3196 * tests/bison.in: Import from master the changes that make
3197 this script generate synclines that are independant of the
3198 builddir/srcdir user's set up.
3200 2012-05-06 Akim Demaille <akim@lrde.epita.fr>
3203 * src/parse-gram.c, src/parse-gram.h: Regen.
3205 2012-05-06 Akim Demaille <akim@lrde.epita.fr>
3207 maint: import the xmemdup0 gnulib module.
3208 * bootstrap.conf: Require this module.
3209 * src/parse-gram.y: Include xmemdup0.h.
3211 2012-05-06 Akim Demaille <akim@lrde.epita.fr>
3213 maint: remove left-over gnulib modules.
3214 * bootstrap.conf (gnulib_modules): Remove pipe-posix.
3215 * lib/.gitignore, m4/.gitignore: Remove files that we no longer use.
3217 2012-05-06 Akim Demaille <akim@lrde.epita.fr>
3219 maint: ignore files imported by autopoint.
3220 * m4/.gitignore: here.
3222 2012-05-06 Akim Demaille <akim@lrde.epita.fr>
3224 build: AC_PROG_LEX: use more readable variable names.
3225 * m4/flex.m4 (AC_PROG_LEX): Prefer LEX_IS_FLEX to FLEX.
3226 Prefer true/false to yes/no for such variables.
3227 * configure.ac: Adjust.
3229 2012-05-06 Jim Meyering <meyering@redhat.com>
3231 maint: regen src/parse-gram.[ch]
3233 2012-05-06 Jim Meyering <meyering@redhat.com>
3234 Akim Demaille <akim@lrde.epita.fr>
3236 maint: simplify parse-gram.y
3237 * src/parse-gram.y (add_param): Use xmemdup0 in place of
3238 xmalloc+memcpy, and strspn in place of an open-coded loop.
3240 2012-05-06 Jim Meyering <meyering@redhat.com>
3242 maint: s/strncpy/memcpy/, when equivalent
3243 * src/output.c (output_skeleton): Use memcpy, not strncpy,
3244 since the source is known to fit in the destination buffer.
3245 * src/parse-gram.y (%skeleton): Likewise.
3247 2012-05-04 Akim Demaille <akim@lrde.epita.fr>
3252 2012-05-04 Akim Demaille <akim@lrde.epita.fr>
3255 * data/glr.cc: here.
3257 2012-05-04 Akim Demaille <akim@lrde.epita.fr>
3259 glr.cc: formatting changes.
3260 * data/glr.cc: Fit in 80 columns.
3262 2012-05-04 Akim Demaille <akim@lrde.epita.fr>
3264 glr.cc: remove unused signature.
3265 * data/glr.cc (yydestruct_): Not used, remove.
3266 It is yydestruct which is used.
3268 2012-05-04 Akim Demaille <akim@lrde.epita.fr>
3270 glr.cc: properly declare locations are const where appropriate.
3271 * data/glr.cc (yyerror): The location is const.
3273 2012-05-04 Akim Demaille <akim@lrde.epita.fr>
3276 * doc/bison.texinfo: here.
3278 2012-05-02 Akim Demaille <akim@lrde.epita.fr>
3280 tests: ignore code coverage/profiling failure messages
3281 The Hydra buildfarm provides code coverage analysis. For some reason,
3282 in some test cases, code coverage data seem to be incompatible, and
3283 generate error messages at parser run-time. Ignore these messages so
3284 that (i) these tests do pass, (ii) coverage results be provided by
3287 * tests/local.at (AT_PARSER_CHECK): Ignore messages for failed merges
3288 of code coverage/profiling results.
3290 2012-04-16 Akim Demaille <akim@lrde.epita.fr>
3292 doc: fix some invalid @ref.
3293 * doc/bison.texinfo: Fix incorrect @ref uses.
3295 2012-04-16 Akim Demaille <akim@lrde.epita.fr>
3297 build: fix previous commit.
3298 * bootstrap: Update from gnulib.
3300 2012-04-16 Akim Demaille <akim@lrde.epita.fr>
3303 * gnulib: Fix install-pdf in po/ and runtime-po/.
3304 Reported by Hans Aberg.
3305 Fixed by Joel E. Denny.
3306 http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html
3308 2012-04-16 Akim Demaille <akim@lrde.epita.fr>
3311 * NEWS: Spell check.
3312 (%printer): is now documented.
3314 2012-04-16 Akim Demaille <akim@lrde.epita.fr>
3316 %printer: support both yyo and yyoutput.
3317 lalr1.cc used to support yyo, but not yyoutput. Support both,
3318 but document only yyoutput (at least until there is some consensus
3321 * data/c.m4 (yy_symbol_value_print): Also support yyo.
3322 * data/glr.cc (yy_symbol_value_print_): Support both yyo and yyoutput.
3323 * data/lalr1.cc: Also support yyoutput.
3324 * doc/bison.texinfo: Explicitly use yyoutput in the examples.
3325 * examples/mfcalc/mfcalc.test: Test the -p option.
3327 2012-04-16 Akim Demaille <akim@lrde.epita.fr>
3329 doc: mfcalc: demonstrate %printer.
3330 * doc/bison.texinfo (Printer Decl): New.
3331 Number mfcalc.y snippets so that they are output in
3333 (The mfcalc Main): Use yydebug.
3334 (Debugging): Simplify the text.
3335 (Enabling Traces, Mfcalc Traces, The YYPRINT Macro): New.
3336 (Table of Symbols): Document YYPRINT and YYFPRINTF.
3338 2012-04-16 Akim Demaille <akim@lrde.epita.fr>
3340 tests: style changes.
3341 * tests/input.at: Use "print" in %printer instead of "destroy".
3342 It is unused, so we don't care, yet it is less surprising.
3343 * tests/actions.at: Comment changes.
3345 2012-04-10 Akim Demaille <akim@lrde.epita.fr>
3347 build: require Flex.
3348 * configure.ac: Require Flex.
3350 2012-04-10 Akim Demaille <akim@lrde.epita.fr>
3352 build: flex.m4: check for Flex.
3353 * m4/flex.m4 (_AC_PROG_LEX_YYTEXT_DECL): Check that $LEX
3354 supports some of the Flex options, and exclusive start conditions.
3355 Define FLEX to 'yes'/'', as AC_PROG_CC does for GCC.
3357 2012-04-10 Akim Demaille <akim@lrde.epita.fr>
3359 build: flex.m4: quote properly.
3360 * m4/flex.m4: Use quotes more systematically.
3362 2012-04-10 Akim Demaille <akim@lrde.epita.fr>
3366 An exact copy of what is in Autoconf currently.
3368 2012-04-10 Akim Demaille <akim@lrde.epita.fr>
3370 build: autoconf: update.
3371 * submodules/autoconf: Update.
3372 There are no changes in data/m4sugar/foreach.m4, and the
3373 changes in data/m4sugar/m4sugar.m4 are minor.
3375 2012-04-10 Akim Demaille <akim@lrde.epita.fr>
3377 glr: eliminate last bits of unwanted locations.
3378 * data/glr.c (YYLTYPE): Do not define when locations are
3380 Adjust all dependencies.
3382 2012-04-10 Akim Demaille <akim@lrde.epita.fr>
3384 NEWS: 2.6 will drop K&R.
3386 (glr.c): Fix a spello.
3388 2012-04-09 Akim Demaille <akim@lrde.epita.fr>
3390 TODO: remove dead items.
3391 * TODO (Documentation, %printer, Java): Remove, already done (or just
3392 waiting for approval).
3393 (Fortran, BTYacc): Remove, there does not seem to be demand.
3395 2012-04-09 Akim Demaille <akim@lrde.epita.fr>
3397 TODO: import from master.
3398 * TODO: Copy the current version.
3400 2012-04-07 Akim Demaille <akim@lrde.epita.fr>
3403 * bootstrap.conf (bootstrap_sync): True again.
3404 It was disabled while waiting for changes to be integrated
3405 in gnulib's bootstrap, which was done long ago.
3406 * bootstrap, gnulib: Update.
3408 2012-04-04 Akim Demaille <akim@lrde.epita.fr>
3411 * NEWS: Fix entry about __attribute__.
3412 Reorder by "decreasing" order of importance.
3414 2012-04-04 Akim Demaille <akim@lrde.epita.fr>
3417 http://lists.gnu.org/archive/html/bison-patches/2012-04/msg00006.html
3419 * doc/bison.texinfo: Avoid using @def* variant with more
3420 than the defined entity as main entity, as it results in
3421 an incorrect index. For instance, don't document
3422 {return YYERROR;}, which results in a single index entry
3423 "return YYERROR;", but rather as typed function whose
3424 return type is "type", and whose argument list is ";".
3426 2012-04-04 Akim Demaille <akim@lrde.epita.fr>
3428 doc: fix documentation of YYERROR.
3429 * doc/bison.texinfo (Table of Symbols): Fix the documentation
3430 of YYERROR by copying that from "Action Features".
3432 2012-04-01 Akim Demaille <akim@lrde.epita.fr>
3435 Caught by maintainer-check-g++.
3436 * data/glr.c, data/lalr1.cc, data/yacc.c, tests/cxx-type.at,
3437 * tests/glr-regression.at, tests/push.at:
3438 When simple to do, avoid expliciting the null ptr.
3439 Otherwise use YY_NULL.
3441 2012-04-01 Akim Demaille <akim@lrde.epita.fr>
3443 bump to 2012 in skeletons.
3444 * data/glr.c, data/glr.cc, data/lalr1.cc, data/lalr1.java,
3445 * data/location.cc, data/yacc.c: Bump copyright year ranges.
3447 2012-04-01 Akim Demaille <akim@lrde.epita.fr>
3449 build: remove ancient Autoconf tests.
3450 lib/subpipe.c was removed in 47fa574761319b0a422691223c9b8a9a72f36aa2.
3452 * m4/subpipe.m4: Remove.
3453 * configure.ac (BISON_PREREQ_SUBPIPE): Remove.
3455 2012-03-31 Akim Demaille <akim@lrde.epita.fr>
3457 doc: c++: complete the location documentation.
3458 * data/location.cc (position::initialize, location::initialize):
3459 Also accept line and column, with default values.
3460 * doc/bison.texinfo (C++ position, C++ location): New nodes.
3461 Describe more thoroughly these classes.
3462 Fix several Texinfo misuses.
3464 2012-03-31 Akim Demaille <demaille@gostai.com>
3466 c++: locations: provide convenience constructors.
3467 * data/location.cc (position::position): Accept file, line and
3468 column as arguments with default values.
3469 Always qualify initial line and column literals as unsigned.
3470 (location::location): Provide convenience constructors.
3472 2012-03-31 Akim Demaille <akim@lrde.epita.fr>
3474 c++: locations: remove useless "inline".
3475 * data/location.cc: "inline" is implicit when defining
3476 methods in the class definition.
3478 2012-03-31 Akim Demaille <akim@lrde.epita.fr>
3480 glr: do not use locations when they are not requested
3481 When the test suite runs with -O2 and warnings enabled, G++
3482 complains of locations being used, but not initialized.
3483 The simplest is to not use locations.
3485 * data/glr.c (b4_locuser_formals, b4_locuser_args): New.
3486 Use them when locations should not be used.
3487 Use b4_locations_if where appropriate.
3488 (yyuserAction): Modify the order to the arguments to make
3489 it more alike the other routines, and to make use of
3490 b4_locuser_args simpler.
3492 2012-03-31 Akim Demaille <akim@lrde.epita.fr>
3494 c++: use nullptr for C++11.
3495 C++11 introduces "nullptr" which plays the role of C's NULL, in
3496 replacement of "0". Fix the C++ skeletons to avoid warnings about
3497 uses of "0" in place of "nullptr", and improve C skeletons to also use
3498 this "nullptr" when compiled with a C++11 compiler.
3500 * configure.ac: More C++ warnings.
3501 * NEWS (2.5.1): Document this.
3502 * data/c++.m4, data/c.m4 (b4_null_define): New.
3503 (b4_null): Use YY_NULL instead of 0.
3504 * data/glr.c, data/lalr1.cc, data/location.cc, data/yacc.c:
3505 Call b4_null_define/b4_null where appropriate.
3506 Use YY_NULL instead of NULL.
3507 * data/location.cc (initialize): Accept a default argument,
3509 * tests/actions.at, tests/calc.at: Adjust.
3511 * data/glr.c, lib/libiberty.h, src/system.h (__attribute__):
3512 Do not disable it when __STRICT_ANSI__ is defined, as, for
3513 instance, it disables the __attribute__((unused)) which
3514 protects us from some compiler warnings.
3515 This was already done elsewhere in Bison, in 2001, see
3516 4a0d89369599a2cea01f4fbdf791f426a02cb5a3.
3517 * tests/regression.at: Adjust output.
3519 2012-03-30 Akim Demaille <akim@lrde.epita.fr>
3521 build: simplify and improve the compiler warnings for tests.
3522 * configure.ac (warn_common, warn_c, warn_cxx): New.
3523 Use them to compute independently the options supported
3524 by the C and C++ compilers.
3525 Don't AC_SUBST the variables passed to gl_WARN_ADD: it
3527 (WARN_CFLAGS_TEST, WARN_CXXFLAGS_TEST): Don't aggregate
3528 $WARN_CFLAGS and $WARN_CXXFLAGS in them now, leave it
3530 (O0CFLAGS, O0CXXFLAGS): Move their definition to...
3531 * tests/atlocal.in: here.
3532 Be more systematic between C and C++.
3533 Reorder to factor between variables.
3534 Propagate all of the variables when --compile-c-with-cxx.
3536 2012-03-30 Akim Demaille <akim@lrde.epita.fr>
3540 2012-03-30 Akim Demaille <akim@lrde.epita.fr>
3542 maint: formatting changes.
3543 * src/system.h: Indent CPP directives using cppi.
3545 2012-03-27 Akim Demaille <akim@lrde.epita.fr>
3548 * NEWS: Java fixes, more about the doc changes, liby issues.
3550 2012-03-27 Tim Landscheidt <tim@tim-landscheidt.de>
3552 Java: Fix syntax error handling without error token.
3553 * data/lalr1.java (YYParser::parse): Here.
3554 * tests/java.at: Add test case.
3556 2012-03-24 Akim Demaille <akim@lrde.epita.fr>
3558 tests: beware of -pedantic on large #line numbers.
3559 * tests/local.at (AT_TEST_TABLES_AND_PARSE): Don't pass -pedantic
3560 when compiling large canonical-LR parsers.
3561 Reported by Tys Lefering.
3562 http://lists.gnu.org/archive/html/bug-bison/2012-03/msg00025.html
3564 2012-03-24 Akim Demaille <akim@lrde.epita.fr>
3566 tests: when using the C++ compiler, use its flags too.
3567 * tests/local.at: Go for colors.
3568 (--compile-c-with-cxx): New option.
3569 We used to pass "CC=$CXX" as command line argument,
3570 but it was not possible to adjust CFLAGS accordingly
3571 in atlocal, since it is loaded before assignments on
3572 the command line are honored (so that the command line
3574 * tests/atlocal.in: Implement it.
3575 * tests/local.mk: Use it.
3577 2012-03-19 Akim Demaille <akim@lrde.epita.fr>
3579 doc: update the --verbose report format.
3580 * doc/bison.texinfo (Understanding): Adjust to match the
3583 2012-03-19 Akim Demaille <akim@lrde.epita.fr>
3586 * doc/bison.texinfo: here.
3588 2012-03-19 Akim Demaille <akim@lrde.epita.fr>
3590 doc: stmt, not stmnt.
3591 * doc/bison.texinfo: s/stmnt/stmt/g. This is a
3592 much more common abbreviation for "statement".
3594 2012-03-19 Akim Demaille <akim@lrde.epita.fr>
3597 * doc/bison.texinfo (Language and Grammar): Use the same
3598 layout for an example in all the versions, i.e., keep
3599 as general case what used to be used only for Info.
3601 2012-03-19 Akim Demaille <akim@lrde.epita.fr>
3603 doc: reformat grammar snippets.
3604 * doc/bison.texinfo: Convert the grammar examples to
3605 use a narrower style. This helps fitting into the
3606 @smallbook constraints.
3607 http://lists.gnu.org/archive/html/bison-patches/2012-03/msg00011.html
3609 2012-03-19 Akim Demaille <akim@lrde.epita.fr>
3611 doc: use only @example, not @smallexample.
3612 * doc/bison.texinfo: Convert all @smallexamples into @examples.
3613 Adjust layout where needed.
3615 2012-03-19 Akim Demaille <akim@lrde.epita.fr>
3618 * doc/bison.texinfo: Avoid line width issues with TeX.
3619 Upgrade ancient messages.
3620 Move some comments to better looking places.
3622 (Mfcalc Symbol Table): Reduce variable scopes.
3623 Prefer size_t for sizes.
3624 Prefer declarations with an initial value.
3625 Fix a @group environment.
3627 2012-03-19 Paul Eggert <eggert@cs.ucla.edu>
3629 doc: minor fixes to "Understanding" section
3630 * doc/bison.texinfo (Understanding): Minor wording fixes and
3631 improvements. Fixes problems reported in
3632 <https://savannah.gnu.org/patch/?4306>.
3634 2012-03-13 Akim Demaille <demaille@gostai.com>
3636 tests: minor fixes/simplifications
3637 * tests/local.at (AT_BISON_CHECK_NO_XML): Simplify sed programs,
3638 quotation, and default value assignments.
3639 Ensure a proper value to the numeric variables.
3640 Reported by Lie Yan.
3641 http://lists.gnu.org/archive/html/bug-bison/2012-03/msg00000.html
3643 2012-03-09 Akim Demaille <demaille@gostai.com>
3645 tests: be robust to quote style.
3646 See <http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00120.html>.
3648 * src/main.c (main): Define the quoting style we use.
3649 * tests/atlocal.in: Use ASCII style quotes during the tests.
3651 2012-03-09 Akim Demaille <demaille@gostai.com>
3653 maint: update gnulib.
3655 * src/scan-gram.l: Don't use the (former version of) STREQ.
3657 2012-03-06 Akim Demaille <demaille@gostai.com>
3659 tests: be robust to POSIXLY_CORRECT being defined.
3660 * tests/local.at (AT_BISON_CHECK_NO_XML): Check if
3661 POSIXLY_CORRECT is defined, not if it is defined to 1.
3662 Reported by Lie Yan.
3663 http://lists.gnu.org/archive/html/bug-bison/2012-03/msg00000.html
3665 2012-02-23 Akim Demaille <demaille@gostai.com>
3667 doc: fix environment issues.
3668 * doc/bison.texinfo: Do not use @verbatim, in particular when
3669 we use @group inside.
3670 Use @quotation instead of @display for frequently asked questions,
3671 it looks much nicer.
3673 2012-02-23 Akim Demaille <demaille@gostai.com>
3676 * src/parse-gram.h, src/parse-gram.c: regen.
3678 2012-02-23 Akim Demaille <demaille@gostai.com>
3680 tests: fix regressions.
3681 Exit status 63 is documented for version-mismatch.
3682 * bootstrap.conf (gnulib_modules): Remove sysexits.
3683 * src/system.h (EX_MISMATCH): Define.
3684 * src/parse-gram.y (version_check): Use it instead of EX_CONFIG.
3687 * tests/calc.at, tests/named-refs.at: Include assert.h.
3689 2012-02-21 Akim Demaille <demaille@gostai.com>
3691 glr: fix ambiguity reports.
3692 * tests/glr-regression.at (Ambiguity reports): New.
3694 2012-02-19 Akim Demaille <demaille@gostai.com>
3696 doc: stylistic improvements.
3697 * doc/bison.texinfo: Prefer "continue" to empty loop bodies.
3698 Add some @group/@end group to avoid poor page breaks.
3700 2012-02-19 Akim Demaille <demaille@gostai.com>
3702 maint: address sc_prohibit_doubled_word.
3703 * data/yacc.c, doc/bison.texinfo: Reword to avoid having to
3705 * cfg.mk: No longer skip this test.
3707 2012-02-19 Akim Demaille <demaille@gostai.com>
3709 maint: address sc_prohibit_always-defined_macros.
3710 * cfg.mk: No longer skip it, except where EXIT_SUCCESS is used
3711 as a witness for stdlib.h.
3712 Skip this test when appropriate.
3713 * data/yacc.c: Drop a note about why EXIT_SUCCESS is defined here.
3715 2012-02-19 Akim Demaille <demaille@gostai.com>
3717 maint: address sc_bindtextdomain, sc_program_name and sc_prohibit_HAVE_MBRTOWC.
3718 * bootstrap.conf (gnulib_modules): Require progname.
3719 * src/complain.c, src/getargs.c, src/getargs.h, src/main.c: Use it.
3720 * cfg.mk (exclude): New.
3722 Skip lib/main.c for bindtextdomain and set_program_name.
3724 2012-02-19 Akim Demaille <demaille@gostai.com>
3726 maint: remove stray file.
3727 * config.hin: Remove.
3729 2012-02-19 Akim Demaille <demaille@gostai.com>
3731 maint: address some syntax-issues remaining after cherry-picking from master.
3732 * cfg.mk: Skip bison generated files, 2.5 is generating trailing
3733 blanks. This is already fixed in master.
3734 * tests/conflicts.at, tests/java.at: Fix white space issues.
3736 2012-02-19 Akim Demaille <demaille@gostai.com>
3739 * src/parse-gram.c, src/parse-gram.h: Regen.
3741 2012-02-19 Akim Demaille <demaille@gostai.com>
3743 bitset: fix an incorrect error message.
3744 * lib/bitset_stats.c: here.
3745 Reported by Stefano Lattarini.
3747 2012-02-19 Jim Meyering <meyering@redhat.com>
3749 maint: reenable sc_m4_quote_check
3750 * cfg.mk (local-checks-to-skip): Reenable sc_m4_quote_check.
3751 * m4/dmalloc.m4: Add quotes.
3753 2012-02-19 Akim Demaille <demaille@gostai.com>
3755 maint: remove trailing empty lines.
3756 * cfg.mk: No longer skip sc_prohibit_empty_lines_at_EOF, except
3757 for parse-gram.h (generated).
3758 * examples/mfcalc/.gitignore, lib/.gitignore, m4/.gitignore,
3759 * po/.gitignore, runtime-po/.gitignore: Remove trailing/leading
3762 2012-02-19 Akim Demaille <demaille@gostai.com>
3764 maint: avoid "magic number exit".
3765 * cfg.mk (local-checks-to-skip): No longer skip it.
3766 * bootstrap.conf (gnulib_modules): Add sysexits.
3767 * doc/bison.texinfo, etc/bench.pl.in, src/parse-gram.y,
3768 * src/system.h, tests/calc.at, tests/named-refs.at: Use assert
3769 where appropriate instead of "if (...) exit".
3770 Use symbolic exit status elsewhere.
3772 2012-02-19 Akim Demaille <demaille@gostai.com>
3774 maint: fix some syntax-check issues.
3775 * cfg.mk (local-checks-to-skip): Remove
3776 sc_prohibit_quotearg_without_use, sc_prohibit_strcmp,
3777 sc_unmarked_diagnostics, sc_useless_cpp_parens.
3778 (sc_unmarked_diagnostics): Skip DJGPP.
3779 * data/yacc.c, src/LR0.c, src/closure.c,
3780 * src/flex-scanner.h, src/gram.c, src/lalr.c,
3781 * src/print-xml.c, src/print.c, src/print_graph.c,
3782 * src/reader.c, src/reduce.c, src/tables.c:
3783 Don't use parens with cpp's defined.
3784 Remove useless includes.
3786 2012-02-19 Akim Demaille <demaille@gostai.com>
3788 maint: address a couple of syntax-check errors.
3789 * cfg.mk (local-checks-to-skip): Remove sc_error_message_period
3790 and sc_error_message_uppercase.
3791 Address the uncovered issues.
3792 * po/POTFILES.in: Add missing files.
3793 * src/symtab.c: Remove useless includes.
3794 * lib/bitset_stats.c, src/files.c, tests/glr-regression.at: Use
3795 conformant error messages.
3797 2012-02-19 Akim Demaille <demaille@gostai.com>
3799 maint: gnulib: upgrade.
3801 2012-02-15 Akim Demaille <demaille@gostai.com>
3803 maint: rely on Automake for parsers.
3804 * Makefile.am (AM_YFLAGS): Automake looks for "-d" alone.
3805 Move other options in here.
3808 (bison_SOURCES): Now that automake can see `-d' in AM_YFLAGS,
3809 we can rely on it to compile and ship the parser header
3812 Based on commit 737406a32c201471699bfa0843d1f432f3ec29ab and
3813 commit 3d6ca339083c278d907c9f030f4ba6bc5ecb07f2.
3815 2012-02-14 Akim Demaille <demaille@gostai.com>
3817 maint: more authors.
3819 Suggested by Tys Lefering.
3821 2012-02-14 Akim Demaille <demaille@gostai.com>
3823 maint: add license headers.
3824 * examples/calc++/test, examples/variant.yy, AUTHORS, THANKS,
3825 * tests/atlocal.in, tests/bison.in: Add license headers.
3826 Reported by Tys Lefering.
3828 2012-02-14 Akim Demaille <demaille@gostai.com>
3830 maint: remove obsolete file.
3831 * etc/make-ChangeLogs: Remove (used for rcs to cvs migration!).
3832 Reported by Tys Lefering.
3834 2012-02-08 Akim Demaille <demaille@gostai.com>
3836 use a more consistent quoting style.
3837 See <http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00120.html>.
3838 Use quotearg as often as possible instead of leaving the choice of
3839 the quotes to the translators. Use shorter messages. Factor similar
3840 messages to a single format, to make localization easier.
3842 * src/files.c, src/getargs.c, src/muscle-tab.c, src/reader.c
3843 * src/scan-code.l, src/scan-gram.l, src/symtab.c:
3844 Use quote() or quotearg_colon() on printf arguments instead of
3845 quotes in the format string.
3846 * data/bison.m4: Keep sync with the changes in muscle-tab.c.
3848 * tests/skeletons.at, tests/input.at, tests/regression.at: Adjust
3851 2012-01-31 Akim Demaille <demaille@gostai.com>
3853 maint: remove stray debug code.
3854 * src/Makefile.am (echo): Remove.
3856 2012-01-31 Akim Demaille <demaille@gostai.com>
3858 maint: space changes.
3859 * src/Makefile.am: Use 2 leading spaces for variable definition
3860 spreading over several lines.
3862 2012-01-31 Akim Demaille <demaille@gostai.com>
3864 maint: more silent-rules.
3865 * doc/local.mk, src/local.mk, examples/calc++/Makefile.am: Use
3866 $(AM_V_GEN) and $(AM_V_at) where appropriate.
3868 2012-01-31 Jim Meyering <meyering@redhat.com>
3870 do not ignore errors like ENOSPC,EIO when writing to stdout
3871 Standard output was never explicitly closed, so we could not
3872 detect failure. Thus, bison would ignore the errors of writing
3873 to a full file system and getting an I/O error on write, but only
3874 for standard output, e.g., for --print-localedir, --print-datadir,
3875 --help and some verbose output.
3876 Now, "bison --print-datadir > /dev/full" reports the write failure:
3877 bison: write error: No space left on device
3878 Before, it would exit 0 with no diagnostic, implying success.
3879 This is not an issue for "--output=-" or the other FILE-accepting
3880 command-line options, because unlike most other GNU programs,
3881 an output file argument of "-" is treated as the literal "./-",
3882 rather than standard output.
3883 * bootstrap.conf (gnulib_modules): Add closeout.
3884 * src/main.c: Include "closeout.h".
3885 Use atexit to ensure we close stdout.
3886 * .gitignore: Ignore new files pulled in via gnulib-tool.
3888 2012-01-26 Akim Demaille <demaille@gostai.com>
3890 tests: fix expected output.
3891 * tests/actions.at (YYBACKUP): here.
3893 2012-01-26 Akim Demaille <demaille@gostai.com>
3896 Reported by David Kastrup:
3897 https://lists.gnu.org/archive/html/bug-bison/2011-10/msg00002.html.
3899 * data/yacc.c (YYBACKUP): Accept rhs size.
3900 Restore the proper state value.
3901 * TODO (YYBACKUP): Make it...
3902 * tests/actions.at: a new test case.
3903 * NEWS, THANKS: Update.
3905 2012-01-26 Akim Demaille <demaille@gostai.com>
3908 * TODO (Labeling the symbols): Remove, it's done ("Name references").
3910 2012-01-26 Akim Demaille <demaille@gostai.com>
3912 maint: update THANKS.
3913 * THANKS: Update Tys's address, on his request.
3915 2012-01-26 Akim Demaille <demaille@gostai.com>
3917 maint: fix --gcc-warnings support.
3918 * configure.ac: Use enable_gcc_warnings instead of enableval,
3919 which is valid only with AC_ARG_ENABLE.
3921 2012-01-26 Akim Demaille <demaille@gostai.com>
3923 maint: silent-rules.
3924 * configure.ac: Ask for silent-rules support.
3925 Enable it by default.
3927 2012-01-26 Akim Demaille <demaille@gostai.com>
3929 maint: remove trailing blanks.
3930 * src/scan-code.l: Here.
3932 2012-01-25 Paul Eggert <eggert@cs.ucla.edu>
3934 tests: port to Solaris 10 'diff -u'
3935 * tests/regression.at (parse-gram.y: LALR = IELR): Port to Solaris 10,
3936 where "diff -u X X" outputs "No differences encountered"
3937 instead of outputting nothing. Reported by Tomohiro Suzuki in
3938 <http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00101.html>.
3940 2012-01-25 Jim Meyering <meyering@redhat.com>
3942 build: avoid possibly-replaced fprintf in liby-source, yyerror.c
3943 * lib/yyerror.c (yyerror): Use fputs and fputc rather than fprintf
3944 with a mere "%s\n" format. Always return 0 now, on the assumption
3945 that the return value was never used anyway.
3946 Don't include <config.h> after all. This avoids a problem
3947 reported by Thiru Ramakrishnan in
3948 http://lists.gnu.org/archive/html/help-bison/2011-11/msg00000.html
3949 * cfg.mk: Exempt lib/yyerror.c from the sc_require_config_h_first test.
3952 2012-01-24 Jim Meyering <meyering@redhat.com>
3954 maint: generate ChangeLog from git log
3955 * Makefile.am (gen-ChangeLog): New rule.
3956 (dist-hook): Depend on it.
3957 (EXTRA_DIST): Distribute the two ChangeLog-* files.
3958 * bootstrap.conf (gnulib_modules): Add gitlog-to-changelog.
3959 (bootstrap_post_import_hook): Ensure that ChangeLog exists.
3960 * build-aux/git-log-fix: New file.
3961 * ChangeLog-2012: Renamed ...
3962 * ChangeLog: ... from this.
3963 * ChangeLog-1998: Renamed ...
3964 * OChangeLog: ...from this
3965 * .gitignore: Add ChangeLog.
3967 2012-01-24 Jim Meyering <meyering@redhat.com>
3969 change more quotes in source, and adjust tests to match
3970 Run this command to change each `%s' to '%s' in source directories:
3971 git grep -l '`%s'\' src djgpp data \
3972 |xargs perl -pi -e '$q="'\''";s/`%s$q/$q%s$q/g'
3973 * data/bison.m4: Affected per the above.
3974 * djgpp/subpipe.c: Likewise.
3975 * src/files.c: Likewise.
3976 * src/getargs.c: Likewise.
3977 * src/muscle-tab.c: Likewise.
3978 * src/reader.c: Likewise.
3979 * tests/glr-regression.at: Adjust to match.
3980 * tests/input.at: Likewise.
3981 * tests/push.at: Likewise.
3982 * tests/skeletons.at: Likewise.
3984 2012-01-23 Jim Meyering <meyering@redhat.com>
3986 quote consistently and make tests pass with new quoting from gnulib
3987 Updating to gnulib pulled in new quote and quotarg modules,
3988 by which quoting is now done like 'this' rather than `this'.
3989 That change induces many "make check" test failures. This change
3990 adapts code and tests so that "make check" passes once again.
3991 * src/scan-code.l: Quote like 'this', not like `this'.
3992 * src/scan-gram.l: Likewise.
3993 * src/symtab.c: Likewise.
3994 * tests/actions.at: Adjust tests to match.
3995 * tests/input.at: Likewise.
3996 * tests/named-refs.at: Likewise.
3997 * tests/output.at: Likewise.
3998 * tests/regression.at: Likewise.
3999 * lib/.gitignore: Regenerate.
4000 * m4/.gitignore: Likewise.
4002 2012-01-23 Jim Meyering <meyering@redhat.com>
4004 build: update gnulib and autoconf submodules to latest (cherry picked from commit 728415f885e5cb8e518c8576fa6e1f541e384130)
4006 2012-01-23 Jim Meyering <meyering@redhat.com>
4008 build: manually update bootstrap from gnulib, and adapt
4009 Updating to the latest bootstrap from gnulib involves more of a
4010 change than usual, and updating to the latest gnulib would involve
4011 its own set of challenges with the upcoming quoting changes, so
4012 we update bootstrap manually and separately.
4013 * bootstrap: Update from gnulib.
4014 * lib/Makefile.am: Initialize more variables to empty, so that gnulib.mk
4015 can append to them with "+=".
4016 * bootstrap.conf (gnulib_mk_hook): Remove. No longer honored.
4017 (gnulib_tool_option_extras): Generate gnulib.mk.
4019 2012-01-23 Jim Meyering <meyering@redhat.com>
4021 maint: include <config.h> first
4022 * cfg.mk (exclude_file_name_regexp--sc_require_config_h_first):
4023 Exempt data/glr.c and data/yacc.c from the include-config.h-first
4026 2012-01-23 Jim Meyering <meyering@redhat.com>
4028 build: include <config.h> from lib/yyerror.c
4029 * lib/yyerror.c: Include <config.h>.
4031 2012-01-23 Jim Meyering <meyering@redhat.com>
4033 maint: list djgpp/subpipe.c in po/POTFILES.in
4034 * po/POTFILES.in: Add djgpp/subpipe.c.
4036 2012-01-23 Jim Meyering <meyering@redhat.com>
4038 maint: placate the space-TAB syntax-check
4039 * cfg.mk (exclude_file_name_regexp--sc_space_tab): Exempt
4040 tests/input.at and tests/c++.at, since they appear to use
4041 SP-TAB sequences deliberately.
4042 * OChangeLog: Remove space-before-TAB.
4044 2012-01-23 Jim Meyering <meyering@redhat.com>
4046 doc: correct typo: s/can not/cannot/
4047 * doc/bison.texinfo (Bug Reports): s/can not/cannot/
4048 And remove trailing blanks.
4050 2012-01-22 Jim Meyering <meyering@redhat.com>
4052 maint: get gpl-3.0 from gnulib
4053 * bootstrap.conf (gnulib_modules): Add gpl-3.0.
4054 * doc/gpl-3.0.texi: Remove from version control, now that
4055 we get it via gnulib.
4056 * doc/.gitignore: Ignore it.