Commit Graph

1242 Commits

Author SHA1 Message Date
Akim Demaille
8ec3110a9e 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
2012-03-24 14:19:39 +01:00
Akim Demaille
ac3f2e33b4 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.
2012-03-24 14:19:38 +01:00
Akim Demaille
ff9684b720 tests: fix dependencies.
* tests/local.mk (check_SCRIPTS): Add atlocal and atconfig so
that they are properly updated before running tests.
(RUN_TESTSUITE_deps): New.
Use it to factor the dependencies of "*-check" targets,
especially those that don't bounce to the regular
"check-local" target, since then they don't benefit from the
proper dependencies (such as atlocal).
2012-03-24 14:19:38 +01:00
Akim Demaille
05061eca7c 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
2012-03-13 12:01:45 +01:00
Akim Demaille
dd31e17d7e 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
2012-03-13 10:19:14 +01:00
Akim Demaille
16d94f45c9 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
2012-03-09 08:41:32 +01:00
Akim Demaille
06e0e52ca4 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 39ac121457)
2012-03-09 08:28:31 +01:00
Akim Demaille
a17187e563 tests: remove quote magic from the bison test wrapper.
Basically, revert 4c4d35394d.

	* tests/bison.in: Leave bison's stderr as is.
2012-03-09 08:04:31 +01:00
Akim Demaille
39ac121457 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.
2012-03-09 08:04:31 +01:00
Akim Demaille
c14ceb55b9 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
2012-03-06 09:16:38 +01:00
Akim Demaille
2a55930762 build: comment changes.
* Makefile.am, examples/calc++/local.mk, examples/local.mk,
	* examples/mfcalc/local.mk, examples/rpcalc/local.mk,
	* lib/local.mk, src/local.mk, tests/local.mk:
	Make the copyright licenses more uniform.
2012-02-24 14:01:13 +01:00
Akim Demaille
da209f943b 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 459a57a90f)
2012-02-23 16:10:08 +01:00
Akim Demaille
459a57a90f 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.
2012-02-21 15:42:13 +01:00
Akim Demaille
4c4d35394d tests: post-process stderr to normalize quotes.
* tests/bison.in: Save bison's stderr, and convert gettextized
	quotes to plain ASCII.
2012-02-21 15:42:13 +01:00
Akim Demaille
71cbc1ac1a glr: fix ambiguity reports.
* tests/glr-regression.at (Ambiguity reports): New.
(cherry picked from commit a6b2f4fc02)
2012-02-21 14:44:15 +01:00
Akim Demaille
a6b2f4fc02 glr: fix ambiguity reports.
Fix a regression introduced in commit
783aa653f4.

	* tests/glr-regression.at (Ambiguity reports): New.
	* data/glr.c (yyreportTree): Fix an offset error.
2012-02-21 14:41:31 +01:00
Akim Demaille
e0e2b93355 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.
2012-02-19 10:29:24 +01:00
Akim Demaille
dd5611579b 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
2012-02-19 10:21:06 +01:00
Akim Demaille
6487c0b370 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
2012-02-19 10:21:06 +01:00
Akim Demaille
d0f2b7f856 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.
2012-02-18 19:32:18 +01:00
Akim Demaille
108df813c4 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.
2012-02-18 15:41:50 +01:00
Akim Demaille
0bb5783b38 tests: c++: stylistic changes.
* tests/c++.at: Don't use void for incoming arguments.
	Prefer cstdlib to stdlib.h.
2012-02-16 15:52:13 +01:00
Jim Meyering
292402a9b2 tests: avoid c++ failure due to lack of getenv decl
* tests/c++.at (Syntax error as exception): Avoid spurious failure
at least when compiling with g++-4.7.x due to lack of declaration
of getenv.  Include <stdlib.h>.
2012-02-16 11:03:31 +01:00
Akim Demaille
360ae94ebc maint: de-recurse the handling of examples
The directory was still using a local Makefile.am because it provides
"scoped" Make variables: these examples are not meant to use the same
CPPFLAGS etc.  If we were to use the same -I set, we'd pick up
gnulib's stdio.h for instance, which we do not want for these simple
examples.

Yet, as a result, the dependencies are less accurate, there is code
duplication, etc.  This is especially perceptible when trying to
extract more examples from the documentation, as will be done in
forthcoming changes.

In order to make the tuning of CPPFLAGS easier, discard the predefined
-I from Automake.

	* examples/calc++/Makefile.am: Rename as...
	* examples/calc++/local.mk: this.
	Adjust the paths which are now rooted in top_srcdir/top_builddir.
	Handle BISON_CXX_WORKS here, instead of the too crude previous
	approach that completely discarded the whole directory.
	($(BISON)): Remove now useless bouncing recipe.
	(calc___CPPFLAGS): New.
	Stay away from -Ilib.
	* Makefile.am, configure.ac, examples/local.mk,
	* examples/calc++/test: Adjust.

	* configure.ac: Pass nostdinc to Automake.
	* src/local.mk, lib/local.mk (AM_CPPFLAGS): Move to...
	* Makefile.am: here.

	* src/local.mk, examples/calc++/Makefile.am (BISON, BISON_IN): Factor
	to...
	* Makefile.am: here.
	* tests/local.mk: Use it.
2012-02-14 21:00:59 +01:00
Akim Demaille
a34e8b242e 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 3272a7256f)

Conflicts:

	examples/variant.yy
	tests/bison.in
2012-02-14 20:12:34 +01:00
Akim Demaille
3272a7256f 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.
2012-02-14 20:08:20 +01:00
Akim Demaille
a6552c5d2a lalr1.cc: also handle syntax_error when calling yylex.
* data/lalr1.cc (parse): Catch syntax_error around yylex and
	forward them to errlab1.
	* tests/c++.at (Syntax error as exception): Check support for
	syntax exceptions raised by the scanner.
	* NEWS, doc/bison.texinfo: Document it.
2012-02-10 09:17:45 +01:00
Akim Demaille
199a2d6d72 tests: lalr1.cc: check syntax_error.
* tests/c++.at (Syntax error as exception): New.
2012-02-10 09:17:45 +01:00
Akim Demaille
a8c5aaa53e tests: don't require locations uselessly.
* tests/c++.at (Syntax error discarding no lookahead): Contrary to
	2.5, C++ parsers can work without locations.
2012-02-10 09:17:45 +01:00
Akim Demaille
9bfbf75bdf maint: more silent rules.
* tests/local.mk (TESTSUITE_AT): Include plackage.m4.
	Adjust dependencies.
	Make testsuite.at its first argument.
	(package.m4): Be silent.
	(testsuite): Be silent.
	Use $<.
2012-02-10 09:17:45 +01:00
Akim Demaille
4c787a31df 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 4a9cd8f24a)

Conflicts:

	src/muscle-tab.c
2012-02-08 11:40:41 +01:00
Akim Demaille
4a9cd8f24a 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.
2012-02-08 11:32:36 +01:00
Akim Demaille
ec94982bec tests: fix expected output.
* tests/actions.at (YYBACKUP): here.
(cherry picked from commit 888b6ddfe4)
2012-01-26 21:54:10 +01:00
Akim Demaille
888b6ddfe4 tests: fix expected output.
* tests/actions.at (YYBACKUP): here.
2012-01-26 21:52:44 +01:00
Akim Demaille
94556574b5 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 d115aad911)

Conflicts:

	TODO
	data/yacc.c
2012-01-26 21:36:35 +01:00
Akim Demaille
d115aad911 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.
2012-01-26 21:18:24 +01:00
Paul Eggert
7a709ad88d 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 071ca141ec)
2012-01-25 10:52:39 +01:00
Paul Eggert
071ca141ec 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>.
2012-01-24 13:54:40 -08:00
Jim Meyering
abf3f74b21 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 4aa9d1ff9c)

Conflicts:

	src/getargs.c
	src/muscle-tab.c
	src/reader.c
	tests/input.at
2012-01-24 19:31:27 +01:00
Jim Meyering
9874f80b2e 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 ae93e4e4b8)

Conflicts:

	src/scan-code.l
	src/scan-gram.l
	src/symtab.c
	tests/output.at
2012-01-23 14:07:53 +01:00
Jim Meyering
4aa9d1ff9c 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.
2012-01-19 09:09:42 +01:00
Jim Meyering
ae93e4e4b8 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.
2012-01-19 09:09:42 +01:00
Akim Demaille
c932d6135c maint: run "make update-copyright". 2012-01-13 11:48:14 +01:00
Jim Meyering
34136e65fc maint: run "make update-copyright". 2012-01-13 10:09:44 +01:00
Joel E. Denny
d63311dfb9 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.
(cherry picked from commit 5422d56a71)
2011-08-21 17:15:26 -04:00
Joel E. Denny
765e1bd4fc 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.
(cherry picked from commit 7451638148)
2011-08-21 17:03:26 -04:00
Joel E. Denny
5422d56a71 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.
2011-08-21 16:23:11 -04:00
Joel E. Denny
7451638148 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.
2011-08-21 14:45:03 -04:00
Joel E. Denny
e969014232 global: remove unnecessary horizontal tabs.
This change was made by applying emacs' untabify function to
nearly all files in Bison's repository.  Required tabs in make
files, ChangeLog, regexps, and test code were manually skipped.
Other notable exceptions and changes are listed below.
* bootstrap: Skip because we sync this with gnulib.
* data/m4sugar/foreach.m4
* data/m4sugar/m4sugar.m4: Skip because we sync these with
Autoconf.
* djgpp: Skip because I don't know how to test djgpp properly, and
this code appears to be unmaintained anyway.
* README-hacking (Hacking): Specify that tabs should be avoided
where not required.
2011-07-24 18:13:05 -04:00
Joel E. Denny
1f36f54446 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.
(cherry picked from commit 9d6af15318)
2011-05-01 23:13:13 -04:00