Commit Graph

4536 Commits

Author SHA1 Message Date
Joel E. Denny
41d35e54d5 YYFAIL: deprecate.
* NEWS (2.4.2): Document deprecation and the phase-out plan.
* data/lalr1.java (parser::YYStack::YYFAIL): Add comment about
deprecation.
* data/yacc.c (YYFAIL): Likewise, and suppress warnings about
YYFAIL from GCC cpp's -Wunused-macros.
* doc/bison.texinfo (Java Action Features): Remove YYFAIL
documentation.
(LocalWords): Remove YYFAIL.
(cherry picked from commit 1625df5b18)

Conflicts:

	src/parse-gram.c
	src/parse-gram.h
2009-12-22 12:53:17 -05:00
Joel E. Denny
4395a9ff4f YYFAIL: warn about uses and remove from lalr1.java.
* NEWS (2.5): Document.
* data/lalr1.java (parser::YYStack::YYFAIL): Rename to YYERRLAB,
and make it private.  Update all uses.
* src/scan-code.l (SC_RULE_ACTION): Implement warning.
2009-12-21 16:40:33 -05:00
Joel E. Denny
1625df5b18 YYFAIL: deprecate.
* NEWS (2.4.2): Document deprecation and the phase-out plan.
* data/lalr1.java (parser::YYStack::YYFAIL): Add comment about
deprecation.
* data/yacc.c (YYFAIL): Likewise, and suppress warnings about
YYFAIL from GCC cpp's -Wunused-macros.
* doc/bison.texinfo (Java Action Features): Remove YYFAIL
documentation.
(LocalWords): Remove YYFAIL.
2009-12-21 16:40:33 -05:00
Joel E. Denny
5335b65a79 tests: cleanup.
* tests/c++.at (Syntax error discarding no lookahead): Don't
ignore stderr.  Instead, eliminate remaining warnings.
2009-12-20 16:03:07 -05:00
Joel E. Denny
d59beda068 lalr1.cc: don't discard non-existent lookahead on syntax error.
* data/lalr1.cc (parser::parse): Check yyempty first.
* tests/c++.at (Syntax error discarding no lookahead): New test
group.
2009-12-18 23:58:14 -05:00
Joel E. Denny
692d04cb6a Code cleanup.
* src/symtab.c, src/symtab.h (symbol_class_get_string): Remove
function, which is no longer used.
(cherry picked from commit 387b4d5047)
2009-12-17 01:11:47 -05:00
Joel E. Denny
387b4d5047 Code cleanup.
* src/symtab.c, src/symtab.h (symbol_class_get_string): Remove
function, which is no longer used.
2009-12-17 01:09:09 -05:00
Joel E. Denny
3473147172 Add gcc's -Wundef to test suite and fix another warning from it.
* NEWS (2.4.2): Update description of -Wundef fix.
* configure.ac (WARN_CXXFLAGS_TEST): New substitution.
(WARN_CFLAGS_TEST): New substitution.
* data/glr.c: Avoid warning about __STRICT_ANSI__.
* tests/atlocal.in (CFLAGS): Use WARN_CFLAGS_TEST instead of
WARN_CFLAGS.
(NO_WERROR_CFLAGS): Likewise.
(CXXFLAGS): Use WARN_CXXFLAGS_TEST instead of WARN_CXXFLAGS.
(cherry picked from commit a603c6e0bb)
2009-12-16 13:32:50 -05:00
Joel E. Denny
a603c6e0bb Add gcc's -Wundef to test suite and fix another warning from it.
* NEWS (2.4.2): Update description of -Wundef fix.
* configure.ac (WARN_CXXFLAGS_TEST): New substitution.
(WARN_CFLAGS_TEST): New substitution.
* data/glr.c: Avoid warning about __STRICT_ANSI__.
* tests/atlocal.in (CFLAGS): Use WARN_CFLAGS_TEST instead of
WARN_CFLAGS.
(NO_WERROR_CFLAGS): Likewise.
(CXXFLAGS): Use WARN_CXXFLAGS_TEST instead of WARN_CXXFLAGS.
2009-12-16 13:20:49 -05:00
Joel E. Denny
3bba2dadae * data/yacc.c: Reformat m4 a little.
(cherry picked from commit 19750d310c)
2009-12-16 01:51:49 -05:00
Joel E. Denny
af2ffe5c23 Document gcc -Wundef fix.
* NEWS (2.4.2): Here.
* THANKS (Jonathan Nieder): Add.
(cherry picked from commit c938d650db)
2009-12-16 01:51:14 -05:00
Joel E. Denny
19750d310c * data/yacc.c: Reformat m4 a little. 2009-12-16 01:50:14 -05:00
Joel E. Denny
c938d650db Document gcc -Wundef fix.
* NEWS (2.4.2): Here.
* THANKS (Jonathan Nieder): Add.
2009-12-16 01:50:10 -05:00
Jonathan Nieder
874ac415b9 Simplify y.tab.c when location tracking is disabled.
* data/yacc.c: Do not check YYLTYPE_IS_TRIVIAL if location
tracking is not enabled.  Instead, unconditionally define
YY_LOCATION_PRINT as a no-op for backward compatibility.
(cherry picked from commit fcd32abd3a)
2009-12-16 01:44:52 -05:00
Jonathan Nieder
06caf0e144 Avoid warnings from gcc -Wundef y.tab.c.
* data/glr.c: Check if YYENABLE_NLS and YYLTYPE_IS_TRIVIAL are
defined before using them.
* data/lalr1.cc: Likewise.
* data/yacc.c: Likewise.
(cherry picked from commit ae93128c96)
2009-12-16 01:44:42 -05:00
Jonathan Nieder
fcd32abd3a Simplify y.tab.c when location tracking is disabled.
* data/yacc.c: Do not check YYLTYPE_IS_TRIVIAL if location
tracking is not enabled.  Instead, unconditionally define
YY_LOCATION_PRINT as a no-op for backward compatibility.
2009-12-16 01:21:31 -05:00
Jonathan Nieder
ae93128c96 Avoid warnings from gcc -Wundef y.tab.c.
* data/glr.c: Check if YYENABLE_NLS and YYLTYPE_IS_TRIVIAL are
defined before using them.
* data/lalr1.cc: Likewise.
* data/yacc.c: Likewise.
2009-12-16 01:21:13 -05:00
Joel E. Denny
687f011aa9 autoconf: update to latest for fix of M4 detection.
Reported by Eric Blake.
* submodules/autoconf: Update.
(cherry picked from commit c843aaab35)
2009-12-15 19:00:33 -05:00
Joel E. Denny
c843aaab35 autoconf: update to latest for fix of M4 detection.
Reported by Eric Blake.
* submodules/autoconf: Update.
2009-12-15 18:59:40 -05:00
Joel E. Denny
fb9a3976c2 portability: use -DGNULIB_POSIXCHECK.
Reported by Eric Blake.  See discussions at
<http://lists.gnu.org/archive/html/bug-bison/2009-09/msg00008.html>
and
<http://lists.gnu.org/archive/html/bug-gnulib/2009-10/msg00108.html>.
* HACKING (Release checks): Suggest -DGNULIB_POSIXCHECK.
* bootstrap.conf (gnulib_modules): Add all the printf modules
suggested by -DGNULIB_POSIXCHECK.  Add realloc-posix as
suggested by -DGNULIB_POSIXCHECK for gnulib's own vasnprintf.c.
(excluded_files): Remove m4/printf-posix.m4.
* tests/atlocal.in (LIBS): As for LDADD in src/Makefile.am, add
lib/libbison.a so gnulib libraries can be linked.
(cherry picked from commit 5c99151aeb)

Conflicts:

	lib/.cvsignore
	lib/.gitignore
	m4/.cvsignore
	m4/.gitignore
2009-12-15 18:30:34 -05:00
Joel E. Denny
5c99151aeb portability: use -DGNULIB_POSIXCHECK.
Reported by Eric Blake.  See discussions at
<http://lists.gnu.org/archive/html/bug-bison/2009-09/msg00008.html>
and
<http://lists.gnu.org/archive/html/bug-gnulib/2009-10/msg00108.html>.
* HACKING (Release checks): Suggest -DGNULIB_POSIXCHECK.
* bootstrap.conf (gnulib_modules): Add all the printf modules
suggested by -DGNULIB_POSIXCHECK.  Add realloc-posix as
suggested by -DGNULIB_POSIXCHECK for gnulib's own vasnprintf.c.
(excluded_files): Remove m4/printf-posix.m4.
* tests/atlocal.in (LIBS): As for LDADD in src/local.mk, add
lib/libbison.a so gnulib libraries can be linked.
2009-12-15 17:39:07 -05:00
Joel E. Denny
75f94c6ddf gnulib: update for fix of fprintf-posix, which we'll use soon.
* etc/prefix-gnulib-mk (prefix): Adjust regex for make file
targets so that gnulib's new arg-nonnull.h and link-warning.h
are matched.
* gnulib: Update.
2009-12-15 17:22:15 -05:00
Joel E. Denny
f1fb412cf3 Enable assertion output and --disable-assert for configure.
* bootstrap.conf (gnulib_modules): Add assert module.
* src/system.h (aver): Define as assert, and summarize the
discussion on this issue.
(cherry picked from commit ca01f454f0)
2009-12-14 18:13:04 -05:00
Joel E. Denny
ca01f454f0 Enable assertion output and --disable-assert for configure.
* bootstrap.conf (gnulib_modules): Add assert module.
* src/system.h (aver): Define as assert, and summarize the
discussion on this issue.
2009-12-14 18:05:23 -05:00
Joel E. Denny
9dc3ee6d54 Expand GLR acronym in summary of Bison.
Based on discussion with Akim Demaille starting at
<http://lists.gnu.org/archive/html/bison-patches/2009-04/msg00087.html>.
* doc/bison.texinfo (Introduction): Here.
* src/getargs.c (usage): Here.
(cherry picked from commit 51c7ca01e2)
2009-12-14 16:09:52 -05:00
Joel E. Denny
51c7ca01e2 Expand GLR acronym in summary of Bison.
Based on discussion with Akim Demaille starting at
<http://lists.gnu.org/archive/html/bison-patches/2009-04/msg00087.html>.
* doc/bison.texinfo (Introduction): Here.
* src/getargs.c (usage): Here.
2009-12-14 16:08:19 -05:00
Alex Rozenman
1f68dca514 Document named references.
* doc/bison.texinfo (Actions): Add new example and xref to
	Using Named References node.
	(Using Named References): New node.
2009-11-26 23:36:20 +02:00
Alex Rozenman
d013372c3f Document named references.
* doc/bison.texinfo (Actions): Add new example and xref to
	Using Named References node.
	(Using Named References): New node.
2009-11-26 23:24:53 +02:00
Joel E. Denny
aa01d1934c cleanup.
* src/Sbitset.c (Sbitset__new_on_obstack): Use Sbitset instead
of char*.
(Sbitset__isEmpty): Use Sbitset instead of char*.
* src/Sbitset.h (Sbitset): Make it a pointer to unsigned char
instead of char.  This helps to avoid casting errors.
(Sbitset__or): Use Sbitset instead of char*.
(cherry picked from commit 5297ebb3bc)
2009-10-16 19:40:43 -04:00
Joel E. Denny
61747047da portability: don't assume 8-bit bytes.
That is, use CHAR_BIT and UCHAR_MAX instead of 8 and 0xff.
* src/Sbitset.h (Sbitset__nbytes): Here.
(Sbitset__byteAddress): Here.
(Sbitset__bit_mask): Here.
(Sbitset__last_byte_mask): Here.
(Sbitset__ones): Here.
(SBITSET__FOR_EACH): Here.
(cherry picked from commit 175620d3c6)
2009-10-16 19:40:38 -04:00
Joel E. Denny
5297ebb3bc cleanup.
* src/Sbitset.c (Sbitset__new_on_obstack): Use Sbitset instead
of char*.
(Sbitset__isEmpty): Use Sbitset instead of char*.
* src/Sbitset.h (Sbitset): Make it a pointer to unsigned char
instead of char.  This helps to avoid casting errors.
(Sbitset__or): Use Sbitset instead of char*.
2009-10-16 19:30:32 -04:00
Joel E. Denny
175620d3c6 portability: don't assume 8-bit bytes.
That is, use CHAR_BIT and UCHAR_MAX instead of 8 and 0xff.
* src/Sbitset.h (Sbitset__nbytes): Here.
(Sbitset__byteAddress): Here.
(Sbitset__bit_mask): Here.
(Sbitset__last_byte_mask): Here.
(Sbitset__ones): Here.
(SBITSET__FOR_EACH): Here.
2009-10-16 19:30:31 -04:00
Joel E. Denny
a70596de95 portability: use va_start and va_end in the same function.
* src/complain.c (error_message): Move va_end from here...
(ERROR_MESSAGE): ... to here.
(cherry picked from commit 786578e394)
2009-10-11 16:28:16 -04:00
Joel E. Denny
786578e394 portability: use va_start and va_end in the same function.
* src/complain.c (error_message): Move va_end from here...
(ERROR_MESSAGE): ... to here.
2009-10-11 16:15:39 -04:00
Joel E. Denny
416a9da61e * data/bison.m4: Update comments for rename to muscle-tab.h.
(cherry picked from commit 51f255a530)
2009-10-08 17:21:59 -04:00
Joel E. Denny
51f255a530 * data/bison.m4: Update comments for rename to muscle-tab.h. 2009-10-08 17:08:01 -04:00
Joel E. Denny
23ec25b7c6 Rename muscle_tab.* to muscle-tab.* for consistency with master.
* src/Makefile.am (bison_SOURCES): Update.
* src/getargs.c, src/ielr.c, src/lalr.c, src/main.c,
src/output.c, src/parse-gram.y, src/print.c, src/reader.c,
src/tables.c: Update include.
* src/muscle_tab.c, src/muscle_tab.h: Rename to...
* src/muscle-tab.c, src/muscle-tab.h: ... these and update
include.
2009-10-08 16:58:22 -04:00
Joel E. Denny
0ab402b48b Minor code cleanup.
* src/muscle_tab.c (MUSCLE_USER_NAME_CONVERT): Remove macro and
replace all uses with UNIQSTR_CONCAT.
* src/uniqstr.c (uniqstr_vsprintf): New function.
* src/uniqstr.h (uniqstr_vsprintf): Add prototype.
(UNIQSTR_CONCAT, UNIQSTR_GEN_FORMAT, UNIQSTR_GEN_FORMAT_): New
macros.
(cherry picked from commit 10659d0ec9)

Conflicts:

	src/muscle_tab.c
2009-10-08 01:54:31 -04:00
Joel E. Denny
10659d0ec9 Minor code cleanup.
* src/muscle-tab.c (MUSCLE_USER_NAME_CONVERT): Remove macro and
replace all uses with UNIQSTR_CONCAT.
* src/uniqstr.c (uniqstr_vsprintf): New function.
* src/uniqstr.h (uniqstr_vsprintf): Add prototype.
(UNIQSTR_CONCAT, UNIQSTR_GEN_FORMAT, UNIQSTR_GEN_FORMAT_): New
macros.
2009-10-08 01:31:07 -04:00
Joel E. Denny
3c5362b825 * TODO (Complaint submessage indentation): New. 2009-10-06 12:48:43 -04:00
Joel E. Denny
42ec0ae176 Minor code cleanup.
* src/parse-gram.y: Clean up sorting of declarations.
Use types to simplify %printer declarations where possible.
Provide %printer for BRACKETED_ID and symbol.prec.
* src/symtab.c: Whitespace change.
(cherry picked from commit b143f4048f)

Conflicts:

	src/parse-gram.c
	src/parse-gram.h
	src/parse-gram.y
2009-10-05 00:12:58 -04:00
Joel E. Denny
b143f4048f Minor code cleanup.
* src/parse-gram.y: Clean up sorting of declarations.
Use types to simplify %printer declarations where possible.
Provide %printer for BRACKETED_ID and symbol.prec.
* src/symtab.c: Whitespace change.
2009-10-05 00:12:41 -04:00
Joel E. Denny
7439c5c0f9 tests: skip tests of file names that platform does not support.
Reported by Michael Raskin at
<http://lists.gnu.org/archive/html/bug-bison/2009-09/msg00001.html>.
* THANKS (Michael Raskin): Add.
* tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): Fix.  Cygwin used
to fail at least for file names containing ":" or "\".
(cherry picked from commit 2ceb8c617c)

Conflicts:

	THANKS
2009-10-04 23:23:08 -04:00
Joel E. Denny
9637e0ed1c tests: skip tests of file names that platform does not support.
Reported by Michael Raskin at
<http://lists.gnu.org/archive/html/bug-bison/2009-09/msg00001.html>.
* THANKS (Michael Raskin): Add.
* tests/output.at (AT_CHECK_OUTPUT_FILE_NAME): Fix.  Cygwin used
to fail at least for file names containing ":" or "\".
(cherry picked from commit 2ceb8c617c)
2009-10-04 23:18:59 -04:00
Joel E. Denny
69a2ab11cf yysyntax_error: avoid duplicate lookahead collection.
Except when memory reallocation is required, this change
eliminates the need to invoke yysyntax_error twice and thus to
repeat the collection of lookaheads.  It also prepares for
future extensions that will make those repetitions more
expensive and that will require additional memory management in
yysyntax_error.  Finally, it fixes an obscure bug already
exercised in the test suite.
* data/yacc.c (yysyntax_error): Add arguments for message
buffer variables stored in the parser.  Instead of size, return
status similar to yyparse status but indicating success of
message creation.  Other than the actual reallocation of the
message buffer, import and clean up memory management code
from...
(yyparse, yypush_parse): ... here.
* tests/regression.at (%error-verbose overflow): No longer an
expected failure.
(cherry picked from commit 45319f1365)

Conflicts:

	src/parse-gram.c
	src/parse-gram.h
2009-10-04 16:26:39 -04:00
Joel E. Denny
d88cf11791 yysyntax_error: test memory management more.
* tests/atlocal.in (NO_WERROR_CFLAGS): New cpp macro.
* tests/regression.at (%error-verbose and YYSTACK_USE_ALLOCA):
New test group.
(%error-verbose overflow): New test group that reveals an
obscure bug.  Expected fail for now.
(cherry picked from commit 52cea04ad3)
2009-10-04 16:26:25 -04:00
Akim Demaille
9da640eaa8 Pass the token type to yysyntax_error.
* data/yacc.c (yysyntax_error): Take the transated token instead
of the raw number.
Adjust callers.
(cherry picked from commit 84eedf86fe)

Conflicts:

	TODO
2009-10-04 16:24:17 -04:00
Akim Demaille
d3d3628bde Simplify the i18n of the error messages.
* data/yacc.c (yysyntax_error): Rewrite, using a switch instead
of building dynamically the format string.
(cherry picked from commit eeb2942237)

Conflicts:

	data/lalr1.cc
2009-10-04 16:24:17 -04:00
Joel E. Denny
45319f1365 yysyntax_error: avoid duplicate lookahead collection.
Except when memory reallocation is required, this change
eliminates the need to invoke yysyntax_error twice and thus to
repeat the collection of lookaheads.  It also prepares for
future extensions that will make those repetitions more
expensive and that will require additional memory management in
yysyntax_error.  Finally, it fixes an obscure bug already
exercised in the test suite.
* data/yacc.c (yysyntax_error): Add arguments for message
buffer variables stored in the parser.  Instead of size, return
status similar to yyparse status but indicating success of
message creation.  Other than the actual reallocation of the
message buffer, import and clean up memory management code
from...
(yyparse, yypush_parse): ... here.
* tests/regression.at (parse.error=verbose overflow): No longer
an expected failure.
2009-10-04 15:12:32 -04:00
Joel E. Denny
52cea04ad3 yysyntax_error: test memory management more.
* tests/atlocal.in (NO_WERROR_CFLAGS): New cpp macro.
* tests/regression.at (parse.error=verbose and
YYSTACK_USE_ALLOCA): New test group.
(parse.error=verbose overflow): New test group that reveals an
obscure bug.  Expected fail for now.
2009-10-04 15:12:32 -04:00