]> git.saurik.com Git - bison.git/log
bison.git
12 years agoc++: more YY_NULL
Akim Demaille [Sun, 1 Apr 2012 11:15:41 +0000 (13:15 +0200)] 
c++: more YY_NULL

Caught by maintainer-check-g++.
* data/glr.c, data/lalr1.cc, data/yacc.c, tests/cxx-type.at,
* tests/glr-regression.at, tests/push.at:
When simple to do, avoid expliciting the null ptr.
Otherwise use YY_NULL.
(cherry picked from commit eeaf1dc646048e464d97f6a572b8894632e6e47a)

Conflicts:

data/glr.c
data/lalr1.cc
tests/cxx-type.at

12 years agobump to 2012 in skeletons.
Akim Demaille [Sun, 1 Apr 2012 10:15:19 +0000 (12:15 +0200)] 
bump to 2012 in skeletons.

* data/glr.c, data/glr.cc, data/lalr1.cc, data/lalr1.java,
* data/location.cc, data/yacc.c: Bump copyright year ranges.

12 years agobuild: remove ancient Autoconf tests.
Akim Demaille [Sun, 1 Apr 2012 09:14:28 +0000 (11:14 +0200)] 
build: remove ancient Autoconf tests.

lib/subpipe.c was removed in 47fa574761319b0a422691223c9b8a9a72f36aa2.

* m4/subpipe.m4: Remove.
* configure.ac (BISON_PREREQ_SUBPIPE): Remove.

12 years agodoc: c++: complete the location documentation.
Akim Demaille [Sat, 31 Mar 2012 07:46:12 +0000 (09:46 +0200)] 
doc: c++: complete the location documentation.

* data/location.cc (position::initialize, location::initialize):
Also accept line and column, with default values.
* doc/bison.texinfo (C++ position, C++ location): New nodes.
Describe more thoroughly these classes.
Fix several Texinfo misuses.

12 years agoc++: locations: provide convenience constructors.
Akim Demaille [Tue, 23 Sep 2008 11:49:41 +0000 (13:49 +0200)] 
c++: locations: provide convenience constructors.

* data/location.cc (position::position): Accept file, line and
column as arguments with default values.
Always qualify initial line and column literals as unsigned.
(location::location): Provide convenience constructors.
(cherry picked from commit 0634493cdde92cbdb8d9fb95a5bebe596bb53798)

Conflicts:

ChangeLog-2012
data/location.cc

12 years agoc++: locations: remove useless "inline".
Akim Demaille [Fri, 30 Mar 2012 14:45:47 +0000 (16:45 +0200)] 
c++: locations: remove useless "inline".

* data/location.cc: "inline" is implicit when defining
methods in the class definition.

12 years agoglr: do not use locations when they are not requested
Akim Demaille [Sat, 31 Mar 2012 07:45:59 +0000 (09:45 +0200)] 
glr: do not use locations when they are not requested

When the test suite runs with -O2 and warnings enabled, G++
complains of locations being used, but not initialized.
The simplest is to not use locations.

* data/glr.c (b4_locuser_formals, b4_locuser_args): New.
Use them when locations should not be used.
Use b4_locations_if where appropriate.
(yyuserAction): Modify the order to the arguments to make
it more alike the other routines, and to make use of
b4_locuser_args simpler.

12 years agoc++: use nullptr for C++11.
Akim Demaille [Fri, 30 Mar 2012 13:50:45 +0000 (15:50 +0200)] 
c++: use nullptr for C++11.

C++11 introduces "nullptr" which plays the role of C's NULL, in
replacement of "0".  Fix the C++ skeletons to avoid warnings about
uses of "0" in place of "nullptr", and improve C skeletons to also use
this "nullptr" when compiled with a C++11 compiler.

* configure.ac: More C++ warnings.
* NEWS (2.5.1): Document this.
* data/c++.m4, data/c.m4 (b4_null_define): New.
(b4_null): Use YY_NULL instead of 0.
* data/glr.c, data/lalr1.cc, data/location.cc, data/yacc.c:
Call b4_null_define/b4_null where appropriate.
Use YY_NULL instead of NULL.
* data/location.cc (initialize): Accept a default argument,
YY_NULL.
* tests/actions.at, tests/calc.at: Adjust.

* data/glr.c, lib/libiberty.h, src/system.h (__attribute__):
Do not disable it when __STRICT_ANSI__ is defined, as, for
instance, it disables the __attribute__((unused)) which
protects us from some compiler warnings.
This was already done elsewhere in Bison, in 2001, see
4a0d89369599a2cea01f4fbdf791f426a02cb5a3.
* tests/regression.at: Adjust output.

12 years agobuild: simplify and improve the compiler warnings for tests.
Akim Demaille [Tue, 27 Mar 2012 14:20:34 +0000 (16:20 +0200)] 
build: simplify and improve the compiler warnings for tests.

* configure.ac (warn_common, warn_c, warn_cxx): New.
Use them to compute independently the options supported
by the C and C++ compilers.
Don't AC_SUBST the variables passed to gl_WARN_ADD: it
does it for us.
(WARN_CFLAGS_TEST, WARN_CXXFLAGS_TEST): Don't aggregate
$WARN_CFLAGS and $WARN_CXXFLAGS in them now, leave it
to atlocal.in.
(O0CFLAGS, O0CXXFLAGS): Move their definition to...
* tests/atlocal.in: here.
Be more systematic between C and C++.
Reorder to factor between variables.
Propagate all of the variables when --compile-c-with-cxx.

12 years agognulib: update.
Akim Demaille [Fri, 30 Mar 2012 11:41:01 +0000 (13:41 +0200)] 
gnulib: update.

12 years agomaint: formatting changes.
Akim Demaille [Thu, 29 Mar 2012 12:57:25 +0000 (14:57 +0200)] 
maint: formatting changes.

* src/system.h: Indent CPP directives using cppi.

12 years agoNEWS: update.
Akim Demaille [Tue, 20 Mar 2012 08:27:00 +0000 (09:27 +0100)] 
NEWS: update.

* NEWS: Java fixes, more about the doc changes, liby issues.

12 years agoJava: Fix syntax error handling without error token.
Tim Landscheidt [Sun, 12 Feb 2012 01:29:41 +0000 (01:29 +0000)] 
Java: Fix syntax error handling without error token.

* data/lalr1.java (YYParser::parse): Here.
* tests/java.at: Add test case.

12 years agotests: beware of -pedantic on large #line numbers.
Akim Demaille [Sat, 24 Mar 2012 13:11:06 +0000 (14:11 +0100)] 
tests: beware of -pedantic on large #line numbers.

* tests/local.at (AT_TEST_TABLES_AND_PARSE): Don't pass -pedantic
when compiling large canonical-LR parsers.
Reported by Tys Lefering.
http://lists.gnu.org/archive/html/bug-bison/2012-03/msg00025.html
(cherry picked from commit 8ec3110a9ed4e4d26327bbccfc25278c374fd99a)

12 years agotests: when using the C++ compiler, use its flags too.
Akim Demaille [Fri, 23 Mar 2012 15:05:15 +0000 (16:05 +0100)] 
tests: when using the C++ compiler, use its flags too.

* tests/local.at: Go for colors.
(--compile-c-with-cxx): New option.
We used to pass "CC=$CXX" as command line argument,
but it was not possible to adjust CFLAGS accordingly
in atlocal, since it is loaded before assignments on
the command line are honored (so that the command line
takes precedence).
* tests/atlocal.in: Implement it.
* tests/local.mk: Use it.
(cherry picked from commit ac3f2e33b464a168b84ddb8a2da2195a6656dd19)

Conflicts:

tests/local.mk

12 years agodoc: update the --verbose report format.
Akim Demaille [Fri, 16 Mar 2012 09:13:16 +0000 (10:13 +0100)] 
doc: update the --verbose report format.

* doc/bison.texinfo (Understanding): Adjust to match the
current format.
(cherry picked from commit 29e20e22e0ecd5bf4c31c4ff32599ea5f404d136)

12 years agodoc: spell check.
Akim Demaille [Mon, 19 Mar 2012 09:41:25 +0000 (10:41 +0100)] 
doc: spell check.

* doc/bison.texinfo: here.
(cherry picked from commit 5a321748e2ec62e10c615e1e557c972c291b10db)

Conflicts:

doc/bison.texinfo

12 years agodoc: stmt, not stmnt.
Akim Demaille [Fri, 16 Mar 2012 13:31:44 +0000 (14:31 +0100)] 
doc: stmt, not stmnt.

* doc/bison.texinfo: s/stmnt/stmt/g.  This is a
much more common abbreviation for "statement".
(cherry picked from commit 0860e38311eb80b0cba0b026d1fe7a8c81ffeec6)

12 years agodoc: save width.
Akim Demaille [Fri, 16 Mar 2012 13:29:43 +0000 (14:29 +0100)] 
doc: save width.

* doc/bison.texinfo (Language and Grammar): Use the same
layout for an example in all the versions, i.e., keep
as general case what used to be used only for Info.
(cherry picked from commit 1d280c0999ada8fc3fb0a96d01530948642f4444)

12 years agodoc: reformat grammar snippets.
Akim Demaille [Fri, 16 Mar 2012 13:26:00 +0000 (14:26 +0100)] 
doc: reformat grammar snippets.

* doc/bison.texinfo: Convert the grammar examples to
use a narrower style.  This helps fitting into the
@smallbook constraints.
http://lists.gnu.org/archive/html/bison-patches/2012-03/msg00011.html
(cherry picked from commit 5e9b6624d78e7390a05e2c6b0708cc4944fb1861)

Conflicts:

doc/bison.texinfo

12 years agodoc: use only @example, not @smallexample.
Akim Demaille [Thu, 15 Mar 2012 14:40:04 +0000 (15:40 +0100)] 
doc: use only @example, not @smallexample.

* doc/bison.texinfo: Convert all @smallexamples into @examples.
Adjust layout where needed.
(cherry picked from commit c93f22fcf703f6e9613c3b1b5129879bc1e79618)

Conflicts:

doc/bison.texinfo

12 years agodoc: style changes.
Akim Demaille [Thu, 15 Mar 2012 14:36:20 +0000 (15:36 +0100)] 
doc: style changes.

* doc/bison.texinfo: Avoid line width issues with TeX.
Upgrade ancient messages.
Move some comments to better looking places.
Add more @group.
(Mfcalc Symbol Table): Reduce variable scopes.
Prefer size_t for sizes.
Prefer declarations with an initial value.
Fix a @group environment.
(cherry picked from commit aaaa2aaef40eed197ebbd0bd45d8a66606cdb19c)

Conflicts:

doc/bison.texinfo

12 years agodoc: minor fixes to "Understanding" section
Paul Eggert [Sat, 17 Mar 2012 19:52:47 +0000 (12:52 -0700)] 
doc: minor fixes to "Understanding" section

* doc/bison.texinfo (Understanding): Minor wording fixes and
improvements.  Fixes problems reported in
<https://savannah.gnu.org/patch/?4306>.
(cherry picked from commit 35880c82dc7a774fc2eefc956c3db97b65082607)

12 years agotests: minor fixes/simplifications
Akim Demaille [Wed, 22 Feb 2012 13:42:59 +0000 (14:42 +0100)] 
tests: minor fixes/simplifications

* tests/local.at (AT_BISON_CHECK_NO_XML): Simplify sed programs,
quotation, and default value assignments.
Ensure a proper value to the numeric variables.
Reported by Lie Yan.
http://lists.gnu.org/archive/html/bug-bison/2012-03/msg00000.html

12 years agotests: be robust to quote style.
Akim Demaille [Wed, 8 Feb 2012 13:44:24 +0000 (14:44 +0100)] 
tests: be robust to quote style.

See <http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00120.html>.

* src/main.c (main): Define the quoting style we use.
* tests/atlocal.in: Use ASCII style quotes during the tests.
(cherry picked from commit 39ac121457237a14437ee7d7bae28e368a201a7a)

12 years agomaint: update gnulib.
Akim Demaille [Fri, 9 Mar 2012 07:11:17 +0000 (08:11 +0100)] 
maint: update gnulib.

* gnulib: update.
* src/scan-gram.l: Don't use the (former version of) STREQ.

12 years agotests: be robust to POSIXLY_CORRECT being defined.
Akim Demaille [Tue, 6 Mar 2012 08:09:02 +0000 (09:09 +0100)] 
tests: be robust to POSIXLY_CORRECT being defined.

* tests/local.at (AT_BISON_CHECK_NO_XML): Check if
POSIXLY_CORRECT is defined, not if it is defined to 1.
Reported by Lie Yan.
http://lists.gnu.org/archive/html/bug-bison/2012-03/msg00000.html

12 years agodoc: fix environment issues.
Akim Demaille [Thu, 23 Feb 2012 16:50:29 +0000 (17:50 +0100)] 
doc: fix environment issues.

* doc/bison.texinfo: Do not use @verbatim, in particular when
we use @group inside.
Use @quotation instead of @display for frequently asked questions,
it looks much nicer.
(cherry picked from commit 71b52b1342c65a5497f6b3780481ff2deb932a56)

Conflicts:

doc/bison.texinfo

12 years agoregen.
Akim Demaille [Tue, 21 Feb 2012 14:52:35 +0000 (15:52 +0100)] 
regen.

* src/parse-gram.h, src/parse-gram.c: regen.

12 years agotests: fix regressions.
Akim Demaille [Tue, 21 Feb 2012 14:38:09 +0000 (15:38 +0100)] 
tests: fix regressions.

Exit status 63 is documented for version-mismatch.
* bootstrap.conf (gnulib_modules): Remove sysexits.
* src/system.h (EX_MISMATCH): Define.
* src/parse-gram.y (version_check): Use it instead of EX_CONFIG.

Missing includes.
* tests/calc.at, tests/named-refs.at: Include assert.h.
(cherry picked from commit 459a57a90ff6fc8209498b7d5bc6e33d5e633f23)

12 years agoglr: fix ambiguity reports.
Akim Demaille [Tue, 21 Feb 2012 10:51:37 +0000 (11:51 +0100)] 
glr: fix ambiguity reports.

* tests/glr-regression.at (Ambiguity reports): New.
(cherry picked from commit a6b2f4fc020fe6e464f4a445a7851825d3d57e4d)

12 years agodoc: stylistic improvements.
Akim Demaille [Sun, 19 Feb 2012 17:17:19 +0000 (18:17 +0100)] 
doc: stylistic improvements.

* doc/bison.texinfo: Prefer "continue" to empty loop bodies.
Add some @group/@end group to avoid poor page breaks.
(cherry picked from commit d4fca427636f15eb952974ff04e4fb046428440a)

Conflicts:

doc/bison.texinfo

12 years agomaint: address sc_prohibit_doubled_word.
Akim Demaille [Sun, 19 Feb 2012 11:54:09 +0000 (12:54 +0100)] 
maint: address sc_prohibit_doubled_word.

* data/yacc.c, doc/bison.texinfo: Reword to avoid having to
disable that check.
* cfg.mk: No longer skip this test.
(cherry picked from commit 762caaf6393d71d740ad86855a15f5000721d103)

Conflicts:

data/yacc.c

12 years agomaint: address sc_prohibit_always-defined_macros.
Akim Demaille [Sun, 19 Feb 2012 10:40:36 +0000 (11:40 +0100)] 
maint: address sc_prohibit_always-defined_macros.

* cfg.mk: No longer skip it, except where EXIT_SUCCESS is used
as a witness for stdlib.h.
Skip this test when appropriate.
* data/yacc.c: Drop a note about why EXIT_SUCCESS is defined here.

Conflicts:

cfg.mk

12 years agomaint: address sc_bindtextdomain, sc_program_name and sc_prohibit_HAVE_MBRTOWC.
Akim Demaille [Sun, 19 Feb 2012 10:13:04 +0000 (11:13 +0100)] 
maint: address sc_bindtextdomain, sc_program_name and sc_prohibit_HAVE_MBRTOWC.

* bootstrap.conf (gnulib_modules): Require progname.
* src/complain.c, src/getargs.c, src/getargs.h, src/main.c: Use it.
* cfg.mk (exclude): New.
Use it.
Skip lib/main.c for bindtextdomain and set_program_name.
(cherry picked from commit 4d699f44e65d29b4d49cf68d7a3b4bf856eb5d1b)

Conflicts:

cfg.mk

12 years agomaint: remove stray file.
Akim Demaille [Sun, 19 Feb 2012 11:28:42 +0000 (12:28 +0100)] 
maint: remove stray file.

* config.hin: Remove.
(cherry picked from commit 222342aa6708814c01a63ff7d568209d3705ff47)

12 years agomaint: address some syntax-issues remaining after cherry-picking from master.
Akim Demaille [Sun, 19 Feb 2012 09:27:05 +0000 (10:27 +0100)] 
maint: address some syntax-issues remaining after cherry-picking from master.

* cfg.mk: Skip bison generated files, 2.5 is generating trailing
blanks.  This is already fixed in master.
* tests/conflicts.at, tests/java.at: Fix white space issues.

12 years agoregen.
Akim Demaille [Sun, 19 Feb 2012 09:22:51 +0000 (10:22 +0100)] 
regen.

* src/parse-gram.c, src/parse-gram.h: Regen.

12 years agobitset: fix an incorrect error message.
Akim Demaille [Sun, 19 Feb 2012 09:18:29 +0000 (10:18 +0100)] 
bitset: fix an incorrect error message.

* lib/bitset_stats.c: here.
Reported by Stefano Lattarini.

12 years agomaint: reenable sc_m4_quote_check
Jim Meyering [Sun, 29 Jan 2012 20:26:43 +0000 (21:26 +0100)] 
maint: reenable sc_m4_quote_check

* cfg.mk (local-checks-to-skip): Reenable sc_m4_quote_check.
* m4/dmalloc.m4: Add quotes.

Conflicts:

cfg.mk

12 years agomaint: remove trailing empty lines.
Akim Demaille [Sat, 18 Feb 2012 18:25:55 +0000 (19:25 +0100)] 
maint: remove trailing empty lines.

* cfg.mk: No longer skip sc_prohibit_empty_lines_at_EOF, except
for parse-gram.h (generated).
* examples/mfcalc/.gitignore, lib/.gitignore, m4/.gitignore,
* po/.gitignore, runtime-po/.gitignore: Remove trailing/leading
empty lines.

Conflicts:

examples/mfcalc/.gitignore

12 years agomaint: avoid "magic number exit".
Akim Demaille [Sat, 18 Feb 2012 18:19:26 +0000 (19:19 +0100)] 
maint: avoid "magic number exit".

* cfg.mk (local-checks-to-skip): No longer skip it.
* bootstrap.conf (gnulib_modules): Add sysexits.
* doc/bison.texinfo, etc/bench.pl.in, src/parse-gram.y,
* src/system.h, tests/calc.at, tests/named-refs.at: Use assert
where appropriate instead of "if (...) exit".
Use symbolic exit status elsewhere.

Conflicts:

doc/bison.texinfo
src/parse-gram.y

12 years agomaint: fix some syntax-check issues.
Akim Demaille [Sat, 18 Feb 2012 17:48:33 +0000 (18:48 +0100)] 
maint: fix some syntax-check issues.

* cfg.mk (local-checks-to-skip): Remove
sc_prohibit_quotearg_without_use, sc_prohibit_strcmp,
sc_unmarked_diagnostics, sc_useless_cpp_parens.
(sc_unmarked_diagnostics): Skip DJGPP.
* data/yacc.c, src/LR0.c, src/closure.c,
* src/flex-scanner.h, src/gram.c, src/lalr.c,
* src/print-xml.c, src/print.c, src/print_graph.c,
* src/reader.c, src/reduce.c, src/tables.c:
Don't use parens with cpp's defined.
Remove useless includes.

12 years agomaint: address a couple of syntax-check errors.
Akim Demaille [Sat, 18 Feb 2012 14:41:50 +0000 (15:41 +0100)] 
maint: address a couple of syntax-check errors.

* cfg.mk (local-checks-to-skip): Remove sc_error_message_period
and sc_error_message_uppercase.
Address the uncovered issues.
* po/POTFILES.in: Add missing files.
* src/symtab.c: Remove useless includes.
* lib/bitset_stats.c, src/files.c, tests/glr-regression.at: Use
conformant error messages.

Conflicts:

cfg.mk
lib/bitset_stats.c
tests/glr-regression.at

12 years agomaint: gnulib: upgrade.
Akim Demaille [Sat, 18 Feb 2012 14:25:31 +0000 (15:25 +0100)] 
maint: gnulib: upgrade.

12 years agomaint: rely on Automake for parsers.
Akim Demaille [Wed, 15 Feb 2012 12:36:24 +0000 (13:36 +0100)] 
maint: rely on Automake for parsers.

* Makefile.am (AM_YFLAGS): Automake looks for "-d" alone.
Move other options in here.
(BISON): New.
(YACC): Use it.
(bison_SOURCES): Now that automake can see `-d' in AM_YFLAGS,
we can rely on it to compile and ship the parser header
files.

Based on commit 737406a32c201471699bfa0843d1f432f3ec29ab and
commit 3d6ca339083c278d907c9f030f4ba6bc5ecb07f2.

12 years agomaint: more authors.
Akim Demaille [Mon, 13 Feb 2012 12:45:50 +0000 (13:45 +0100)] 
maint: more authors.

* AUTHORS: here.
Suggested by Tys Lefering.
(cherry picked from commit bdf66d1db4b82872076197998ddcfafbed306268)

12 years agomaint: add license headers.
Akim Demaille [Mon, 13 Feb 2012 12:39:23 +0000 (13:39 +0100)] 
maint: add license headers.

* examples/calc++/test, examples/variant.yy, AUTHORS, THANKS,
* tests/atlocal.in, tests/bison.in: Add license headers.
Reported by Tys Lefering.
(cherry picked from commit 3272a7256f893399bbbc4b84e6181c71002f3fd8)

Conflicts:

examples/variant.yy
tests/bison.in

12 years agomaint: remove obsolete file.
Akim Demaille [Sat, 11 Feb 2012 13:50:54 +0000 (14:50 +0100)] 
maint: remove obsolete file.

* etc/make-ChangeLogs: Remove (used for rcs to cvs migration!).
Reported by Tys Lefering.
(cherry picked from commit 3b4d62d5269c50231c9a209dd15820ccba21f5e7)

12 years agouse a more consistent quoting style.
Akim Demaille [Wed, 8 Feb 2012 09:28:58 +0000 (10:28 +0100)] 
use a more consistent quoting style.

See <http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00120.html>.
Use quotearg as often as possible instead of leaving the choice of
the quotes to the translators.  Use shorter messages.  Factor similar
messages to a single format, to make localization easier.

* src/files.c, src/getargs.c, src/muscle-tab.c, src/reader.c
* src/scan-code.l, src/scan-gram.l, src/symtab.c:
Use quote() or quotearg_colon() on printf arguments instead of
quotes in the format string.
* data/bison.m4: Keep sync with the changes in muscle-tab.c.

* tests/skeletons.at, tests/input.at, tests/regression.at: Adjust
expected messages.
(cherry picked from commit 4a9cd8f24abba232b4a07ccdda4c6f109d27acac)

Conflicts:

src/muscle-tab.c

12 years agomaint: remove stray debug code.
Akim Demaille [Tue, 31 Jan 2012 08:42:56 +0000 (09:42 +0100)] 
maint: remove stray debug code.

* src/Makefile.am (echo): Remove.

12 years agomaint: space changes.
Akim Demaille [Tue, 31 Jan 2012 08:42:04 +0000 (09:42 +0100)] 
maint: space changes.

* src/Makefile.am: Use 2 leading spaces for variable definition
spreading over several lines.

12 years agomaint: more silent-rules.
Akim Demaille [Mon, 30 Jan 2012 15:21:13 +0000 (16:21 +0100)] 
maint: more silent-rules.

* doc/local.mk, src/local.mk, examples/calc++/Makefile.am: Use
$(AM_V_GEN) and $(AM_V_at) where appropriate.
(cherry picked from commit f67c0a1c35cbc342e1c1b2201aa563b17c26e3b1)

Conflicts:

doc/local.mk
examples/calc++/Makefile.am
src/local.mk

12 years agodo not ignore errors like ENOSPC,EIO when writing to stdout
Jim Meyering [Sun, 29 Jan 2012 11:50:32 +0000 (12:50 +0100)] 
do not ignore errors like ENOSPC,EIO when writing to stdout

Standard output was never explicitly closed, so we could not
detect failure.  Thus, bison would ignore the errors of writing
to a full file system and getting an I/O error on write, but only
for standard output, e.g., for --print-localedir, --print-datadir,
--help and some verbose output.
Now, "bison --print-datadir > /dev/full" reports the write failure:
bison: write error: No space left on device
Before, it would exit 0 with no diagnostic, implying success.
This is not an issue for "--output=-" or the other FILE-accepting
command-line options, because unlike most other GNU programs,
an output file argument of "-" is treated as the literal "./-",
rather than standard output.
* bootstrap.conf (gnulib_modules): Add closeout.
* src/main.c: Include "closeout.h".
Use atexit to ensure we close stdout.
* .gitignore: Ignore new files pulled in via gnulib-tool.
(cherry picked from commit acb5895680611f8beb497b41694d9686f2932c50)

Conflicts:

m4/.gitignore

12 years agotests: fix expected output.
Akim Demaille [Thu, 26 Jan 2012 20:52:44 +0000 (21:52 +0100)] 
tests: fix expected output.

* tests/actions.at (YYBACKUP): here.
(cherry picked from commit 888b6ddfe44ee87ddc6bd77b960dde820c53f105)

12 years agoyacc: fix YYBACKUP.
Akim Demaille [Wed, 25 Jan 2012 15:57:58 +0000 (16:57 +0100)] 
yacc: fix YYBACKUP.

Reported by David Kastrup:
https://lists.gnu.org/archive/html/bug-bison/2011-10/msg00002.html.

* data/yacc.c (YYBACKUP): Accept rhs size.
Restore the proper state value.
* TODO (YYBACKUP): Make it...
* tests/actions.at: a new test case.
* NEWS, THANKS: Update.
(cherry picked from commit d115aad9112fb4e2fe1b268c9db7390732d39539)

Conflicts:

TODO
data/yacc.c

12 years agomaint: update TODO.
Akim Demaille [Wed, 25 Jan 2012 15:36:03 +0000 (16:36 +0100)] 
maint: update TODO.

* TODO (Labeling the symbols): Remove, it's done ("Name references").
(cherry picked from commit 2c7f50be6247b4a03bdb27936ea6185cb6a7443c)

12 years agomaint: update THANKS.
Akim Demaille [Wed, 25 Jan 2012 12:25:22 +0000 (13:25 +0100)] 
maint: update THANKS.

* THANKS: Update Tys's address, on his request.
(cherry picked from commit 93ebddb11f3aca5aeb7d2337c6b54a652f08384f)

12 years agomaint: fix --gcc-warnings support.
Akim Demaille [Wed, 25 Jan 2012 12:04:43 +0000 (13:04 +0100)] 
maint: fix --gcc-warnings support.

* configure.ac: Use enable_gcc_warnings instead of enableval,
which is valid only with AC_ARG_ENABLE.
(cherry picked from commit 1890a2a816dab86c23cc1d0af8fac3986335deb7)

Conflicts:

configure.ac

12 years agomaint: silent-rules.
Akim Demaille [Wed, 25 Jan 2012 11:59:02 +0000 (12:59 +0100)] 
maint: silent-rules.

* configure.ac: Ask for silent-rules support.
Enable it by default.
(cherry picked from commit da1eb15bc9f2147359f5a4d9826303a53e08b447)

12 years agomaint: remove trailing blanks.
Akim Demaille [Thu, 26 Jan 2012 20:27:49 +0000 (21:27 +0100)] 
maint: remove trailing blanks.

* src/scan-code.l: Here.

12 years agotests: port to Solaris 10 'diff -u'
Paul Eggert [Tue, 24 Jan 2012 21:54:12 +0000 (13:54 -0800)] 
tests: port to Solaris 10 'diff -u'

* tests/regression.at (parse-gram.y: LALR = IELR): Port to Solaris 10,
where "diff -u X X" outputs "No differences encountered"
instead of outputting nothing.  Reported by Tomohiro Suzuki in
<http://lists.gnu.org/archive/html/bug-bison/2012-01/msg00101.html>.
(cherry picked from commit 071ca141ec7987a5eca782227ce70db434a206ab)

12 years agobuild: avoid possibly-replaced fprintf in liby-source, yyerror.c
Jim Meyering [Mon, 23 Jan 2012 10:47:46 +0000 (11:47 +0100)] 
build: avoid possibly-replaced fprintf in liby-source, yyerror.c

* lib/yyerror.c (yyerror): Use fputs and fputc rather than fprintf
with a mere "%s\n" format.  Always return 0 now, on the assumption
that the return value was never used anyway.
Don't include <config.h> after all.  This avoids a problem
reported by Thiru Ramakrishnan in
http://lists.gnu.org/archive/html/help-bison/2011-11/msg00000.html
* cfg.mk: Exempt lib/yyerror.c from the sc_require_config_h_first test.
* THANKS: Update.
(cherry picked from commit fb9eea88856d73a5f25295a52f6d4df7fabc565b)

12 years agomaint: generate ChangeLog from git log
Jim Meyering [Thu, 19 Jan 2012 08:07:02 +0000 (09:07 +0100)] 
maint: generate ChangeLog from git log

* Makefile.am (gen-ChangeLog): New rule.
(dist-hook): Depend on it.
(EXTRA_DIST): Distribute the two ChangeLog-* files.
* bootstrap.conf (gnulib_modules): Add gitlog-to-changelog.
(bootstrap_post_import_hook): Ensure that ChangeLog exists.
* build-aux/git-log-fix: New file.
* ChangeLog-2012: Renamed ...
* ChangeLog: ... from this.
* ChangeLog-1998: Renamed ...
* OChangeLog: ...from this
* .gitignore: Add ChangeLog.
(cherry picked from commit 5ef4a3c71cfd6c07e71462944281c284780312c1)

Conflicts:

Makefile.am
bootstrap.conf
build-aux/.gitignore

12 years agochange more quotes in source, and adjust tests to match
Jim Meyering [Mon, 16 Jan 2012 18:36:41 +0000 (19:36 +0100)] 
change more quotes in source, and adjust tests to match

Run this command to change each `%s' to '%s' in source directories:
  git grep -l '`%s'\' src djgpp data \
    |xargs perl -pi -e '$q="'\''";s/`%s$q/$q%s$q/g'
* data/bison.m4: Affected per the above.
* djgpp/subpipe.c: Likewise.
* src/files.c: Likewise.
* src/getargs.c: Likewise.
* src/muscle-tab.c: Likewise.
* src/reader.c: Likewise.
* tests/glr-regression.at: Adjust to match.
* tests/input.at: Likewise.
* tests/push.at: Likewise.
* tests/skeletons.at: Likewise.
(cherry picked from commit 4aa9d1ff9ca9b838fe02a9bfe5ae4b0f935e5451)

Conflicts:

src/getargs.c
src/muscle-tab.c
src/reader.c
tests/input.at

12 years agoquote consistently and make tests pass with new quoting from gnulib
Jim Meyering [Mon, 16 Jan 2012 18:20:50 +0000 (19:20 +0100)] 
quote consistently and make tests pass with new quoting from gnulib

Updating to gnulib pulled in new quote and quotarg modules,
by which quoting is now done like 'this' rather than `this'.
That change induces many "make check" test failures.  This change
adapts code and tests so that "make check" passes once again.
* src/scan-code.l: Quote like 'this', not like `this'.
* src/scan-gram.l: Likewise.
* src/symtab.c: Likewise.
* tests/actions.at: Adjust tests to match.
* tests/input.at: Likewise.
* tests/named-refs.at: Likewise.
* tests/output.at: Likewise.
* tests/regression.at: Likewise.
* lib/.gitignore: Regenerate.
* m4/.gitignore: Likewise.
(cherry picked from commit ae93e4e4b8e78396a7707de3dcdd47aca7a46dec)

Conflicts:

src/scan-code.l
src/scan-gram.l
src/symtab.c
tests/output.at

12 years agobuild: update gnulib and autoconf submodules to latest
Jim Meyering [Mon, 16 Jan 2012 16:28:06 +0000 (17:28 +0100)] 
build: update gnulib and autoconf submodules to latest
(cherry picked from commit 728415f885e5cb8e518c8576fa6e1f541e384130)

12 years agobuild: manually update bootstrap from gnulib, and adapt
Jim Meyering [Mon, 16 Jan 2012 11:29:19 +0000 (12:29 +0100)] 
build: manually update bootstrap from gnulib, and adapt

Updating to the latest bootstrap from gnulib involves more of a
change than usual, and updating to the latest gnulib would involve
its own set of challenges with the upcoming quoting changes, so
we update bootstrap manually and separately.
* bootstrap: Update from gnulib.
* lib/Makefile.am: Initialize more variables to empty, so that gnulib.mk
can append to them with "+=".
* bootstrap.conf (gnulib_mk_hook): Remove.  No longer honored.
(gnulib_tool_option_extras): Generate gnulib.mk.
(cherry picked from commit 85ad742d4e94345d5ac07755f6722344cfd49603)

Conflicts:

Makefile.am
bootstrap.conf
etc/prefix-gnulib-mk

12 years agomaint: include <config.h> first
Jim Meyering [Mon, 16 Jan 2012 11:18:46 +0000 (12:18 +0100)] 
maint: include <config.h> first

* cfg.mk (exclude_file_name_regexp--sc_require_config_h_first):
Exempt data/glr.c and data/yacc.c from the include-config.h-first
requirement.
(cherry picked from commit 77f114dd6e50ab39e0962f39ad9c2f2e1d347acf)

12 years agobuild: include <config.h> from lib/yyerror.c
Jim Meyering [Mon, 16 Jan 2012 11:16:24 +0000 (12:16 +0100)] 
build: include <config.h> from lib/yyerror.c

* lib/yyerror.c: Include <config.h>.
(cherry picked from commit cf33c228e08142e3ef715105a191db24ec980ca8)

12 years agomaint: list djgpp/subpipe.c in po/POTFILES.in
Jim Meyering [Mon, 16 Jan 2012 11:14:12 +0000 (12:14 +0100)] 
maint: list djgpp/subpipe.c in po/POTFILES.in

* po/POTFILES.in: Add djgpp/subpipe.c.
(cherry picked from commit e7f5dbf82d8b8110a8982d31d034755b5d072fdc)

12 years agomaint: placate the space-TAB syntax-check
Jim Meyering [Mon, 16 Jan 2012 10:58:41 +0000 (11:58 +0100)] 
maint: placate the space-TAB syntax-check

* cfg.mk (exclude_file_name_regexp--sc_space_tab): Exempt
tests/input.at and tests/c++.at, since they appear to use
SP-TAB sequences deliberately.
* OChangeLog: Remove space-before-TAB.
(cherry picked from commit aebc4303615a4431acaa54e42380feb6b63e7f12)

12 years agodoc: correct typo: s/can not/cannot/
Jim Meyering [Mon, 16 Jan 2012 10:42:55 +0000 (11:42 +0100)] 
doc: correct typo: s/can not/cannot/

* doc/bison.texinfo (Bug Reports): s/can not/cannot/
And remove trailing blanks.
(cherry picked from commit 411614fac478a60cf942dc5e2011a08178156d30)

Conflicts:

doc/bison.texinfo

12 years agomaint: get gpl-3.0 from gnulib
Jim Meyering [Mon, 16 Jan 2012 10:47:05 +0000 (11:47 +0100)] 
maint: get gpl-3.0 from gnulib

* bootstrap.conf (gnulib_modules): Add gpl-3.0.
* doc/gpl-3.0.texi: Remove from version control, now that
we get it via gnulib.
* doc/.gitignore: Ignore it.
(cherry picked from commit b87414a05e43ed270d5a88d365d0139f43acb34d)

12 years agomaint: get fdl.texi from gnulib
Jim Meyering [Fri, 13 Jan 2012 09:39:45 +0000 (10:39 +0100)] 
maint: get fdl.texi from gnulib

* bootstrap.conf (gnulib_modules): Add fdl.
* doc/fdl.texi: Remove file.

12 years agomaint: spell "file system" as two separate words
Jim Meyering [Fri, 13 Jan 2012 09:22:48 +0000 (10:22 +0100)] 
maint: spell "file system" as two separate words

* doc/Doxyfile.in: Spell it "file system", to avoid a
"make syntax-check" failure.

12 years agomaint: avoid "the the"
Jim Meyering [Fri, 13 Jan 2012 09:18:26 +0000 (10:18 +0100)] 
maint: avoid "the the"

* djgpp/README.in: s/the the/the/
* src/parse-gram.c (lloc_default): Likewise.
* src/parse-gram.y (lloc_default): Likewise, and remove a
trailing space.

Conflicts:

ChangeLog
src/parse-gram.y

12 years agobuild: avoid warning from coverity about lbitset_elt_find
Jim Meyering [Fri, 13 Jan 2012 11:19:08 +0000 (12:19 +0100)] 
build: avoid warning from coverity about lbitset_elt_find

* lib/lbitset.c (lbitset_elt_find): Remove unnecessary test of "elt",
at a point where we know it is non-NULL, due to prior dereference.

12 years agomaint: factor copyright year.
Akim Demaille [Fri, 13 Jan 2012 11:02:36 +0000 (12:02 +0100)] 
maint: factor copyright year.

* configure.ac: Use $PACKAGE_COPYRIGHT_YEAR instead of repeating it.

12 years agomaint: catch missing gnulib macros.
Akim Demaille [Fri, 13 Jan 2012 11:00:12 +0000 (12:00 +0100)] 
maint: catch missing gnulib macros.

* configure.ac: Add m4_pattern_forbid.

12 years agomaint: run "make update-copyright".
Akim Demaille [Fri, 13 Jan 2012 10:47:30 +0000 (11:47 +0100)] 
maint: run "make update-copyright".

12 years agojava: remove unused variable.
Tim Landscheidt [Sun, 8 Jan 2012 01:27:33 +0000 (01:27 +0000)] 
java: remove unused variable.

* data/lalr1.java (yyresult): remove, unused.

12 years agoscanner: fix typo.
Akim Demaille [Wed, 11 Jan 2012 15:46:36 +0000 (16:46 +0100)] 
scanner: fix typo.

* src/scan-skel.l (@`): s/emtpy/empty/.
Reported by Tim Landscheidt.

12 years agobuild: avoid warnings about set-but-not-used variables
Jim Meyering [Fri, 6 Jan 2012 12:55:11 +0000 (13:55 +0100)] 
build: avoid warnings about set-but-not-used variables

* lib/bitset_stats.c (bitset_stats_list): Remove declaration
and set of unused local, "type".
* lib/ebitset.c (ebitset_init): Likewise, for "size".
* lib/lbitset.c (lbitset_not): Likewise, for "elt".

13 years agotests: add -pedantic for --enable-gcc-warnings.
Joel E. Denny [Sun, 21 Aug 2011 17:07:16 +0000 (13:07 -0400)] 
tests: add -pedantic for --enable-gcc-warnings.

This should help to avoid some portability problems.  For example,
it would have revealed the empty unions fixed by the last patch
* configure.ac (WARN_CFLAGS_TESTS, WARN_CXXFLAGS_TEST): Implement.
* tests/synclines.at (AT_TEST_SYNCLINE): Avoid -pedantic warning
about an empty translation unit.

13 years agotests: fix empty unions.
Joel E. Denny [Sun, 21 Aug 2011 18:45:03 +0000 (14:45 -0400)] 
tests: fix empty unions.

Empty unions are not accepted by the ISO C99 grammar or by at
least some versions of Sun Studio.  Reported by Wolfgang S. Kechel
at
<http://lists.gnu.org/archive/html/bug-bison/2011-08/msg00003.html>.
* NEWS (2.5.1): Document fix.
* THANKS (Wolfgang S. Kechel): Add.
* tests/existing.at (GNU Cim Grammar)
(GNU pic (Groff 1.18.1) Grammar.): Remove empty %union.

13 years agobuild: avoid YACC typo inherited from Autoconf.
Joel E. Denny [Sun, 10 Jul 2011 17:42:12 +0000 (13:42 -0400)] 
build: avoid YACC typo inherited from Autoconf.

The typo shows up in the `configure --help' output.  Reported by
W.C.A. Wijngaards and Paul Eggert at
<http://lists.gnu.org/archive/html/bug-bison/2011-07/msg00000.html>.
* README-hacking (Release Procedure): Remind about updating
maintainer tools before a release.
* THANKS (W.C.A. Wijngaards): Add.
* configure.ac (AC_PREREQ): Set to 2.68, which fixes the YACC
typo.

13 years agobuild: create xz instead of bzip2 tarballs.
Joel E. Denny [Sun, 10 Jul 2011 16:38:24 +0000 (12:38 -0400)] 
build: create xz instead of bzip2 tarballs.

Suggested by Jim Meyering at
<http://lists.gnu.org/archive/html/bug-bison/2011-06/msg00012.html>.
* README-hacking (Release Procedure): Update example.
* configure.ac (AM_INIT_AUTOMAKE): Replace dist-bzip2 with
dist-xz.

13 years agodoc: clean up references to `Locations Overview'.
Joel E. Denny [Mon, 30 May 2011 02:30:55 +0000 (22:30 -0400)] 
doc: clean up references to `Locations Overview'.

* doc/bison.texinfo (Locations Overview): Rename node to...
(Locations): ... this, which is its section name.  Update menus to
match that and not to use the title `Tracking Locations', which is
a different section.

13 years agodoc: clean up references to `Tracking Locations'.
Joel E. Denny [Mon, 30 May 2011 02:18:27 +0000 (22:18 -0400)] 
doc: clean up references to `Tracking Locations'.

* doc/bison.texinfo (Locations): Rename node to...
(Tracking Locations): ... this, which is its section name, and
update all cross references.  The trouble is that there is another
node about locations.  Its section name is `Locations', which was
easily confused with the node name of this node.  Moreover, its
node name is `Locations Overview', which was mistakenly used to
label some cross references to this node.

13 years agodoc: clean up `Named References' a little.
Joel E. Denny [Mon, 30 May 2011 00:28:09 +0000 (20:28 -0400)] 
doc: clean up `Named References' a little.

* doc/bison.texinfo (Named References): Rename section to match
the node name, and update all cross references.  Don't use the
acronyms RHS and LHS given that we don't expand them anywhere in
the manual.  Try to use @samp and @code properly.  Mention that
named references are experimental as we've already stated in NEWS.
(Destructor Decl): Expand the only remaining use of RHS or LHS.

13 years agodoc: motivate named references.
Joel E. Denny [Mon, 30 May 2011 00:06:22 +0000 (20:06 -0400)] 
doc: motivate named references.

Suggested by Hans Aberg at
<http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
* doc/bison.texinfo (Named References): Explain briefly how
they're better than the traditional positional references.

13 years agodoc: discuss named references after locations.
Joel E. Denny [Sun, 29 May 2011 23:59:44 +0000 (19:59 -0400)] 
doc: discuss named references after locations.

Reported by Hans Aberg at
<http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
* NEWS (2.5.1): Document.
* doc/bison.texinfo (Named References): Because it discusses
locations in addition to semantic values, move this subsection out
of the section `Defining Language Semantics', where locations have
not yet been introduced, to be a new section after the following
section, `Tracking Locations'.

13 years agoPrepare for the possibility of a 2.5.1 release.
Joel E. Denny [Mon, 30 May 2011 00:49:16 +0000 (20:49 -0400)] 
Prepare for the possibility of a 2.5.1 release.

* NEWS (2.5.1): New heading.

13 years agoVersion 2.5. v2.5
Joel E. Denny [Sat, 14 May 2011 22:14:52 +0000 (18:14 -0400)] 
Version 2.5.

* NEWS (2.5): Set date.

13 years agoDon't use IF_LINT in Bison sources.
Joel E. Denny [Sat, 14 May 2011 20:16:26 +0000 (16:16 -0400)] 
Don't use IF_LINT in Bison sources.

It creates unnecessary differences between the sources that Bison
maintainers build and test (given that maintainers normally
configure with --enable-gcc-warnings) and the sources that Bison
users build.  Instead, use PACIFY_CC, which doesn't.  This change
fixes compiler warnings reported by Tys Lefering at
<http://lists.gnu.org/archive/html/bison-patches/2011-05/msg00004.html>.
* configure.ac: Don't AC_DEFINE lint regardless of the configure
options.  This change affects imported gnulib sources, where
IF_LINT still appears and depends on lint.
* src/scan-gram.l, src/scan-skel.l: Replace uses of IF_LINT with
PACIFY_CC.
* src/system.h (IF_LINT): Remove cpp macro.
(PACIFY_CC): New cpp macro.

13 years agoFix precedence for end token.
Joel E. Denny [Mon, 2 May 2011 01:53:35 +0000 (21:53 -0400)] 
Fix precedence for end token.

Since Bison 2.3b, which restored the ability of precedence
directives to assign user token numbers, doing so for user token
number 0 has produced an assertion failure.
* NEWS (2.5): Document fix.
* src/symtab.c (symbol_user_token_number_set): In the case of the
end token, don't decrement ntokens if it was never incremented.
* tests/regression.at (Token number in precedence declaration):
Extend.

13 years agoPrepare for 2.5 release.
Joel E. Denny [Sun, 1 May 2011 22:41:34 +0000 (18:41 -0400)] 
Prepare for 2.5 release.

* NEWS (2.5_rc1): Rename back to...
(2.5): ... this, and unset date.

13 years agoVersion 2.5_rc1. v2.5_rc1
Joel E. Denny [Sun, 1 May 2011 14:27:37 +0000 (10:27 -0400)] 
Version 2.5_rc1.

* NEWS (2.5): Rename to...
(2.5_rc1): ... this, and set date.

13 years agoPacify -DGNULIB_POSIXCHECK.
Joel E. Denny [Sun, 1 May 2011 16:25:31 +0000 (12:25 -0400)] 
Pacify -DGNULIB_POSIXCHECK.

* bootstrap.conf (gnulib_modules): Add all modules suggested by
-DGNULIB_POSIXCHECK.
* src/files.c (file_name_split)
* src/getargs.c (getargs)
* src/location.c (boundary_set_from_string)
* src/output.c (token_definitions_output, output_skeleton)
* src/parse-gram.y (prologue_declaration)
* src/scan-gram.l (handle_syncline)
* src/symtab.c (symbol_new): Use mbschr and mbsrchr instead of
strchr and strrchr.  In the cases of command-line options, file
names, and thus locations, functionality may be improved.  In the
case of symbol names, there should be no functional difference as
all characters are ASCII, so the intended benefit is just warning
suppression.