Akim Demaille [Mon, 1 Oct 2012 14:47:50 +0000 (16:47 +0200)]
warnings: simplify the m4 interface
* data/bison.m4 (error_at): Replace...
(error): this.
(b4_warn, b4_complain, b4_fatal): Bounce to their _at equivalent,
with empty location.
* src/scan-skel.l (at_directive_perform): Simplify accordingly.
Theophile Ranquet [Mon, 1 Oct 2012 15:01:03 +0000 (15:01 +0000)]
warnings: separate flags_argmatch
This function is now a mere iterator that calls flag_argmatch,
a new function, that matches a single option parameter.
* src/getargs.c (flag_argmatch): New, taken from...
(flags_argmatch): Here.
Signed-off-by: Akim Demaille <akim@lrde.epita.fr>
Theophile Ranquet [Mon, 1 Oct 2012 15:01:02 +0000 (15:01 +0000)]
warnings: refactoring
The code here was too confusing, this seems more natural.
* src/complain.c (error_message): Move the indentation check and the category
output to complains. Also, no longer take a 'warnings' argument.
(complains): Factor calls to error_message.
Signed-off-by: Akim Demaille <akim@lrde.epita.fr>
Theophile Ranquet [Mon, 1 Oct 2012 15:01:01 +0000 (15:01 +0000)]
formatting changes
* src/complain.c: Here.
Signed-off-by: Akim Demaille <akim@lrde.epita.fr>
Theophile Ranquet [Mon, 1 Oct 2012 15:01:00 +0000 (15:01 +0000)]
warnings: organize variadic complaints call
Move the dispatch of variadic complains to complain.c, rather than do
it in a scanner.
* src/complain.h, src/complain.c (complain_args): New.
* src/scan-skel.l (at_directive_perform): Use it.
Signed-off-by: Akim Demaille <akim@lrde.epita.fr>
Theophile Ranquet [Mon, 1 Oct 2012 13:44:20 +0000 (13:44 +0000)]
warnings: fusion of complain and complain_at
These functions are very similar, and keeping them seperate makes
future improvements difficult, so merge them.
This impacts 89 calls.
* src/bootstrap.conf: Adjust.
* src/complain.c (complain, complain_at): Merge into...
(complain): this.
(complain_args): Adjust.
* src/complain.h, src/conflicts.c, src/files.c, src/getargs.c,
* src/gram.c, src/location.c, src/muscle-tab.c, src/parse-gram.y,
* src/reader.c, src/reduce.c, src/scan-code.l, src/scan-gram.l,
* src/scan-skel.l, src/symlist.c, src/symtab.c:
Adjust.
Signed-off-by: Akim Demaille <akim@lrde.epita.fr>
Theophile Ranquet [Mon, 1 Oct 2012 13:44:19 +0000 (13:44 +0000)]
warnings: remove spurious suffixes on context
Rectify a bug that introduced suffixes out of place.
* src/complainc.c (complains): Handle all three special warning bits.
* src/scan-code.l (show_sub_message): Remove useless argument.
* tests/named-refs.at: Adjust.
Signed-off-by: Akim Demaille <akim@lrde.epita.fr>
Akim Demaille [Mon, 1 Oct 2012 12:00:23 +0000 (14:00 +0200)]
Merge remote-tracking branch 'origin/maint'
* origin/maint:
headers: move CPP guards into YY_*_INCLUDED to avoid collisions
minor changes.
Conflicts:
doc/bison.texi
tests/headers.at
Akim Demaille [Fri, 28 Sep 2012 13:28:46 +0000 (15:28 +0200)]
Merge remote-tracking branch 'origin/maint'
* origin/maint:
gnulib: update
errors: indent "user token number redeclaration" context
Conflicts:
src/symtab.c
Akim Demaille [Thu, 27 Sep 2012 07:43:49 +0000 (09:43 +0200)]
headers: move CPP guards into YY_*_INCLUDED to avoid collisions
See <http://lists.gnu.org/archive/html/bug-bison/2012-09/msg00016.html>.
* data/c.m4 (b4_cpp_guard): Prepend YY_ and append _INCLUDED.
* tests/headers.at: Adjust.
* NEWS, doc/bison.texi: Document.
Akim Demaille [Thu, 27 Sep 2012 07:42:57 +0000 (09:42 +0200)]
minor changes.
* NEWS: Word changes.
* doc/bison.texi: Spell check.
Fix minor issues.
* tests/headers.at: Comment and formatting changes.
Akim Demaille [Fri, 28 Sep 2012 13:04:57 +0000 (15:04 +0200)]
gnulib: update
Theophile Ranquet [Fri, 28 Sep 2012 12:12:59 +0000 (12:12 +0000)]
errors: indent "user token number redeclaration" context
This is the continuation of the work on the readability of errors
context.
* src/symtab.c (user_token_number_redeclaration): Use
complain_at_indent to output with increased indentation level.
* tests/input:at: Apply this change.
Signed-off-by: Akim Demaille <akim@lrde.epita.fr>
Theophile Ranquet [Thu, 27 Sep 2012 10:52:47 +0000 (10:52 +0000)]
errors: don't display "warnings treated as errors"
This line doesn't add any meaningful information anymore, the appended
[-Werror=CATEGORY] is enough. It is actually more insightful, as it
allows to distinguish warnings treated as errors from those that
aren't. This line is also removed by gcc 4.8.
* src/complain.c (set_warnings_issued): The only action left was
checking if the error bit corresponding to the warning issued was set,
and that function was only called once. Therefore, remove it, and do
its job directly in the caller...
(complains): here.
* src/complains.h: Adjust.
* tests/input.at: Adjust.
* NEWS: Document this change.
Signed-off-by: Akim Demaille <akim@lrde.epita.fr>
Akim Demaille [Thu, 27 Sep 2012 10:19:09 +0000 (12:19 +0200)]
errors: change output, and improve -y coherence
The prefix of warnings treated as errors is now "error: ". Also, their
suffix now reflects the changes in the Werror option format.
An output for -Werror=other used to be:
bison: warnings being treated as errors
input.y:1.1: warning: stray ',' treated as white space [-Wother]
It is now:
bison: warnings being treated as errors
input.y:1.1: error: stray ',' treated as white space [-Werror=other]
The line "warnings being treated as errors" no longer adds any info,
it will be removed in a forthcoming change.
* NEWS: Add entry "Enhancement of the -Werror"
* doc/bison.texi: Move the warnings-as-error to a new bullet.
* src/complain.c (complains): Refactor, change the prefix of warnings
that are treated as errors.
(warnings_print_categories): Support for [-Werror=CATEGORY] display
* src/getargc.c (getargs): -y implies -Werror=yacc
* tests/input.at: Update expected --yacc output for coherence.
Signed-off-by: Akim Demaille <akim@lrde.epita.fr>
Theophile Ranquet [Thu, 27 Sep 2012 10:52:45 +0000 (10:52 +0000)]
errors: introduce the -Werror=CATEGORY option
This new option is a lot more flexible than the previous one. Its
details will be discussed in the NEWS and info file, in a forthcoming
change.
If no category is specified (ie: used as simply "-Werror"), the
functionality is the same as before.
* src/complain.c (errors_flag): New variable.
(set_warning_issued): Accept warning categories as an argument.
* src/complain.h (Wall): Better definition.
* src/getargs.c (flags_argmatch): Support for the new format.
(usage): Update -Werror to -Werror[=CATEGORY] format.
* src/complain.c (errors_flag): New variable.
(set_warning_issued): Accept warning categories as an argument.
* src/complain.h (Wall): Better definition.
* src/getargs.c (flags_argmatch): Support for the new format.
(usage): Update -Werror to -Werror=[CATEGORY] format.
Signed-off-by: Akim Demaille <akim@lrde.epita.fr>
Akim Demaille [Wed, 26 Sep 2012 12:35:47 +0000 (14:35 +0200)]
Merge branch 'maint'
* maint:
warnings: introduce -Wdeprecated in the usage info
errors: prefix the output with "error: "
errors: indent "invalid value for %define" context
errors: indent "%define var" redefinition context
errors: indent "symbol redeclaration" context
errors: indent "result type clash" error context
Conflicts:
src/complain.c
src/muscle-tab.c
src/reader.c
src/symtab.c
tests/conflicts.at
tests/input.at
tests/named-refs.at
tests/output.at
tests/skeletons.at
Theophile Ranquet [Wed, 26 Sep 2012 09:49:23 +0000 (11:49 +0200)]
warnings: introduce -Wdeprecated in the usage info
The deprecated warning, introduced some time ago, was not displayed in
the usage message. This patch addresses the issue.
* src/getargs.c (usage): Insert here.
Signed-off-by: Akim Demaille <akim@lrde.epita.fr>
Akim Demaille [Wed, 26 Sep 2012 10:20:44 +0000 (12:20 +0200)]
regen
Akim Demaille [Wed, 26 Sep 2012 10:19:15 +0000 (12:19 +0200)]
Merge remote-tracking branch 'origin/maint'
* origin/maint:
regen
yacc: fix handling of CPP guards when no header is generated
gnulib: update
Theophile Ranquet [Wed, 26 Sep 2012 09:49:22 +0000 (11:49 +0200)]
errors: prefix the output with "error: "
This improves readability. This is also what gcc does.
* NEWS: Document this change.
* src/complain.c (complain_at): Prefix all errors with "error: ".
(complain_at_indent, warn_at_indent): Do not prefix the context
information of errors, which are basically just indented errors.
* tests/conflicts.at, tests/glr-regression.at, tests/input.at,
tests/named-refs.at, tests/output.at, tests/push.at,
tests/regression.at, tests/skeletons.at: Apply this change.
Signed-off-by: Akim Demaille <akim@lrde.epita.fr>
Theophile Ranquet [Wed, 26 Sep 2012 09:49:21 +0000 (11:49 +0200)]
errors: indent "invalid value for %define" context
This is the continuation of the work on the readability of errors
context.
For example, what used to be:
input.y:1.9-29: invalid value for %define variable 'foo' : 'bar'
input.y:1.9-29: accepted value: 'most'
is now:
input.y:1.9-29: invalid value for %define variable 'foo' : 'bar'
input.y:1.9-29: accepted value: 'most'
* src/muscle-tab.c (muscle_percent_define_check_values): Use
complain_at_indent to output with increased indentation level.
* tests/input:at: Apply this change.
Signed-off-by: Akim Demaille <akim@lrde.epita.fr>
Theophile Ranquet [Wed, 26 Sep 2012 09:49:20 +0000 (11:49 +0200)]
errors: indent "%define var" redefinition context
This is the continuation of the work on the readability of errors
context.
For example, what used to be:
input.y:2.9-11: %define variable 'var' redefined
input.y:1.9-11: previous definition
is now:
input.y:2.9-11: %define variable 'var' redefined
input.y:1.9-11: previous definition
* src/muscle-tab.c (muscle_percent_define_insert): Use
complain_at_indent to output with increased indentation level.
* tests/input.at: Apply this change.
Signed-off-by: Akim Demaille <akim@lrde.epita.fr>
Theophile Ranquet [Wed, 26 Sep 2012 09:49:19 +0000 (11:49 +0200)]
errors: indent "symbol redeclaration" context
This is the continuation of the work on the readability of errors
context.
For example, what used to be:
input.y:5.10-24: %printer redeclaration for <field2>
input.y:3.11-25: previous declaration
is now:
input.y:5.10-24: %printer redeclaration for <field2>
input.y:3.11-25: previous declaration
* NEWS: Document this change.
* src/symtab.c (symbol_redeclaration, semantic_type_redeclaration,
user_token_number_redeclaration, default_tagged_destructor_set,
default_tagless_destructor_set, default_tagged_printer_set,
default_tagless_printer_set): Use complain_at_indent to
output with increased indentation level.
* tests/input.at: Apply this change.
Signed-off-by: Akim Demaille <akim@lrde.epita.fr>
Theophile Ranquet [Wed, 26 Sep 2012 09:49:18 +0000 (11:49 +0200)]
errors: indent "result type clash" error context
This used to be the format of the error report:
input.y:6.5-10: result type clash on merge function 'merge': [...]
input.y:2.4-9: previous declaration
In order to distinguish the actual error from the context provided, we
rather this new output:
input.y:6.5-10: result type clash on merge function 'merge': [...]
input.y:2.4-9: previous declaration
Another patch will introduce an "error: " prefix to all non-indented
lines, giving yet better readability to the reports.
* src/complain.h (SUB_INDENT): Move to here.
* src/reader.c (record_merge_function_type): Use complain_at_indent to
output with increased indentation level.
* src/scan-code.l (SUB_INDENT): Remove from here.
* tests/glr-regression.at: Apply this change.
Signed-off-by: Akim Demaille <akim@lrde.epita.fr>
Akim Demaille [Fri, 21 Sep 2012 15:21:01 +0000 (17:21 +0200)]
warnings: use the regular interface for s/r and r/r conflicts
The current routines used to display s/r and r/r conflicts are both
inconvenient from the programmer point of view (they do not use the
warning infrastructure) and for the user (the messages are rather
terse, not necessarily pleasant to read, and because they don't use
the same routines, they look different).
It was due to the belief (dating back to the initial checked-in
version of Bison) that, at some point, POSIX Yacc mandated the format
for these messages. Today, the Open Group's manual page for Yacc,
<http://pubs.opengroup.org/onlinepubs/
009695399/utilities/yacc.html>,
explicitly states that the format of these messages is unspecified.
See commit
be7280480c175bed203883f524c7dcd6cf37c13d and
<http://lists.gnu.org/archive/html/bison-patches/2002-12/msg00027.html>.
For a discussion on the chosen warning format, see
http://lists.gnu.org/archive/html/bison-patches/2012-09/msg00039.html
In an effort to factor the handling of errors and warnings, use the
Bison warning routines to report these messages.
* src/conflicts.c (conflicts_print): Rewrite with clearer sections
about S/R and then R/R conflicts.
(conflict_report): Remove, inlined in its sole
caller...
(conflicts_output): here.
* tests/conflicts.at, tests/existing.at, tests/glr-regression.at,
* tests/reduce.at, tests/regression.at: Adjust the expected results.
* NEWS: Update.
Akim Demaille [Fri, 21 Sep 2012 11:35:28 +0000 (13:35 +0200)]
regen
Akim Demaille [Fri, 21 Sep 2012 09:10:37 +0000 (11:10 +0200)]
yacc: fix handling of CPP guards when no header is generated
When no header was to be generated, Bison would issue:
/* In a future release of Bison, this section will be replaced
by #include "". */
#ifndef YY_
# define YY_
It now properly generates nothing.
* data/c.m4 (b4_cpp_guard_open, b4_cpp_guard_close): Issue nothing when
the file name is empty.
* data/yacc.c: Do not generate the above comment when there is no header
to generate.
* NEWS: Update.
Akim Demaille [Thu, 20 Sep 2012 15:04:55 +0000 (17:04 +0200)]
gnulib: update
Akim Demaille [Fri, 21 Sep 2012 13:44:47 +0000 (15:44 +0200)]
conflicts: refactor the counting routines
* src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Rename as...
(count_sr_conflicts, count_rr_conflicts): these.
Use size_t for counts.
(count_sr_conflicts, count_rr_conflicts): New.
Use them.
Akim Demaille [Fri, 21 Sep 2012 13:19:12 +0000 (15:19 +0200)]
%expect-rr is for GLR only
* src/conflicts.c (conflicts_print): Complain about %expect-rr if not
in GLR mode, regardless of the number of reduce/reduce conflicts.
* tests/conflicts.at (%expect-rr non GLR): New test.
* NEWS: Update.
Akim Demaille [Thu, 20 Sep 2012 15:17:02 +0000 (17:17 +0200)]
TODO: lalr1.cc master vs maint
* TODO: here.
Akim Demaille [Thu, 20 Sep 2012 15:16:36 +0000 (17:16 +0200)]
c++: coding style fixes
* data/lalr1.cc, tests/c++.at: Formatting changes.
Akim Demaille [Fri, 21 Sep 2012 07:15:45 +0000 (09:15 +0200)]
Revert "introduced a GCC-like -Werror=type"
This reverts commit
981c53e257f1974854edc4f6ad0e88c7f18e2bea.
Akim Demaille [Fri, 21 Sep 2012 07:15:37 +0000 (09:15 +0200)]
Revert "made previous commit less hairy"
This reverts commit
fd01e1d05ea3e627033d148b5400b99a18ac7ba3.
Akim Demaille [Fri, 21 Sep 2012 07:15:25 +0000 (09:15 +0200)]
Revert "new Werror report format fixed in a test"
This reverts commit
41511178a71ebaf81bde7ffc682c575537af45cb.
Theophile Ranquet [Fri, 21 Sep 2012 03:04:43 +0000 (05:04 +0200)]
new Werror report format fixed in a test
* tests/input.at : replaced [-Wyacc] with [-Werror=yacc]
todo: fix the other failed test of the suite, tests/conflicts.at:1554
Theophile Ranquet [Fri, 21 Sep 2012 03:00:32 +0000 (05:00 +0200)]
made previous commit less hairy
* src/getargs.c : here
Theophile Ranquet [Thu, 20 Sep 2012 10:21:28 +0000 (12:21 +0200)]
introduced a GCC-like -Werror=type
* src/complain.h : errors_flag variable
* src/complain.c : actual stuff happens here
* src/conflits.c : differentiated SR and RR conflicts
* src/getargs.c : flags_argmatch recognizes the new -Werror format
Akim Demaille [Tue, 4 Sep 2012 16:53:45 +0000 (18:53 +0200)]
regen
Akim Demaille [Tue, 4 Sep 2012 16:51:55 +0000 (18:51 +0200)]
Merge remote-tracking branch 'origin/maint'
* origin/maint:
maint: remove useless file
update files to ignore
remove useless include
use locale-indep. c_is* functions for parsing, not isspace, isprint etc
gnulib: update
--help: include a place to report translation issues
tests: style changes
tests: fix push-pull test
yacc.c: style changes
Conflicts:
src/system.h
Akim Demaille [Tue, 4 Sep 2012 08:58:23 +0000 (10:58 +0200)]
maint: remove useless file
* externals/bootstrap.cfg: Remove.
This file was used by a specific build system.
It was added to the master repository by accident.
Akim Demaille [Tue, 4 Sep 2012 08:48:26 +0000 (10:48 +0200)]
update files to ignore
* doc/.gitignore: Don't ignore split info files as we don't split our
info file.
See <http://lists.gnu.org/archive/html/bug-bison/2012-08/msg00006.html>.
Akim Demaille [Tue, 4 Sep 2012 07:49:17 +0000 (09:49 +0200)]
remove useless include
* src/system.h: Don't include sys/types.h.
Reported by Eric Blake,
<http://lists.gnu.org/archive/html/bug-bison/2012-09/msg00002.html>.
(FUNCTION_PRINT): Remove, unused.
Jim Meyering [Sun, 5 Aug 2012 11:28:01 +0000 (13:28 +0200)]
use locale-indep. c_is* functions for parsing, not isspace, isprint etc
* src/parse-gram.y: Include "c-ctype.h".
(add_param): Parse with c_isspace, not isspace.
* src/parse-gram.c: Likewise.
* src/scan-gram.l: Include c-ctype.h, not ctype.h.
(SC_ESCAPED_STRING,SC_ESCAPED_CHARACTER): Use c_isspace and c_isprint,
not ctype.h's locale-dependent functions.
Akim Demaille [Mon, 3 Sep 2012 08:56:54 +0000 (10:56 +0200)]
gnulib: update
Akim Demaille [Fri, 31 Aug 2012 16:18:13 +0000 (18:18 +0200)]
--help: include a place to report translation issues
http://lists.gnu.org/archive/html/bug-bison/2012-08/msg00007.html
shows that it is useful to help users report translation issues.
While at it, include other informative bits that the coreutils shows.
* src/getargs.c (usage): Report more URLs where the user can
refer to.
Mostly copied/pasted from coreutils' emit_ancillary_info function.
Akim Demaille [Wed, 22 Aug 2012 10:31:41 +0000 (12:31 +0200)]
news: style changes
* NEWS: Minor improvements.
Akim Demaille [Mon, 20 Aug 2012 07:54:40 +0000 (09:54 +0200)]
use -Wdeprecated for obsolete %define variable names
* src/muscle-tab.c (muscle_percent_variable_update): Here.
* tests/input.at (%define backward compatibility): Update expectations.
Akim Demaille [Mon, 20 Aug 2012 07:29:05 +0000 (09:29 +0200)]
introduce -Wdeprecated
GCC seems to be using "deprecated" consistently over "obsoleted", so
use -Wdeprecated rather than -Wobsolete.
* src/complain.h (warnings): Add Wdeprecated.
* src/complain.c (warnings_print_categories): Adjust.
* src/getargs.c: Likewise.
* doc/bison.texi: Document it.
* src/scan-code.l: Use this category for the trailing ';' support.
* tests/actions.at: Adjust expected output.
Akim Demaille [Wed, 15 Aug 2012 07:44:34 +0000 (09:44 +0200)]
undefined but unused is a warning
* src/symtab.c (symbol_check_defined): Undeclared symbols are only
a warning.
* tests/input.at (Undeclared symbols used for a printer or destructor):
Rename as...
(Undefined symbols): this, and check this case.
* NEWS: Doc it.
Akim Demaille [Wed, 15 Aug 2012 06:46:54 +0000 (08:46 +0200)]
glr.cc: %defines is no longer mandatory
* data/glr.cc: No longer require %defines.
When it is not given, define the position and location classes instead
of including their headers.
(b4_shared_declarations): Use the original parse-params.
* data/glr.c (b4_shared_declarations): Define only if undefined.
* tests/actions.at, tests/calc.at: No longer force the use of %defines
for glr.cc.
* NEWS: Doc it.
Akim Demaille [Mon, 3 Sep 2012 14:19:00 +0000 (16:19 +0200)]
todo: check push parsers
Akim Demaille [Mon, 20 Aug 2012 07:15:01 +0000 (09:15 +0200)]
style: remove useless C++ provisio
* src/complain.h: here.
Akim Demaille [Mon, 20 Aug 2012 07:09:43 +0000 (09:09 +0200)]
parser: style changes
* src/parse-gram.y: Avoid deprecated directives.
Akim Demaille [Mon, 20 Aug 2012 07:09:04 +0000 (09:09 +0200)]
doc: address a fixme
* doc/bison.texi (Calc++ Parser): Add a cross-reference.
Akim Demaille [Tue, 14 Aug 2012 08:04:27 +0000 (10:04 +0200)]
style changes
* data/glr.cc, tests/actions.at: Fix comments.
* src/symtab.h, src/symtab.c: Fix indentation/comments.
* src/symlist.c: Fix indentation.
Akim Demaille [Wed, 22 Aug 2012 12:26:26 +0000 (14:26 +0200)]
tests: style changes
* tests/torture.at (AT_DATA_STACK_TORTURE): M4 style changes to
improve readability.
Fix an assertion which, because of a <= instead of ==, did not check
new_status as visibly meant.
(get_args): New.
Akim Demaille [Wed, 22 Aug 2012 11:48:55 +0000 (13:48 +0200)]
tests: fix push-pull test
* tests/torture.at: %push-pull-parser is no longer supported.
Akim Demaille [Fri, 31 Aug 2012 15:50:31 +0000 (17:50 +0200)]
yacc.c: style changes
* data/yacc.c: (yytoken): Define with initial value.
Akim Demaille [Sat, 11 Aug 2012 07:44:17 +0000 (09:44 +0200)]
refactoring: define variables with a value
* src/muscle-tab.c: Where possible, fuse definition and initial assignment.
Akim Demaille [Sat, 11 Aug 2012 07:16:08 +0000 (09:16 +0200)]
minor refactoring: shorten variable names
* src/scan-skel.l (at_directive_argc, at_directive_argv)
(AT_DIRECTIVE_ARGC_MAX): Rename as...
(argc, argv, ARGC_MAX): these, as there is no possible confusion.
(flags): New.
(QPUTS): Remove, inline its only use.
Akim Demaille [Sat, 11 Aug 2012 07:02:19 +0000 (09:02 +0200)]
obstacks: simplifications
* src/system.h (obstack_finish0): New.
Use it to simplify several uses.
* src/muscle-tab.h (MUSCLE_INSERTF): New.
* src/muscle-tab.c: Use obstack_printf where simpler.
Akim Demaille [Fri, 10 Aug 2012 08:11:32 +0000 (10:11 +0200)]
minor refactoring in user code scanning
* src/scan-code.l (show_sub_message, show_sub_messages): Instead of a
Boolean, take a "warnings" argument.
Avoid storing printf-like format strings in a variable, so that GCC
can check them.
Akim Demaille [Fri, 10 Aug 2012 08:02:16 +0000 (10:02 +0200)]
minor refactoring in user code scanning
* src/scan-code.l (show_sub_message): New, extracted from...
(show_sub_messages): here.
Akim Demaille [Fri, 3 Aug 2012 09:16:03 +0000 (11:16 +0200)]
tests: strengthen the trailing spaces check
* tests/calc.at: here.
* data/glr.c: Fix accordingly.
Akim Demaille [Fri, 3 Aug 2012 09:09:22 +0000 (11:09 +0200)]
regen
Akim Demaille [Fri, 3 Aug 2012 08:52:55 +0000 (10:52 +0200)]
Merge branch 'maint'
* origin/maint:
maint: post-release administrivia
version 2.6.2
NEWS: update.
yacc: remove trailing end of line at end of file
thanks: fix a contributor name
gnulib: update
tests: synch line -> syncline, for consistency
tests: synclines: style changes
tests: synclines: fix perl invocation
regen
c++: trailing end-of-lines in %parse-param
tests: simplify
Conflicts:
cfg.mk
data/glr.cc
data/yacc.c
src/parse-gram.c
src/parse-gram.h
src/parse-gram.y
Akim Demaille [Fri, 3 Aug 2012 06:13:11 +0000 (08:13 +0200)]
regen
Akim Demaille [Fri, 3 Aug 2012 06:03:03 +0000 (08:03 +0200)]
remove support for lint
Basically revert commit
12ce2df60d16961eaa03a5aa009eeaa645e4e1cb.
http://lists.gnu.org/archive/html/bison-patches/2012-08/msg00004.html
* data/c.m4, data/glr.c, data/yacc.c (YYID): Remove.
No longer use ARGSUSED.
* src/getargs.c: Restore simpler inclusion of getopt.h (anyway, since
then we now use gnulib which certainly protects us from such issues).
Akim Demaille [Thu, 2 Aug 2012 13:13:00 +0000 (15:13 +0200)]
skeletons: renamings after knr removal
* data/c.m4 (b4_yydestruct_generate, b4_yy_symbol_print_generate):
Rename as...
(b4_yydestruct_define, b4_yy_symbol_print_define): these, for consistency.
* data/glr.c, data/glr.cc, data/yacc.c: Adjust.
Akim Demaille [Fri, 3 Aug 2012 07:52:05 +0000 (09:52 +0200)]
maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
Akim Demaille [Fri, 3 Aug 2012 07:43:02 +0000 (09:43 +0200)]
version 2.6.2
* NEWS: Record release date.
Akim Demaille [Thu, 2 Aug 2012 12:19:40 +0000 (14:19 +0200)]
c++: fix a comment
* data/c++.m4: Be sure to attach a ';' to its declaration, otherwise
it appears in the preceding comment.
Akim Demaille [Thu, 2 Aug 2012 12:11:07 +0000 (14:11 +0200)]
skeletons: simplify after knr removal
* data/c.m4 (b4_yydestruct_generate, b4_yy_symbol_print_generate):
They no longer need an argument, it has a single possible value.
* data/glr.c, data/yacc.c: Adjust.
Akim Demaille [Thu, 2 Aug 2012 12:11:04 +0000 (14:11 +0200)]
skeletons: renamings after knr removal
* data/c.m4 (b4_c_comment_, b4_c_args, b4_c_function_def)
(b4_c_function_decl, b4_c_formals, b4_c_call, b4_c_arg): Rename as...
(b4_comment, b4_args, b4_function_define, b4_function_declare,
b4_formals, b4_function_call, b4_arg): these.
* data/glr.c, data/glr.cc, data/lalr1.cc, data/yacc.c: Adjust.
Akim Demaille [Thu, 2 Aug 2012 12:24:15 +0000 (14:24 +0200)]
skeletons: b4_args -> b4_join to prepare forthcoming changes
* data/bison.m4 (b4_args, _b4_args): Rename as...
(b4_join, _b4_join): these.
* data/c++.m4, data/lalr1.cc, data/variant.hh: Adjust.
Akim Demaille [Thu, 2 Aug 2012 11:55:39 +0000 (13:55 +0200)]
regen
Akim Demaille [Thu, 2 Aug 2012 09:59:12 +0000 (11:59 +0200)]
YYPARSE_PARAM: drop support
* data/yacc.c: No longer support it.
* doc/bison.texi, tests/headers.at: Adjust.
* NEWS: Document.
Akim Demaille [Thu, 2 Aug 2012 06:49:21 +0000 (08:49 +0200)]
skeletons: remove K&R C support
* data/c.m4 (b4_c_modern, b4_c_knr_formal_names, b4_c_knr_formal_decls)
(b4_c_knr_formal_decl, b4_c_formal_names, b4_c_formal_decls)
(b4_c_formal_decl): Remove.
(b4_c_ansi_formal_names, b4_c_ansi_formal_decls, b4_c_ansi_formal_decl):
Rename as...
(b4_c_formal_names, b4_c_formal_decls, b4_c_formal_decl):
these.
* data/glr.c, data/glr.cc, data/yacc.c: Adjust.
Akim Demaille [Thu, 2 Aug 2012 11:51:17 +0000 (13:51 +0200)]
NEWS: update.
* NEWS: Catch up with the other changes from 2.6.1.
Akim Demaille [Thu, 2 Aug 2012 10:01:54 +0000 (12:01 +0200)]
yacc: remove trailing end of line at end of file
There are still spurious spaces at the end of some lines. But this is
addressed in the master branch, and I am reluctant to try to backport
this.
* data/yacc.c, data/glr.c, data/lalr1.cc, data/glr.cc: here.
* tests/calc.at (AT_CHECK_SPACES): New.
Use it.
Be sure not to introduce trailing empty lines in the *.y files.
* NEWS: Doc it.
* cfg.mk (syntax-check): Remove the exception.
Akim Demaille [Thu, 2 Aug 2012 06:29:18 +0000 (08:29 +0200)]
thanks: fix a contributor name
* THANKS: On his request.
Akim Demaille [Wed, 1 Aug 2012 07:59:49 +0000 (09:59 +0200)]
gnulib: update
Akim Demaille [Wed, 1 Aug 2012 06:27:28 +0000 (08:27 +0200)]
tests: synch line -> syncline, for consistency
* tests/synclines.at: Do it, as "syncline" is used consistently
everywhere else in Bison.
Akim Demaille [Wed, 1 Aug 2012 07:30:27 +0000 (09:30 +0200)]
tests: synclines: style changes
* tests/synclines.at (AT_TEST_SYNCLINE): Rename as...
(AT_TEST): this.
Use pushdef/popdef.
Formatting changes.
Use '+' instead of '*' where appropriate.
Akim Demaille [Wed, 1 Aug 2012 07:30:23 +0000 (09:30 +0200)]
tests: synclines: fix perl invocation
Reported by Summum Bonum.
* tests/synclines.at: Fix Perl invocation: its -f is not like sed's.
Akim Demaille [Tue, 31 Jul 2012 12:18:43 +0000 (14:18 +0200)]
regen
Akim Demaille [Tue, 31 Jul 2012 12:18:39 +0000 (14:18 +0200)]
c++: trailing end-of-lines in %parse-param
* src/parse-gram.y (add_param): No only skip ' ' and '\t', skip all
leading and trailing spaces.
* tests/regression.at (Lex and parse params): Check it.
* NEWS: Document it.
Akim Demaille [Tue, 31 Jul 2012 12:29:39 +0000 (14:29 +0200)]
tests: simplify
* tests/regression.at: Remove useless compilations: AT_FULL_COMPILE
includes the compilation by bison.
Akim Demaille [Tue, 31 Jul 2012 11:19:45 +0000 (13:19 +0200)]
todo: more items
* TODO: $ in the epilogue, and obstack_copy.
Akim Demaille [Tue, 31 Jul 2012 09:50:18 +0000 (11:50 +0200)]
Merge branch 'maint'
* maint:
use obstack_printf
scanner: restore a missing start condition
gnulib: update
maint: post-release administrivia
version 2.6.1
gnulib: update
maint: fix some syntax-check issues
tests: do not depend on __cplusplus to decide for C++ or C output
Conflicts:
NEWS
bootstrap.conf
cfg.mk
lib/.gitignore
Akim Demaille [Tue, 31 Jul 2012 09:14:23 +0000 (11:14 +0200)]
tests: comment changes
* tests/actions.at, tests/input.at: here.
Akim Demaille [Mon, 30 Jul 2012 15:24:14 +0000 (17:24 +0200)]
tests: really check the set of generated files
* tests/output.at (AT_CHECK_OUTPUT): It used to check that the
expected files are indeed generated, but it did not check that
there are no additional ones.
Do that, and adjust expectations (in particular alphabetical order).
Akim Demaille [Mon, 30 Jul 2012 14:51:29 +0000 (16:51 +0200)]
lalr1.cc: do not create stack.hh without %defines
* data/stack.hh (b4_stack_define): New.
* data/lalr1.cc: Use it when %defines is not passed.
* tests/output.at: Adjust expected output.
Akim Demaille [Mon, 30 Jul 2012 14:37:02 +0000 (16:37 +0200)]
lalr1.cc: location.hh and position.hh are not generated without %defines
* data/location.cc (b4_position_define, b4_location_define): New.
(location.hh, position.hh): Generate only if %defines.
* data/lalr1.cc: therefore, define these classes when locations are
needed, but headers are not generated.
* tests/output.at: Check that these files are not generated.
* NEWS: Document.
Akim Demaille [Mon, 30 Jul 2012 13:49:28 +0000 (15:49 +0200)]
lalr1.cc: no longer require %defines.
* data/lalr1.cc: Generate the parser header only when %defines is
passed.
* tests/calc.at: Check it.
Akim Demaille [Mon, 30 Jul 2012 13:32:29 +0000 (15:32 +0200)]
skeletons: style changes
* data/glr.c, data/lalr1.cc: Use more consistent comments,
and YY_NULL declaration.
Akim Demaille [Mon, 30 Jul 2012 13:30:31 +0000 (15:30 +0200)]
glr.cc, lalr1.cc: define b4_shared_declarations
* data/glr.cc, data/lalr1.cc: here.
The name is no longer right, but at least it is consistent with
the other skeletons.
Akim Demaille [Mon, 30 Jul 2012 12:40:18 +0000 (14:40 +0200)]
glr.cc: no longer require location support
* data/glr.cc: Use b4_locations_if where appropriate.
* data/lalr1.cc: M4 quotation changes to highlight code duplication
with glr.cc.
* tests/calc.at: Check glr.cc with and without %location.
While at it, fuse multiple %parse-params into one.
* tests/actions.at: Simplify.
* NEWS: Doc this.
Some other wording changes.