summaryrefslogtreecommitdiff
path: root/m4
Commit message (Collapse)AuthorAgeFilesLines
* package: bump copyrights to 2022Paul Eggert2022-01-156-6/+6
| | | | Run "make update-copyright".
* gnulib: make use of gnulib-tool's --automake-subdir optionBruno Haible2021-12-191-1/+0
| | | | | | | Starting this week, Gnulib supports generating a "non-recursive" Automake Makefile.am snippet https://lists.gnu.org/r/bug-gnulib/2021-12/msg00085.html. * bootstrap.conf: Use gnulib-tool's --automake-subdir.
* gnulib: updateAkim Demaille2021-12-191-0/+1
| | | | To get native non-recursive make support.
* gnulib: updateAkim Demaille2021-09-131-0/+1
|
* portability: don't use strtofAkim Demaille2021-09-111-0/+1
| | | | | | | | | | | | It is not available on HP-UX 11i. Reported by Larkin Nickle <me@larbob.org>. <https://lists.gnu.org/r/bug-bison/2021-09/msg00012.html> Gnulib provides no replacement, but anyway we should be using doubles, since difftime uses doubles. * bootstrap.conf: We want portability on stdtod. * src/counterexample.c: Use double, not float, for time measurements.
* glr2.cc: require C++11Akim Demaille2021-08-192-26/+24
| | | | | | | | | | | | | | Reported by Dagobert Michelsen. https://lists.gnu.org/r/bug-bison/2021-08/msg00006.html * m4/bison-cxx-std.m4 (_BISON_CXXSTD_98_snippet): We don't need vector::data, it was only for glr2.cc, which is C++11 anyway. (_BISON_CXXSTD_11_snippet): We need vector::data and std::swap on arrays. * m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): We don't need vector::data. * tests/local.at (AT_COMPILE_CXX): Skip when glr2.cc and no support for C++11.
* build: reject C++ compilers that don't support std::vector::dataAkim Demaille2021-08-122-5/+23
| | | | | | | | | | | | | GCC 4.2 on macOS claims to support C++98, but does not feature it. input.cc: In member function 'void state_stack::yycompressStack()': input.cc:1774: error: 'class std::vector<glr_stack_item, std::allocator<glr_stack_item> >' has no member named 'data' Reported by Christopher Nielsen <mascguy@github.com>. <https://trac.macports.org/raw-attachment/ticket/59927/bison-test-results-20210811-95b72.log.xz>. * m4/bison-cxx-std.m4 (_BISON_CXXSTD_98_snippet): Check for it. * m4/cxx.m4 (BISON_TEST_FOR_WORKING_CXX_COMPILER): Ditto.
* build: check for C++ 20 and 2bAkim Demaille2021-08-121-14/+30
| | | | | | | C++20 is released. * configure.ac, m4/bison-cxx-std.m4, tests/atlocal.in, * tests/local.at: Replace 2a with 20, and add support for 2b.
* gnulib: updateAkim Demaille2021-08-031-0/+1
|
* gnulib: updateAkim Demaille2021-06-231-0/+1
|
* Update URLs to prefer https: to http:Paul Eggert2021-01-292-2/+2
| | | | Also, fix a few http: URLs that were no longer working.
* package: bump copyrights to 2021Akim Demaille2021-01-166-6/+6
| | | | Run 'make update-copyright'.
* gnulib: updateAkim Demaille2021-01-161-0/+27
| | | | * src/output.c, src/print-xml.c: Adjust.
* gnulib: updateAkim Demaille2020-11-201-0/+3
| | | | | * Makefile.am (gitsort): New. Use it.
* add support for --htmlAkim Demaille2020-09-191-0/+1
| | | | | | | | | * bootstrap.conf: We need the "execute" module. * src/files.h, src/files.c (spec_html_file, html_flag): New. * src/getargs.h, src/getargs.c (--html): New. * src/print-xml.h, src/print-xml.c (print_html): New. * src/main.c: Use them. * tests/output.at, tests/report.at: Check --html.
* gnulib: updateAkim Demaille2020-08-301-0/+1
|
* CI: intel moved the script for ICCAkim Demaille2020-08-111-0/+1
| | | | * .travis.yml: Adjust.
* portability: we use termios.h and sys/ioctl.hAkim Demaille2020-08-021-0/+2
| | | | | | | Reported by Maarten De Braekeleer. https://lists.gnu.org/r/bison-patches/2020-07/msg00079.html * bootstrap.conf (gnulib_modules): Add termios and sys_ioctl.
* libtextstyle: be sure to have ostream_printf and hyperlink supportAkim Demaille2020-08-021-2/+1
| | | | | | | | | | | | | | | | | | | | | | Older versions of libtextstyle do not support them, rule them out. Reported by Lars Wendler https://lists.gnu.org/r/bug-bison/2020-07/msg00030.html and by Arnold Robbins https://lists.gnu.org/r/bug-bison/2020-07/msg00041.html and https://lists.gnu.org/mailman/private/gawk-devel/2020-July/003988.html and by Nelson H. F. Beebe https://lists.gnu.org/mailman/private/gawk-devel/2020-July/003993.html With support from Bruno Haible in gnulib https://lists.gnu.org/r/bug-gnulib/2020-08/msg00000.html thread starting at https://lists.gnu.org/r/bug-gnulib/2020-07/msg00148.html * configure.ac: Require libtextstyle 0.20.5. * gnulib: Update.
* style: avoid strncpyAkim Demaille2020-07-191-0/+1
| | | | | | | | | | | | syntax-check seems to dislike strncpy. The GNU Coreutils replaced their uses of strncpy with stpncpy. strlcpy is not an option. http://sources.redhat.com/ml/libc-alpha/2002-01/msg00159.html http://sources.redhat.com/ml/libc-alpha/2002-01/msg00011.html http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00181.html * src/glyphs.c: Use stpncpy.
* gnulib: updateAkim Demaille2020-07-091-1/+0
|
* cex: don't assume the terminal supports "•"Akim Demaille2020-06-161-0/+4
| | | | | | | | | | Use of print_unicode_char suggested by Bruno Haible. https://lists.gnu.org/r/bug-gettext/2020-06/msg00012.html * src/gram.h (print_dot_fallback, print_dot): New. * src/gram.c, src/derivation.c: Use it. * tests/counterexample.at, tests/report.at: Adjust the test suite. * .travis.yml, README-hacking.md: Adjust.
* cex: add gnulib dependenciesAkim Demaille2020-05-221-1/+2
| | | | * bootstrap.conf (gnulib_modules): Add linked-list.
* examples: beware of the portability of flex --header-fileAkim Demaille2020-05-031-0/+16
| | | | | | | | | | | | | | The option --header was introduced in version 2.5.6. The option --header-file was introduced in version 2.6.4. Reported by Bruno Haible. https://lists.gnu.org/r/bug-bison/2020-05/msg00013.html So use --header, and do bother with versions that don't support it. * m4/flex.m4: Check whether flex supports --header. * configure.ac (FLEX_WORKS, FLEX_CXX_WORKS): Set to false if it doesn't. * * examples/c/reccalc/local.mk, examples/c/reccalc/Makefile: Use --header rather than --header-file.
* gnulib: updateAkim Demaille2020-04-291-0/+1
|
* gnulib: use readlineAkim Demaille2020-03-011-0/+3
|
* gnulib: updateAkim Demaille2020-02-101-0/+3
|
* git: update ignoresAkim Demaille2020-01-191-0/+1
|
* gnulib: updateAkim Demaille2020-01-111-1/+2
|
* package: bump copyrights to 2020Akim Demaille2020-01-106-6/+6
| | | | Run 'make update-copyright'.
* gnulib: updateAkim Demaille2019-11-111-0/+2
|
* git: update ignoresAkim Demaille2019-11-011-0/+16
| | | | | I don't understand what happened in 10acc148bb90fac8a52a5d35f2bd18bd824c1639.
* version 3.4.90v3.4.90Akim Demaille2019-10-291-16/+0
| | | | * NEWS: Record release date.
* build: remove dmalloc supportAkim Demaille2019-10-241-22/+0
| | | | | | | Today sanitizers are a better alternative. * m4/dmalloc.m4: Remove. * configure.ac, src/system.h: Adjust.
* gnulib:updatePaul Eggert2019-10-171-0/+1
|
* configure: don't require FlexAkim Demaille2019-10-091-3/+4
| | | | | | | | | | | Flex should not be required to build Bison or run the test suite (of course it is needed for maintaining Bison). Yet the Automake conditional FLEX_WORKS does not work. * m4/flex.m4 (_AC_PROG_LEX_YYTEXT_DECL): Since this is called conditionally, don't define LEX_IS_FLEX here, but rather... (AC_PROG_LEX): here. * configure.ac: Be more cautious about possibly undefined variables.
* diagnostics: suggest fixes for undeclared symbolsAkim Demaille2019-10-061-2/+3
| | | | | | | | | | | | | | | | | | | | | | From input.y:1.17-19: warning: symbol baz is used, but is not defined as a token and has no rules [-Wother] 1 | %printer {} foo baz | ^~~ to input.y:1.17-19: warning: symbol 'baz' is used, but is not defined as a token and has no rules; did you mean 'bar'? [-Wother] 1 | %printer {} foo baz | ^~~ | bar * bootstrap.conf: We need fstrcmp. * src/symtab.c (symbol_from_uniqstr_fuzzy): New. (complain_symbol_undeclared): Use it. * tests/diagnostics.at (Suggestions): New. * data/bison-default.css (insertion): Rename as... (fixit-insert): this, as this is what GCC uses.
* diagnostics: get the screen width from the terminalAkim Demaille2019-09-221-0/+2
| | | | | | | | | | | * bootstrap.conf: We need winsz-ioctl and winsz-termios. * src/location.c (columns): Use winsize to get the number of columns. Code taken from the GNU Coreutils. * src/location.h, src/location.c (caret_init): New. * src/complain.c (complain_init): Call it. * tests/bison.in: Export COLUMNS so that users of tests/bison can enjoy proper line truncation.
* diagnostics: learn how to count column number with multibyte charsAkim Demaille2019-09-221-0/+3
| | | | | | | | | | | | | | | | | | | | | | So far diagnostics were cheating: in addition to the 'column' field of locations (based on actual screen width per multibyte characters and on tabulation expansion), the scanner sets the 'byte' field. Diagnostics used this byte count to decide where to insert (color) style. We want to be able to truncate the quoted lines when there are too wide to fit the screen. This requires that the diagnostics learn how to count columns, the byte-in-boundary trick no longer works. Bytes are still used for fix-its. * bootstrap.conf: We need mbfile for mbf_getc. * src/location.c (caret_info): We need an mbfile. (caret_set_file): Initialize it. (caret_getc): Convert to mbfile. (location_caret): Instead of relying on the byte position to decide where to insert the color style, count the current column using boundary_compute.
* git: update ignoresAkim Demaille2019-09-221-0/+1
|
* gnulib: updateAkim Demaille2019-06-221-2/+0
|
* 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.