Commit Graph

228 Commits

Author SHA1 Message Date
Joel E. Denny
2e7944cbb2 Update etc/bench.pl. Optimize push mode a little (the yyn change
deserves most of the credit).
* Makefile.am (SUBDIRS): Add etc subdirectory.
* configure.ac (AC_CONFIG_FILES): Add etc/bench.pl and etc/Makefile.
* data/push.c (b4_declare_parser_state_variables): Move yyn, yyresult,
yytoken, yyval, and yyloc declarations to...
(yyparse or yypush_parse): ... here to improve performance.  For
yypush_parse invocations after the first, be sure to assign yyn its old
value again.
(yypstate_new): Don't bother initializing the yyresult field since the
initial value isn't used.
(yyn, yyresult, yytoken, yyval, yyloc): For each NAME in this list,
remove the #define that, in push mode, set it to yyps->NAME.
* etc/Makefile.am: New.
* etc/bench.pl: Remove and build it instead from...
* etc/bench.pl.in: ... this new file.  Use @abs_top_builddir@ to invoke
"tests/bison" from the build directory by default rather than just
invoking "bison" from $PATH.
(calc_grammar): Update push parser code: don't declare yylval globally,
don't define yyparse_wrapper, and don't #define yyparse.
(bench_grammar): Update to check all working combinations of yacc.c,
push.c, impure, pure, pull, and push.
2006-12-26 18:09:53 +00:00
Joel E. Denny
f02e2948bd * configure.ac (AC_PREREQ): Require Autoconf 2.61 because of our
strange test case titles.  Reported by Bob Rossi.
2006-12-13 22:52:33 +00:00
Joel E. Denny
c4bd5bf7c5 Fix testsuite for ./configure --enable-gcc-warnings:
* configure.ac (gcc-warnings): Move -Wall before -Wno-sign-compare.
Otherwise, gcc 4.1.0 (at least) warns about sign comparisons in
__AT_CHECK_PRINTER_AND_DESTRUCTOR in tests/actions.at.
* test/input.at (Torturing the Scanner): #include <stdlib.h> for abort.
* test/regression.at (Diagnostic that expects two alternatives):
Likewise.
2006-10-15 00:02:21 +00:00
Paul Eggert
cf2a5f7c47 * configure.ac: Use AC_PROG_CC_STDC; this is more modern than
the old AC_PROG_CC / AM_PROG_CC_STDC combination.

* doc/bison.1: Add copyright notice.

* data/glr.c: Don't include <stdarg.h>; not used.
2006-10-13 04:09:14 +00:00
Paul Eggert
3b2942e671 Use some of gnulib's new modules, taken from coreutils.
* bootstrap: Sync from coreutils, except add support for gnulib_files.
* bootstrap.conf: New file.
(gnulib_modules): Add configmake, inttypes, unistd.
(XGETTEXT_OPTIONS): Add complain, complain_at,
fatal, fatal_at, warn, warn_at, unexpected_end.
* configure.ac (AC_CONFIG_HEADERS): config.h is now in lib, not here.
(gl_USE_SYSTEM_EXTENSIONS): Remove; gl_EARLY now does this.
(gl_EARLY): Add.
(AM_STDBOOL_H): Remove; gl_INIT now dows this.
(gl_INIT): Add
(GNULIB_AUTOCONF_SNIPPET): Remove.
(AM_GNU_GETTEXT): Add; require formatstring macros since that's
the pickiest.
* lib/.cvsignore: Add inttypes_.h.
* lib/Makefile.am: Include gnulib.mk first so we can append to it.
(AM_CFLAGS): Add WERROR_CFLAGS, to be more like coreutils.
(BUILT_SOURCES, EXTRA_DIST, MOSTLYCLEANFILES): Remove
no-longer-necessary initializations.
(lib_SOURCES): Remove, replacing by libbison_a_SOURCES.
* lib/subpipe.c: Include <unistd.h> unconditionally, now that we
use the unistd module.
* src/system.h: Likewise.
* m4/.cvsignore: Remove *_gl.m4, gnulib.m4, inttypes_h.m4, uintmax_t.m4,
ulonglong.m4.  Add gettext.m4, gnulib-cache.m4, gnulib-comp.m4,
gnulib-tool.m4, inttypes-h.m4, inttypes-pri.m4, inttypes.m4.
* src/Makefile.am (DEFS): Remove, since configmake does this for us.
(AM_CPPFLAGS): Remove -I../lib, since Automake does that for us.
* src/system.h: Include inttypes.h unconditionally, now that we
use the inttypes module.  Don't bother to include stdint.h, since
inttypes.h now does that for us.
(LOCALEDIR): Remove, now that we use the configmake module.
* src/getargs.c: Include configmake.h.
* src/main.c: Likewise.
* src/output.c: Likewise.
* tests/atlocal.in (CPPFLAGS): Include from $abs_top_builddir/lib,
not from $abs_top_builddir, since config.h moved.
2006-09-15 18:59:40 +00:00
Paul Eggert
41f58bae8b (AC_INIT): Bump from 2.3a to 2.3a+. 2006-09-15 17:08:40 +00:00
Paul Eggert
21fe08cadc Version 2.3a. 2006-09-13 19:42:04 +00:00
Paul Eggert
34ec357927 * configure.ac (AC_ARG_ENABLE): Use -Wextra -Wno-sign-compare
rather than -W, so we don't get bogus warnings about sign comparisons.
Add -Wpointer-arith, since that warning is useful (it reports code
that does not conform to C89 and that some compilers reject).
* data/c.m4, data/glr.c, data/lalr1.cc, data/yacc.c: Undo latest change,
since it's no longer needed.
2006-08-11 19:50:14 +00:00
Paul Eggert
62a9592d3d Update to latest gnulib and gettext versions.
* bootstrap (gnulib-modules): Remove hard-locale, stdio-safer.
Add fopen-safer.
(gnulib_files): Add m4/warning.m4.  Don't worry about files
overwritten by autopoint.
Replace gt_INTL_SUBDIR_CORE with an empty body in m4/gettext_gl.m4.
Suppress "id", "ms", "tr" translations for now, since gettext 0.15
rejects them.
Don't use autoreconf; instead, invoke autopoint etc. by hand,
so that we can remove the intl files at a better time.
(intl_files_to_remove): Remove aclocal.m4, since it gets
rebuilt anyway.  Remove m4/inttypes_h.m4, m4/inttypes.m4,
m4/isc-posix.m4, m4/lib-ld.m4, m4/lib-prefix.m4, m4/po.m4,
m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
Add m4/inttypes-h.m4, m4/lock.m4, m4/visibility.m4.
Remove datarootdir hack; no longer needed.
* configure.ac: Use gl_WARNING_CFLAGS rather than BISON_WARNING.
(AM_GNU_GETTEXT_VERSION): Bump from 0.12 to 0.15.
* lib/.cvsignore: Remove hard-locale.c, hard-locale.h, strdup.c,
strdup.h.
* m4/.cvsignore: Remove hard-locale.m4, strdup.m4.
* m4/warning.m4: Remove from CVS, since we now use gnulib's version.
2006-07-25 06:45:06 +00:00
Paul Eggert
cb48f1919c Adjust to Autoconf 2.60 and today's gnulib.
* bootstrap (gnulib_modules): Add stdint.
Remove special case for m4/onceonly_2_57.m4, since gnulib-tool
no longer copies it.
(intl_files_to_remove): Remove m4/longlong.m4 and m4/wchar_t.m4,
since stdint needs the former and wcwidth (which is now required
by mbswidth) needs the latter.
Append 'datarootdir = @datarootdir@' to po/Makefile.in.in, to
work around a compatibility glitch between gettext 0.14.6 and
Autoconf 2.60.
* configure.ac (AC_PREREQ): Require Autoconf 2.60.
Do not check for uintptr_t, since new stdint module does the right
thing.
* lib/.cvsignore: Remove alloca.c, alloca.h, alloca_.h.
Add stdint.h, stdint_.h, wcwidth.h.
* m4/.cvsignore: Remove alloca.m4, onceonly.m4.
Add absolute-header.m4, double-slash-root.m4, longlong.m4,
stdint.m4, wchar_t.m4, wcwidth.m4.
* src/files.c: Include <dirname.h> and <stdio-safer.h> in the
usual order for ../lib/*.h files.
(file_name_split): Use last_component, not base_name, to adjust
to gnulib changes.
* src/parse-gram.h: Include <strverscmp.h> in the usual order
for ../lib/*.h files.
(YYTYPE_INT16, YYTYPE_INT8, YYTYPE_UINT16, YYTYPE_UINT8):
Define unconditionally, since we now assume the stdint module.
* src/scan-skel.l: Include <dirname.h>.
(BASE_QPUTS): Use last_component, not base_name.
* src/system.h: Include <unlocked-io.h> in the usual order
for ../lib/*.h files.  Include <stdint.h> unconditionally,
since we now use the stdint module.
(uintptr_t): Declare if UINTPTR_MAX is not defined, not
HAVE_UINTPTR_T, since we now use the stdint module.
(base_name): Remove decl, since files now include <dirname.h>
to get the decl.
2006-07-09 03:44:51 +00:00
Joel E. Denny
7891a7c449 Between Bison releases, manually append `+' to the previous Bison
release number, and use that as a signal to automatically print the
ChangeLog's CVS Id keyword from --version.  Discussed starting at
<http://lists.gnu.org/archive/html/bison-patches/2006-05/msg00028.html>.
* ChangeLog: Add Id header.
* configure.ac (AC_INIT): Append `+' to `2.3'.
* src/.cvsignore: Add revision.c.
* src/Makefile.am (bison_SOURCES): Add revision.c and revision.h.
(BUILT_SOURCES): Add revision.c.
(revision.c): New target rule.  This file defines a new global variable
named revision.  It initializes it with either the Id from ChangeLog
or, if VERSION doesn't contain `+', with the empty string.
* src/getargs.c (version): Print the value of revision.
* src/revision.h: Extern revision.
2006-06-06 05:23:44 +00:00
Paul Eggert
4ad3ed84f6 * NEWS: Version 2.3.
* configure.ac (AC_INIT): Likewise.
2006-06-05 07:45:41 +00:00
Paul Eggert
95c0638353 Update version number to 2.2a. 2006-05-19 23:19:04 +00:00
Paul Eggert
ab8d9dc52f Version 2.1. 2006-05-19 21:46:07 +00:00
Paul Eggert
a3af26dd7e Bump version number. 2006-02-13 19:23:26 +00:00
Paul Eggert
498e897c67 * m4/c-working.m4: New file.
* configure.ac (BISON_TEST_FOR_WORKING_C_COMPILER): Use it.
2006-02-12 02:14:38 +00:00
Paul Eggert
c66dfaddf4 Minor fixups to get 'make maintainer-check' to work.
* configure.ac: Don't use -Wnested-externs, as it's incompatible
with the new verify.h implementation.
* data/c.m4 (b4_yy_symbol_print_generate): YYUSE (yyoutput).
* data/glr.c (YYUSE): Depend on __GNUC__ as well.
* data/yacc.c (YYUSE): Likewise.
* data/lalr1.cc (yysyntax_error_): YYUSE (yystate).
* lib/subpipe.c (end_of_output_subpipe): The args are unused.
* src/parse-gram.y (declaration): Don't pass a string constant
to a function that expects char *, since GCC might complain
about the constant value.
* src/reader.c (symbol_typed_p): Add parens to pacify GCC.
* tests/cxx-type.at (_AT_TEST_GLR_CXXTYPES): #undef yylloc and yylval
before #defining them.
* tests/glr-regression.at
(Incorrectly initialized location for empty right-hand side in GLR):
In yyerror, use the msg arg.
(Corrupted semantic options if user action cuts parse):
(Incorrect lookahead during deterministic GLR):
(Incorrect lookahead during nondeterministic GLR):
Don't name a local var 'index'; it shadows string.h's 'index'.
2006-01-20 00:08:30 +00:00
Akim Demaille
24cc23d96d Finish the transition config -> build-aux.
* configure.ac, Makefile.am: Use build-aux.
* config/prev-version, config/announce-gen, config/Makefile.am:
Move to...
* build-aux/prev-version, build-aux/announce-gen,
* build-aux/Makefile.am: here.
2005-10-21 09:13:01 +00:00
Akim Demaille
c7fb0b9079 * NEWS, configure.ac: Bump to 2.1a. 2005-09-19 07:08:00 +00:00
Paul Eggert
1bd0dedaaa * NEWS: Version 2.1.
* NEWS: Remove notice of yytname change, since it was never in an
official release.
* data/glr.c (yydestroyGLRState): Rename local var to avoid shadowing
diagnostic.
* src/output.c (prepare): Likewise.
* data/lalr1.cc (YYERROR_VERBOSE_IF): New macro.
(yysyntax_error_): Use it to avoid GCC warning when YYERROR_VERBOSE
is not defined.  This is an awful hack, but it's enough for now.
All callers changed.
* tests/glr-regression-at (make_value): Args are const pointers now,
to avoid GCC warning.
(Duplicated user destructor for lookahead): New test.  Currently
skipped.  It fails on my host but I'm not sure it'll always fail.
2005-09-16 22:54:21 +00:00
Paul Eggert
1fb38e78c2 (AC_INIT): Bump to 2.0c. 2005-08-21 22:39:21 +00:00
Paul Eggert
1d0737fa58 Version 2.0b. 2005-07-22 21:26:26 +00:00
Paul Eggert
f7ab6a5010 * bootstrap: Get runtime translations into runtime-po.
Create runtime-po files automatically, if possible.
* configure.ac: Invoke BISON_I18N, so that we eat our own dog food.
* data/yacc.c: Rewrite inclusion of <libintl.h> so that ENABLE_NLS
does not infringe on the user's name space.
(YYENABLE_NLS): Renamed from ENABLE_BISON_NLS.
* doc/bison.texinfo (Internationalization): Revamp the English
and Texinfo syntax a bit, to try to make it clearer.
(Bison Options, Option Cross Key): Mention --print-localedir.
* m4/bison-i18n.m4 (BISON_I18N): Rename ENABLE_BISON_NLS to
YYENABLE_NLS.  Quote a bit more.
* runtime-po/.cvsignore: New file.
* runtime-po/Makefile.in.in (mostlyclean): Remove *.old.pot.
* runtime-po/Rules-quot: Remove; now created by bootstrap.
* runtime-po/quot.sed: Likewise.
* runtime-po/boldquot.sed: Likewise.
* runtime-po/en@quot.header: Likewise.
* runtime-po/en@boldquot.header: Likewise.
* runtime-po/insert-header.sin: Likewise.
* runtime-po/remove-potcdate.sin: Likewise.
* runtime-po/Makevars: Likewise.
* runtime-po/LINGUAS: Likewise.
* runtime-po/de.po: Likewise; we will rely on the translation project
to maintain this, so "bootstrap" should get it.
* src/getarg.s (PRINT_LOCALEDIR_OPTION): Let the C compiler determine
its value.
* src/main.c (main): Bind the bison-runtime domain, too.

* data/yacc.c: Include <libintl.h> when NLS is enabled.
(YYI18N): Renamed from _. Use dgettext when NLS is enabled.
* po/POTFILES.in: Remove autogenerated file src/parse-gram.c.
* runtime-po: New directory.
* runtime-po/Makefile.in.in: New file, copied from po/, with modified
$(DOMAIN).pot-update rule, so that old messages are never dropped.
* runtime-po/Rules-quot: New file, copied from po/.
* runtime-po/quot.sed: Likewise.
* runtime-po/boldquot.sed: Likewise.
* runtime-po/en@quot.header: Likewise.
* runtime-po/en@boldquot.header: Likewise.
* runtime-po/insert-header.sin: Likewise.
* runtime-po/remove-potcdate.sin: Likewise.
* runtime-po/Makevars: New file.
* runtime-po/POTFILES.in: New file.
* runtime-po/LINGUAS: New file.
* runtime-po/bison-runtime.pot: New file.
* runtime-po/de.po: New file.
* m4/bison.m4: New file.
* Makefile.am (SUBDIRS): Add runtime-po.
(aclocaldir, aclocal_DATA): New variables.
* configure.ac: Add AC_CONFIG_FILES of runtime-po/Makefile.in.
Define aclocaldir.
* src/getargs.c (usage): Document --print-localedir option.
(PRINT_LOCALEDIR_OPTION): New enum item.
(long_options): Add --print-localedir option.
(getargs): Handle --print-localedir option.
* doc/bison.texinfo (Bison Parser): Remove paragraph about _().
(Internationalization): New section.
2005-07-12 23:28:54 +00:00
Akim Demaille
828c373b6d Bind examples/calc++ to the package.
* examples/calc++/Makefile: Remove, replaced by...
* examples/calc++/Makefile.am: ... this new file.
* examples/calc++/test: Remove input.
* examples/calc++/compile: Remove.
* examples/Makefile.am: New.
* configure.ac, Makefile.am: Adjust.
* doc/Makefile.am (clean-local): New, for more recent texi2dvis.
2005-07-06 07:49:25 +00:00
Paul Eggert
c8775f9398 Various maintainer cleanups.
* .cvsignore: Add a.exe, a.out, b.out,, conf[0-9]*, confdefs*,
conftest*, for benefit of CVS commands run at the same time as
"configure".  Add build-aux, since "bootstrap" now creates it and
its subfiles.
* Makefile.cfg (move_if_change): Remove.
* Makefile.maint: Remove the update stuff; we now use "bootstrap".
(ftp-gnu, www-gnu, move_if_change, local_updates, update):
(po_repo, do-po-update, po-update, wget_files, get-targets):
(config.guess-url_prefix, config.sub-url_prefix):
(ansi2knr.c-url_prefix, texinfo.tex-url_prefix):
(standards.texi-url_prefix, make-stds.texi-url_prefix, taget, url):
($(get-targets), cvs-files, automake_repo, wget-update, cvs-update):
Remove.
* configure.ac (AC_CONFIG_AUX_DIR): Change from config to build-aux;
this is now the recommended name.
* config/.cvsignore: Remove config.guess, config.rpath, config.sub,
depcomp, install-sh, mdate-sh, missing, mkinstalldirs, texinfo.tex,
ylwrap.  These files now go into build-aux.
* config/move-if-change: Remove.
* config/prev-version.txt: Bump from 1.75 to 2.0.
2005-05-22 17:45:28 +00:00
Paul Eggert
0fb669f9d6 Update FSF postal mail address. 2005-05-14 06:49:48 +00:00
Paul Eggert
9b9642fca4 (O0CFLAGS, O0CXXFLAGS): Fix quoting bug. 2005-01-24 23:47:49 +00:00
Paul Eggert
508a43be8c Bump version number to 2.0a. 2004-12-26 06:50:35 +00:00
Paul Eggert
6c7ffa8380 (AC_INIT): Bump version to 2.0. 2004-12-26 05:49:16 +00:00
Paul Eggert
1c1609b7d0 (AC_INIT): Bump version to 1.875f. 2004-12-11 07:23:21 +00:00
Paul Eggert
8ed3234a14 Don't assume the C++ compiler takes the same arguments as the C compiler. 2004-05-30 18:58:00 +00:00
Paul Eggert
fd418816b9 Increase prerequisite version numbers to match what the code really needs. 2004-05-27 20:51:16 +00:00
Paul Eggert
62cb8a9920 * src/parse-gram.y (lloc_default): Rewrite to avoid compiler bug.
* configure.ac (AC_PREREQ): Bump to 2.58.
2004-05-27 07:38:17 +00:00
Paul Eggert
caa52c10c5 * configure.ac (AM_GNU_GETTEXT_VERSION): Lower it from 0.14.1 to 0.11.5.
* bootstrap: Remove gettext version checking.
2004-05-26 19:25:21 +00:00
Paul Eggert
6712933e0f Undo change made earlier today: it caused autopoint to not bring
in ABOUT-NLS.  Ouch.  Instead, substitute our own diagnostic for
autopoint's.
2004-05-25 05:43:14 +00:00
Paul Eggert
6a36ff9495 The gettext version checking is causing more trouble than it's curing;
remove it.
2004-05-24 20:08:54 +00:00
Paul Eggert
209ea708c4 Ensure that the C++ compiler used for testing actually works on a
simple test program; if not, skip the C++-related tests.
2004-05-24 06:58:02 +00:00
Paul Eggert
41ca25499e * configure.ac (AC_INIT): Update to 1.875e. 2004-05-21 22:12:21 +00:00
Paul Eggert
e476c87d93 Version 1.875d. 2004-05-21 21:03:41 +00:00
Paul Eggert
1f65350a16 Get files from the gnulib and po repositories, instead of relying
on them being in our CVS.  Upgrade to latest versions of gnulib and Automake.
2004-04-28 20:00:56 +00:00
Paul Eggert
7b49187432 (AC_INIT): Bump version number to 1.875c. 2003-06-17 18:28:58 +00:00
Paul Eggert
e2527c97f9 * configure.ac (AM_STDBOOL_H): Invoke this instead of AC_HEADER_STDBOOL.
(AM_GNU_GETTEXT): Put brackets around args, as latest manual suggests.
(AM_GNU_GETTEXT_VERSION): Update to 0.12.1.
2003-06-16 19:45:45 +00:00
Paul Eggert
504f20f77e (WARNING_CXXFLAGS): New subst. Set it to
everything that WARNING_CFLAGS has, except omit warnings
not suitable for C++.
(AC_PROG_CXX): Use this instead of AC_CHECK_PROGS([CXX], [g++]).
2003-06-02 07:25:30 +00:00
Paul Eggert
b59d8a44df (AC_FUNC_ERROR_AT_LINE): Remove, since gl_ERROR
invokes it.  We shouldn't invoke it twice because it will attempt
to put error.o in the archive twice.  This fixes a glitch reported
by Martin Mokrejs in
<http://mail.gnu.org/archive/html/bug-bison/2003-04/msg00041.html>.
2003-04-27 05:27:15 +00:00
Paul Eggert
f61aad9399 Merge changes from gnulib. This was prompted because the CVS
snapshot of Bison didn't build on Solaris 7 due to strnlen problems.
2003-03-12 23:08:11 +00:00
Akim Demaille
7548fed236 * configure.ac (GXX): Rename as...
(CXX): this, to keep the original Autoconf semantics.
Require 2.57.
* data/lalr1.cc: Fix b4_copyright invocations.
If YYDEBUG is not defined, don't depend upon name_ being defined.
(location.hh): Include string and iostream.
(Position::filename): New member.
(Position::Position ()): New.
(operator<< (Position)): New.
(operator- (Position, int)): New.
(Location::first, Location::last): Rename as...
(Location::begin, Location::end): these, to mock the conventional
iterator names.
(operator<< (Location)): New.
* tests/atlocal.in (CXX): New.
* tests/testsuite.at (AT_COMPILE_CXX): New.
* tests/calc.at (_AT_DATA_CALC_Y): Adjust yyerror to report the
locations in a more synthetic way.
(AT_CHECK_PUSHDEFS): AT_YYERROR_SEES_LOC_IF is positive if
lalr1.cc is used.
Adjust the C locations to match those from Emacs: first column is
column 0.
Change all the expected results.
Conform to the GCS: simplify the locations when applicable.
(LOC, VAL, YYLLOC_FORMAL, YYLLOC_ARG, USE_YYLLOC, LEX_FORMALS)
(LEX_ARGS, USE_LEX_ARGS, LEX_PRE_FORMALS, LEX_PRE_ARGS): Replace
these CPP macros with the m4 macros new defined by...
(AT_CHECK_PUSHDEFS): this, i.e.:
(AT_LALR1_CC_IF, AT_PURE_LEX_IF, AT_LOC, AT_VAL, AT_LEX_FORMALS)
(AT_LEX_ARGS, AT_USE_LEX_ARGS, AT_LEX_PRE_FORMALSm AT_LEX_PRE_ARGS)
New macros.
(AT_CHECK_POPDEFS): Undefine them.
(AT_CHECK_CALC_LALR1_CC): New.
Use it for the first lalr1.cc test.
2003-02-06 10:04:29 +00:00
Paul Eggert
ab10c47576 Update version number to 1.875b.
Update Autoconf requirement to 2.56.
2003-02-01 09:02:57 +00:00
Paul Eggert
4beda9accf (AC_ARG_ENABLE): Add --disable-yacc.
(YACC_SCRIPT, YACC_LIBRARY): New vars to AC_SUBST.
2003-01-05 06:25:35 +00:00
Paul Eggert
2efa0406e3 Update version number to 1.875a. 2003-01-01 10:10:41 +00:00
Paul Eggert
dc546b0f6e Bison 1.875. 2003-01-01 09:04:56 +00:00