summaryrefslogtreecommitdiff
path: root/m4
Commit message (Collapse)AuthorAgeFilesLines
* c++: beware of to_string portability issuesAkim Demaille2019-05-201-0/+3
| | | | | | | Reported by Bruno Haible. http://lists.gnu.org/archive/html/bug-bison/2019-05/msg00033.html * m4/bison-cxx-std.m4 (_BISON_CXXSTD_11_snippet): Check it.
* build: use gettext-hAkim Demaille2019-04-251-1/+0
| | | | | | | | | | | We were using the gnulib's gettext module with tricks in bootstrap.conf to avoid useless files. Instead, use gnulib's gettext-h module. * .travis.yml: Force Gettext 0.18.3 on Trusty. * bootstrap.conf: Use gettext-h instead of gettext. (excluded_files): Remove. * configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.19.
* diagnostics: use gnulib's libtextstyle-optionalAkim Demaille2019-03-241-22/+24
| | | | | | | | | | Bruno Haible just added a default implementation of libtextstyle's interface when the library is not available. https://lists.gnu.org/archive/html/bison-patches/2019-03/msg00025.html * gnulib: Update. * bootstrap.conf: Replace libtextstyle with libtextstyle-optional. * src/complain.c, src/getargs.c: Remove now useless cpp guards.
* warnings: don't use _Noreturn with G++ 4.7 in C++98 modeAkim Demaille2019-03-231-0/+1
| | | | | | | | | | | | | | The timevar and bitset modules now use the c99 module which causes $CXX to now include -std=gnu++11 when possible. Unfortunately, G++ 4.7 does not implement [[noreturn]] in C++11 mode, so our tests of glr.cc (which uses _Noreturn) fail with input.cc:954:1: error: expected unqualified-id before '[' token right before [[noreturn]]. 4.8 works fine. * data/skeletons/c.m4 (b4_attribute_define): Do not use [[noreturn]] with GCC 4.7.
* diagnostics: use libtextstyle for colored outputAkim Demaille2019-03-161-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Bruno Haible released libtextstyle, a library for colored output based on CSS. Let's use it to generate colored diagnostics, provided libtextstyle is available. See https://lists.gnu.org/archive/html/bug-gnulib/2019-01/msg00176.html https://lists.gnu.org/archive/html/bison-patches/2019-02/msg00073.html https://lists.gnu.org/archive/html/bison-patches/2019-02/msg00084.html https://lists.gnu.org/archive/html/bison-patches/2019-03/msg00007.html * bootstrap.conf (gnulib_modules): Use libtextstyle when possible. * data/diagnostics.css: New. * src/complain.c (begin_use_class, end_use_class, flush) (severity_style, complain_init_color): New. Use them. * src/getargs.c (getargs_colors): New. (getargs): Use it. Skip --color and --style. * src/location.h, src/location.c (location_print): Use a style. * tests/bison.in: Force --color=yes when stderr is a tty. * tests/local.at: Disable colors during the test suite. * tests/input.at: Adjust expectations to the extra options passed on the command line.
* package: bump copyrights to 2019Akim Demaille2019-01-054-6/+7
|
* package: make bison a relocatable packageAkim Demaille2018-12-251-0/+4
| | | | | | | | | | | | | | | | | | Suggested by David Barto https://lists.gnu.org/archive/html/help-bison/2015-02/msg00004.html and Victor Zverovich. https://lists.gnu.org/archive/html/bison-patches/2018-10/msg00121.html This is very easy to do, thanks to work by Bruno Haible in gnulib. See "Supporting Relocation" in gnulib's documentation. * bootstrap.conf: We need relocatable-prog and relocatable-script (for yacc). * src/yacc.in: New. * configure.ac, src/local.mk: Instantiate it. * src/main.c, src/output.c (main, pkgdatadir): Use relocatable2. * doc/bison.texi (FAQ): Document it.
* gnulib: updateAkim Demaille2018-11-211-0/+1
|
* tests: don't fail if the C++ compiler does not workAkim Demaille2018-11-041-5/+3
| | | | | | | | | | | | | | | | Also, make sure that `make dist` generates a correct tarball even if the C++ compiler does not work. Reported by Nelson H. F. Beebe. * m4/cxx.m4 (BISON_CXX_WORKS): Define to true/false instead of true/exit 77. The latter is too dangerous to use (it directly quits). (ENABLE_CXX): New name for the Automake conditional, for consistency with ENABLE_CXX11 etc. * tests/local.at (AT_COMPILE, AT_COMPILE_CXX): Adjust to the new semantics of BISON_CXX_WORKS. * examples/c++/local.mk: Skip the variant test if C++ does not work. * examples/calc++/local.mk: Likewise.
* gnulib: update timevarAkim Demaille2018-10-141-2/+8
| | | | | See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00005.html.
* gnulib: updateAkim Demaille2018-10-061-0/+1
|
* gnulib: updateAkim Demaille2018-10-051-0/+3
|
* gnulib: move timevar to itAkim Demaille2018-09-302-60/+1
| | | | | | | | * lib/timevar.c, lib/timevar.h, m4/timevar.m4: Remove. * gnulib: Update. * configure.ac: Adjust. * lib/timevar.def: Use lower case for the timevvars. Adjust dependencies.
* build: rename and simplify the -std checks for C++Akim Demaille2018-09-231-106/+45
| | | | | | | | Too much code duplication. * m4/bison-cxx-std.m4: s/BISON_CXX_COMPILE_STDCXX/BISON_CXXSTD/. (BISON_CXXSTD): New. * configure.ac: Use it.
* build: check for C++98 and 03 like the othersAkim Demaille2018-09-231-1/+56
| | | | | | * m4/bison-cxx-std.m4 (BISON_CXX_COMPILE_STDCXX_98) (BISON_CXX_COMPILE_STDCXX_03): New. * configure.ac: Use them.
* build: use our own version of ax_check_link_flagAkim Demaille2018-09-233-57/+49
| | | | | | | | | | | | | | The message on configure is misleading: checking whether the linker accepts -std=c++11... yes checking whether the linker accepts -std=c++14... yes checking whether the linker accepts -std=c++17... no It is the compiler that we check, not just the linker. * m4/ax_check_link_flag.m4: Remove. * m4/bison-check-compiler-flag.m4: New. * m4/bison-cxx-std.m4: Use it.
* build: fix Autoconf macros to check for C++ standard flagsAkim Demaille2018-09-231-4/+4
| | | | | * m4/bison-cxx-std.m4: Since now we link the program, we need a program: main was missing and linking was failing.
* build: don't accept a broken standard lib for C++Akim Demaille2018-09-193-86/+69
| | | | | | | | | | | | | | | | | On the CI, we had failures such as: ./c++.at:401: $PREPARSER ./list stderr: ./list: error while loading shared libraries: libc++.so.1: cannot open shared object file: No such file or directory because we accepted `-std=c++ -stdlib=libc++` although libc++ is not installed on the machine. * m4/ax_check_compile_flag.m4 (AX_CHECK_COMPILE_FLAG): Rewrite as... * m4/bison-check-compile-flag.m4 (BISON_CHECK_COMPILE_FLAG): this, so that we use AC_LINK_IFELSE to check the compiler (and its std lib) instead of AC_COMPILE_IFELSE.
* build: strengthen the C++ standard flag testAkim Demaille2018-09-182-0/+237
| | | | | | | | | | | | | | | | | | | | | | | | On the CI, we have this spurious failure with clang 3.9 with -std=c++17: In file included from list.y:23: In file included from /usr/include/c++/4.8/iostream:39: In file included from /usr/include/c++/4.8/ostream:38: In file included from /usr/include/c++/4.8/ios:42: In file included from /usr/include/c++/4.8/bits/ios_base.h:41: In file included from /usr/include/c++/4.8/bits/locale_classes.h:40: In file included from /usr/include/c++/4.8/string:52: In file included from /usr/include/c++/4.8/bits/basic_string.h:2815: In file included from /usr/include/c++/4.8/ext/string_conversions.h:43: /usr/include/c++/4.8/cstdio:120:11: error: no member named 'gets' in the global namespace using ::gets; ~~^ This shows that our test, based on gl_WARN_ADD, is a joke. We have to really check for at least a bit of C++. * m4/ax_check_compile_flag.m4, m4/bison-cxx-std.m4: New. * configure.ac: Use them to make sure the compiler actually works.
* style: m4: remove useless reference to 'int' in integral typesAkim Demaille2018-08-141-3/+3
| | | | * m4/cxx.m4: Prefer 'unsigned' to 'unsigned int'.
* gnulib: updateAkim Demaille2018-08-121-1/+0
| | | | * bootstrap.conf: gnulib_mk is defined again by bootstrap.
* Update copyright yearsAkim Demaille2018-05-125-5/+8
| | | | Run `make update-copyright`.
* gnulib: updateAkim Demaille2018-05-081-0/+2
| | | | | | * README-hacking: Commit before bootstrapping. * bootstrap.conf: gnulib_mk is no longer defined by bootstrap. * bootstrap, gnulib, lib/.gitignore, m4/.gitignore: Update/regen.
* Adjust to recent Gnulib changesPaul Eggert2017-09-161-22/+16
|
* gnulib: strtoul is considered obsolete and now uselessAkim Demaille2015-01-151-2/+0
| | | | * bootstrap.conf: here.
* package: bump to 2015Akim Demaille2015-01-045-5/+5
| | | | | | Which also requires: * gnulib: Update.
* gnulib: updateAkim Demaille2014-12-291-0/+3
|
* package: bump to 2014Akim Demaille2014-02-035-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * AUTHORS, ChangeLog-2012, Makefile.am, NEWS, PACKAGING, README, * README-alpha, README-hacking, THANKS, TODO, bootstrap.conf, * build-aux/darwin11.4.0.valgrind, build-aux/local.mk, * build-aux/update-b4-copyright, * build-aux/update-package-copyright-year, cfg.mk, configure.ac, * data/README, data/bison.m4, data/c++-skel.m4, data/c++.m4, * data/c-like.m4, data/c-skel.m4, data/c.m4, data/glr.c, data/glr.cc, * data/java-skel.m4, data/java.m4, data/lalr1.cc, data/lalr1.java, * data/local.mk, data/location.cc, data/stack.hh, data/variant.hh, * data/xslt/bison.xsl, data/xslt/xml2dot.xsl, data/xslt/xml2text.xsl, * data/xslt/xml2xhtml.xsl, data/yacc.c, djgpp/Makefile.maint, * djgpp/README.in, djgpp/config.bat, djgpp/config.sed, * djgpp/config.site, djgpp/config_h.sed, djgpp/djunpack.bat, * djgpp/local.mk, djgpp/subpipe.c, djgpp/subpipe.h, * djgpp/testsuite.sed, doc/bison.texi, doc/local.mk, doc/refcard.tex, * etc/README, etc/bench.pl.in, etc/local.mk, * examples/calc++/calc++.test, examples/calc++/local.mk, * examples/extexi, examples/local.mk, examples/mfcalc/local.mk, * examples/mfcalc/mfcalc.test, examples/rpcalc/local.mk, * examples/rpcalc/rpcalc.test, examples/test, examples/variant.yy, * lib/abitset.c, lib/abitset.h, lib/bbitset.h, lib/bitset.c, * lib/bitset.h, lib/bitset_stats.c, lib/bitset_stats.h, * lib/bitsetv-print.c, lib/bitsetv-print.h, lib/bitsetv.c, * lib/bitsetv.h, lib/ebitset.c, lib/ebitset.h, lib/get-errno.c, * lib/get-errno.h, lib/lbitset.c, lib/lbitset.h, lib/libiberty.h, * lib/local.mk, lib/main.c, lib/timevar.c, lib/timevar.def, * lib/timevar.h, lib/vbitset.c, lib/vbitset.h, lib/yyerror.c, * m4/bison-i18n.m4, m4/c-working.m4, m4/cxx.m4, m4/flex.m4, * m4/timevar.m4, src/AnnotationList.c, src/AnnotationList.h, * src/InadequacyList.c, src/InadequacyList.h, src/LR0.c, src/LR0.h, * src/Sbitset.c, src/Sbitset.h, src/assoc.c, src/assoc.h, * src/closure.c, src/closure.h, src/complain.c, src/complain.h, * src/conflicts.c, src/conflicts.h, src/derives.c, src/derives.h, * src/files.c, src/files.h, src/flex-scanner.h, src/getargs.c, * src/getargs.h, src/gram.c, src/gram.h, src/graphviz.c, * src/graphviz.h, src/ielr.c, src/ielr.h, src/lalr.c, src/lalr.h, * src/local.mk, src/location.c, src/location.h, src/main.c, * src/muscle-tab.c, src/muscle-tab.h, src/named-ref.c, * src/named-ref.h, src/nullable.c, src/nullable.h, src/output.c, * src/output.h, src/parse-gram.c, src/parse-gram.y, src/print-xml.c, * src/print-xml.h, src/print.c, src/print.h, src/print_graph.c, * src/print_graph.h, src/reader.c, src/reader.h, src/reduce.c, * src/reduce.h, src/relation.c, src/relation.h, src/scan-code.h, * src/scan-code.l, src/scan-gram.h, src/scan-gram.l, src/scan-skel.h, * src/scan-skel.l, src/state.c, src/state.h, src/symlist.c, * src/symlist.h, src/symtab.c, src/symtab.h, src/system.h, * src/tables.c, src/tables.h, src/uniqstr.c, src/uniqstr.h, * tests/actions.at, tests/atlocal.in, tests/bison.in, tests/c++.at, * tests/calc.at, tests/conflicts.at, tests/cxx-type.at, * tests/existing.at, tests/glr-regression.at, tests/headers.at, * tests/input.at, tests/java.at, tests/javapush.at, tests/local.at, * tests/local.mk, tests/named-refs.at, tests/output.at, tests/push.at, * tests/reduce.at, tests/regression.at, tests/sets.at, * tests/skeletons.at, tests/synclines.at, tests/testsuite.at, * tests/torture.at, tests/types.at: here.
* gnulib: updateAkim Demaille2013-12-051-0/+3
| | | | * gnulib: here.
* maint: update copyright yearsAkim Demaille2013-01-125-5/+5
| | | | | Suggested by Stefano Lattarini. Run "make update-copyright".
* gnulib: updateAkim Demaille2012-12-311-1/+0
|
* carets: properly display when no line feed is presentTheophile Ranquet2012-12-271-2/+0
| | | | | | | * src/location.c (location_caret): finish the line with one whether or not it is present in input. Rewrite code without getline. (cleanup_caret): Reset the caret_info global. * bootstrap.conf: No longer require getline.
* style changes: untabifyAkim Demaille2012-12-211-3/+3
| | | | | * data/xslt/xml2dot.xsl, data/xslt/xml2text.xsl, m4/flex.m4, * tests/glr-regression.at, tests/torture.at: here.
* Merge remote-tracking branch 'origin/maint'Theophile Ranquet2012-12-102-17/+34
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/maint: news: prepare for forthcoming release doc: explain how mid-rule actions are translated error: use better locations for unused midrule values doc: various minor improvements and fixes tests: ignore more useless compiler warnings tests: be robust to C being compiled with a C++11 compiler build: beware of Clang++ not supporting POSIXLY_CORRECT maint: post-release administrivia version 2.6.90 build: fix syntax-check error. cpp: simplify the Flex version checking macro news: improve the carets example and fix a typo cpp: improve the Flex version checking macro carets: improve the code maint: update news build: keep -Wmissing-declarations and -Wmissing-prototypes for modern GCCs build: drop -Wcast-qual gnulib: update Conflicts: NEWS doc/Makefile.am doc/bison.texi gnulib src/reader.c tests/actions.at tests/atlocal.in tests/input.at
| * build: beware of Clang++ not supporting POSIXLY_CORRECTAkim Demaille2012-12-092-17/+34
| | | | | | | | | | | | | | | | | | | | | | | | * m4/c-working.m4 (BISON_LANG_COMPILER_POSIXLY_CORRECT): New. (BISON_C_COMPILER_POSIXLY_CORRECT): Use it. For consistency with C++, also define BISON_C_WORKS. * m4/cxx.m4 (BISON_CXX_COMPILER_POSIXLY_CORRECT): New. * configure.ac: Use it. * tests/atlocal.in: Get its result. Propagate properly CXX values when used to compile C. When POSIXLY_CORRECT, adjust BISON_C_WORKS and BISON_CXX_WORKS. * tests/local.at (AT_COMPILE): Use BISON_C_WORKS.
* | Merge remote-tracking branch 'origin/maint'Theophile Ranquet2012-12-061-3/+3
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/maint: misc: pacify the Tiny C Compiler cpp: make the check of Flex version portable misc: require getline c++: support wide strings for file names doc: document carets tests: enhance existing tests with carets errors: show carets getargs: add support for --flags/-f Conflicts: doc/bison.texi m4/.gitignore src/complain.c src/flex-scanner.h src/getargs.c src/getargs.h src/gram.c src/main.c tests/headers.at
| * misc: require getlineTheophile Ranquet2012-12-051-0/+2
| | | | | | | | | | * bootstrap.conf: Here, used by src/location.c. * src/getargs.c (long_options): Rename --flags to --feature.
* | Merge remote-tracking branch 'origin/maint'Akim Demaille2012-12-031-1/+0
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/maint: parser: accept #line NUM m4: use a safer pattern to enable/disable output tests: beware of gnulib's need for config.h gnulib: update yacc.c, glr.c: check and fix the display of locations formatting changes glr.c: remove stray macro Conflicts: data/c.m4 data/glr.cc data/lalr1.cc data/lalr1.java data/location.cc data/stack.hh data/yacc.c src/scan-gram.l
| * gnulib: updateAkim Demaille2012-11-301-1/+0
| | | | | | | | | | * lib/yyerror.c: Include config.h since the following stdio.h might be from gnulib.
* | Merge branch 'maint'Akim Demaille2012-11-081-0/+44
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/maint: regen maint: post-release administrivia version 2.6.5 regen tests: syntax-check tests: beware of compilers that do not support POSIXLY_CORRECT gnulib: update Conflicts: src/parse-gram.c src/parse-gram.h tests/atlocal.in
| * tests: beware of compilers that do not support POSIXLY_CORRECTAkim Demaille2012-11-071-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Running "maintainer-release-check" on OS X with Clang 2.9 fails, because "clang-mp-2.9 -o test -g test.c" launches "/usr/bin/dsymutil test -o test.dSYM" which fails with "error: unable to open executable '-o'". * m4/c-working.m4 (BISON_CHECK_WITH_POSIXLY_CORRECT) (BISON_C_COMPILER_POSIXLY_CORRECT): New. * configure.ac: Use the latter. * tests/atlocal.in (POSIXLY_CORRECT_IS_EXPORTED): New. * tests/local.at (AT_BISON_CHECK_WARNINGS_): Use it instead of computing its value each time. (AT_QUELL_VALGRIND): Skip tests that cannot work because of compilers that do not support POSIXLY_CORRECT.
* | build: use gnulib's non-recursive-gnulib-prefix-hackAkim Demaille2012-10-011-0/+1
| | | | | | | | | | | | | | | | Suggested by Jim Meyering. * etc/prefix-gnulib-mk: Remove, as it is now provided by... * bootstrap.conf (modules): the non-recursive-gnulib-prefix-hack module. * build-aux/.gitignore, configure.ac, m4/.gitignore: Adjust.
* | Merge remote-tracking branch 'origin/maint'Akim Demaille2012-09-261-0/+1
|\ \ | |/ | | | | | | | | | | * origin/maint: regen yacc: fix handling of CPP guards when no header is generated gnulib: update
| * gnulib: updateAkim Demaille2012-09-251-0/+1
| |
* | Merge branch 'maint'Akim Demaille2012-07-311-0/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint: use obstack_printf scanner: restore a missing start condition gnulib: update maint: post-release administrivia version 2.6.1 gnulib: update maint: fix some syntax-check issues tests: do not depend on __cplusplus to decide for C++ or C output Conflicts: NEWS bootstrap.conf cfg.mk lib/.gitignore
| * use obstack_printfAkim Demaille2012-07-311-0/+1
| | | | | | | | | | | | | | | | | | | | This is not just nicer, it is also much safer, since we were using sprintf... * bootstrap.conf: Require it. * src/system.h (obstack_fgrow1, obstack_fgrow2, obstack_fgrow3) (obstack_fgrow4): Remove. Adjust dependencies.
* | Merge remote-tracking branch 'origin/maint'Akim Demaille2012-07-191-3/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/maint: maint: update gnu-web-doc-update. maint: post-release administrivia version 2.6 maint: prepare for release 2.6 maint: post-release administrivia version 2.5.91 maint: prepare NEWS. maint: fix spaces. tests: adjust to case where the C compiler is actually a C++ compiler tests: fix dependencies doc: fix Texinfo command maint: Valgrind on OS X. tests: be sure that backups are safe. maint: dead comment. tests: refactor for legibility. tests: refactor the bison invocations. maint: fix syntax-check ignore patterns. gnulib: update gnulib: update. gnulib: update Conflicts: build-aux/Makefile.am cfg.mk tests/Makefile.am
| * gnulib: updateAkim Demaille2012-07-101-3/+3
| | | | | | | | * bootstrap, build-aux/.gitignore, gnulib, m4/.gitignore: update.
* | Merge remote-tracking branch 'origin/maint'Akim Demaille2012-07-061-0/+3
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/maint: maint: update release instructions maint: post-release administrivia version 2.5.90 build: fix gen-ChangeLog call. gnulib: update. tests: fix SKIP_IF for Java. api.prefix: incompatible with %name-prefix. api.prefix: strengthen the tests and fix push-parsers. skeletons: style changes. NEWS: minor changes. api.prefix: improve the documentation for YYDEBUG. gnulib: update. Conflicts: NEWS cfg.mk data/bison.m4 doc/bison.texi m4/.gitignore tests/calc.at tests/headers.at
| * gnulib: update.Akim Demaille2012-07-051-0/+1
| | | | | | | | | | * bootstrap, gnulib: Update. * cfg.mk (syntax-check): Don't check "error" usage in bison.texi.