]> git.saurik.com Git - bison.git/commit - data/c.m4
c: no longer require stdio.h when locations are enabled
authorAkim Demaille <akim@lrde.epita.fr>
Fri, 25 Jan 2013 12:51:33 +0000 (13:51 +0100)
committerAkim Demaille <akim@lrde.epita.fr>
Fri, 25 Jan 2013 15:45:17 +0000 (16:45 +0100)
commitf0f95a50ee91374ac42b13f201aa42c2038fcada
tree1c6997889254cb9236ae67b7430d32cf118d9a54
parentd9fa1b7c4f2379ec16e9bd6b51bc49157066e4db
c: no longer require stdio.h when locations are enabled

Recent changes (in 2.7) introduced a dependency on both FILE and
fprintf, which are "available" only in %debug mode.  This was to
define yy_location_print_, which is used only in %debug mode by the
parser, but massively used by the test suite to output the locations
in yyerror.

Break this dependency: the test suite should define its own routines
to display the locations.  Eventually Bison will provide the user with
a means to display locations, but not yet.

* data/c.m4 (b4_yy_location_print_define): Use YYFPRINTF instead of
fprintf directly.
* data/yacc.c (b4_yy_location_print_define): Invoke it only in %debug
mode, so that stdio.h is included (needed for FILE*), and YYFPRINTF
is defined.

* tests/local.at (AT_YYERROR_DECLARE, AT_YYERROR_DEFINE): Declare
and define location_print and LOCATION_PRINT.

* tests/actions.at, tests/existing.at, tests/glr-regression.at,
* tests/input.at, tests/named-refs.at, tests/regression.at: Adjust
to use them.
Fix the expected line numbers (as the prologue's length has changed).
NEWS
data/c.m4
data/glr.c
data/yacc.c
tests/actions.at
tests/existing.at
tests/glr-regression.at
tests/input.at
tests/local.at
tests/named-refs.at
tests/regression.at