summaryrefslogtreecommitdiff
path: root/THANKS
Commit message (Collapse)AuthorAgeFilesLines
...
* c++: using macros around user types breaks when they include commaAkim Demaille2018-11-201-0/+1
| | | | | | | | | | | | | | | | | We may generate code such as basic_symbol (typename Base::kind_type t, YY_RVREF (std::pair<int,int>) v); which, of course, breaks, because YY_RVREF sees two arguments. Let's not play tricks with _VA_ARGS__, I'm unsure about it portability. Anyway, I plan to change more things in this area. Reported by Sébastien Villemot. http://lists.gnu.org/archive/html/bug-bison/2018-11/msg00014.html * data/variant.hh (b4_basic_symbol_constructor_declare) (b4_basic_symbol_constructor_define): Don't use macro on user types. * tests/types.at: Check that we support pairs.
* build: fix issues in the generated tarballAkim Demaille2018-11-081-0/+1
| | | | | | | | | | | Reported by Andre da Costa Barros. https://savannah.gnu.org/patch/?9716 * examples/calc++/local.mk: We no longer generate position.hh and stack.hh. Leaving them here triggers their concurrent generation, which fails. (%C%_calc___CPPFLAGS): Fix the extracted headers in the source tree. * examples/mfcalc/local.mk (%C%_mfcalc_CPPFLAGS): Ditto.
* build: fix typoAkim Demaille2018-11-071-0/+1
| | | | | | | | Reported by Horst Von Brand. https://savannah.gnu.org/support/?109580 * examples/local.mk (.PHOMY): Rename as... (.PHONY): this.
* examples: ship themAkim Demaille2018-11-061-0/+1
| | | | | | | | | | | | | | | | | | | Currently, the examples are extracted on the user's side. Unfortunately, that requires that the user has Perl, which is otherwise not needed for Bison. Let's ship the examples instead. The examples were handled this way so that we could depend on configure flags: if --enable-gcc-warnings is passed, it is understood as "I'm a maintainer", so the examples are generated with `#line`s. Regular users should not see them, so they are now unconditionally removed when rolling a tarball. Reported by Mike Frysinger. https://lists.gnu.org/archive/html/bison-patches/2015-04/msg00000.html * examples/local.mk: Ship all the extracted files. (examples-unline): New. Make sure that the generated tarballs do not contain the #lines.
* examples: #include <cstring> in calc++Adam Sampson2018-11-021-0/+1
| | | | | strerror is defined by <string.h>, and recent versions of GNU libstdc++ no longer include this automatically from <string>.
* build: fix use of gnulib Make variablesAkim Demaille2018-10-301-0/+1
| | | | | | | | Reported by Kiyoshi Kanazawa. http://lists.gnu.org/archive/html/bug-bison/2018-10/msg00048.html * lib/local.mk (lib_libbison_a_LIBADD): Merge into... * src/local.mk (src_bison_LDADD): here.
* build: add missing gnulib libsAkim Demaille2018-10-201-0/+1
| | | | | | Reported by Denis Excoffier. * lib/local.mk, src/local.mk: here.
* THANKS: add Josh SorefAkim Demaille2018-10-051-0/+1
|
* timevar: don't declare getrusage if we don't use itAkim Demaille2018-09-221-0/+1
| | | | | | | | | This fails on MinGW. Reported by Simon Sobisch. http://lists.gnu.org/archive/html/bug-bison/2018-09/msg00058.html * lib/timevar.c: Don't provide default prototypes for functions we don't use.
* examples: beware of shell portability issuesAkim Demaille2018-09-021-0/+1
| | | | | | | | | | | | Some shells don't grok `local var=$val` very well: they need the rhs to be quoted. ./examples/test: 66: local: you.,: bad variable name FAIL examples/variant.test (exit status: 2) Reported by Étienne Renault. * examples/test (run): Quote the values in 'local' assignments.
* lalr1.cc: support compilation with disabled support for exceptionsAkim Demaille2018-08-191-0/+1
| | | | | | | | | | | | | | | | Reported by Brooks Moses <bmoses@google.com> http://lists.gnu.org/archive/html/bison-patches/2018-02/msg00000.html * data/lalr1.cc (YY_EXCEPTIONS): New. Use it to disable try/catch clauses. * doc/bison.texi (C++ Parser Interface): Document it. * configure.ac (CXXFLAGS_NO_EXCEPTIONS): New. * tests/atlocal.in: Receive it. * tests/local.at (AT_FULL_COMPILE, AT_LANG_COMPILE): Accept a new argument, extra compiler flags. * tests/calc.at: Run the C++ calculator with exception support disabled.
* C++: fix portability issue with MSVC 2017Akim Demaille2018-08-181-0/+1
| | | | | | | | | | | | | | | | | Visual Studio issues a C4146 warning on '-static_cast<unsigned>(rhs)'. The code is weird, probably to cope with INT_MIN. Let's go back to using std::max (whose header is still included in position.hh...) like originally, but with the needed casts. Reported by 長田偉伸, and with help from Rici Lake. See also http://lists.gnu.org/archive/html/bug-bison/2013-02/msg00000.html and commit 75ae8299840bbd854fa2474d38402bbb933c6511. * data/location.cc (position::add_): Take min as an int. Use std::max. While here, get rid of a couple of useless inlines.
* build: fix concurrent build failureAkim Demaille2018-08-181-0/+2
| | | | | | | Reported by Dengke Du and Robert Yang. https://lists.gnu.org/archive/html/bison-patches/2017-07/msg00000.html * src/local.mk (src/yacc): Make sure the directory exists.
* doc: clarify the destructor selection exampleAkim Demaille2018-08-181-0/+1
| | | | | | | Reported by Gary L Peskin. http://lists.gnu.org/archive/html/help-bison/2016-02/msg00000.html * doc/bison.texi (Destructor Decl): here.
* portability: don't use _Pragma with ICCAkim Demaille2018-08-181-0/+1
| | | | | | | | | | | | | | | ICC defines __GNUC__ [1], but does not support GCC's _Pragma for diagnostics. As a matter of fact, I believe it does not support _Pragma at all (only #pragma) [2]. Reported by Maxim Prohorenko. https://savannah.gnu.org/support/index.php?108339 [1] https://software.intel.com/en-us/cpp-compiler-18.0-developer-guide-and-reference-gcc-compatibility-and-interoperability [2] https://software.intel.com/en-us/cpp-compiler-18.0-developer-guide-and-reference-pragmas * data/c.m4 (YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN): Exclude ICC from the club.
* escape properly the file names in #line for printer/destructorAkim Demaille2018-08-181-0/+1
| | | | | | | | | | | | | | | | Reported by Jannick. http://lists.gnu.org/archive/html/bug-bison/2017-05/msg00001.html "Amusingly" enough, we have the same problem with %defines when the parser file name has backslashes or quotes: we generate #includes with an incorrect C string. * src/output.c (prepare_symbol_definitions): Escape properly the file names before passing them to M4. * data/bison.m4, data/lalr1.cc: Don't simply put the file name between two quotes (that should have been strong enough a smell...), expect the string to be properly quoted. * tests/synclines.at: New tests to check this.
* add support for typed mid-rule actionsAkim Demaille2018-08-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Prompted on Piotr Marcińczyk's message: http://lists.gnu.org/archive/html/bug-bison/2017-06/msg00000.html. See also http://lists.gnu.org/archive/html/bug-bison/2018-06/msg00001.html. Because their type is unknown to Bison, the values of midrule actions are not treated like the others: they don't have %printer and %destructor support. In addition, in C++, (Bison) variants cannot work properly. Typed midrule actions address these issues. Instead of: exp: { $<ival>$ = 1; } { $<ival>$ = 2; } { $$ = $<ival>1 + $<ival>2; } write: exp: <ival>{ $$ = 1; } <ival>{ $$ = 2; } { $$ = $1 + $2; } * src/scan-code.h, src/scan-code.l (code_props): Add a `type` field to record the declared type of an action. (code_props_rule_action_init): Add a type argument. * src/parse-gram.y: Accept an optional type tag for actions. * src/reader.h, src/reader.c (grammar_current_rule_action_append): Add a type argument. (grammar_midrule_action): When a mid-rule is typed, pass its type to the defined dummy non terminal symbol.
* warnings: address -Wnull-dereference in reader.cAkim Demaille2018-08-051-0/+1
| | | | | | | | Based on a patch by David Michael. http://lists.gnu.org/archive/html/bison-patches/2018-07/msg00000.html * src/reader.c (find_start): New, extracted from... (check_and_convert_grammar): here.
* THANKS: update an addressAkim Demaille2018-05-301-1/+1
|
* Replace ftp with httpsAkim Demaille2018-05-291-1/+1
| | | | | | Reported by Hans Åberg. * README, cfg.mk, doc/bison.texi: here.
* C++: fix -Wdeprecated warningsAkim Demaille2018-05-271-0/+1
| | | | | | | | | | | | | | | | | | | | For instance on test 99: In file included from @@.cc:56: @@.hh:409:26: error: definition of implicit copy constructor for 'stack_symbol_type' is deprecated because it has a user-declared copy assignment operator [-Werror,-Wdeprecated] stack_symbol_type& operator= (const stack_symbol_type& that); ^ Reported by Derek Clegg. https://lists.gnu.org/archive/html/bison-patches/2018-05/msg00036.html * configure.ac (warn_tests): Add -Wdeprecated. * data/lalr1.cc (stack_symbol_type): Add an explicit copy ctor. We cannot rely on the explicit default implementation (`= default`) as we support C++ 98.
* Update copyright yearsAkim Demaille2018-05-121-1/+1
| | | | Run `make update-copyright`.
* Add a missing word in the documentationNate Guerin2018-05-121-0/+1
| | | | Small patch adds the word 'to' to the documentation.
* doc: fixes in the C++ partAkim Demaille2015-03-031-0/+1
| | | | | | | | | | | Reported by Askar Safin. http://lists.gnu.org/archive/html/bug-bison/2015-02/msg00018.html http://lists.gnu.org/archive/html/bug-bison/2015-02/msg00019.html * doc/bison.texi (Split Symbols): Fix access to token types. yylval is a pointer, so use ->. Fix coding style issues: space before paren.
* tests: be robust to platforms that support UTF-8 even with LC_ALL=CAkim Demaille2015-02-101-0/+1
| | | | | | | | | | | | | | | | Because musl supports UTF-8 with LC_ALL=C, gcc produces: input.y: In function ‘yyparse’: instead of: input.y: In function 'yyparse': Reported by Ferdinand Thiessen. http://lists.gnu.org/archive/html/bug-bison/2015-02/msg00001.html * tests/synclines.at (AT_SYNCLINES_COMPILE): Skip syncline tests when we can't trust error messages issued about a function body.
* build: fix some warningsAkim Demaille2015-01-181-0/+1
| | | | | | | Reported by John Horigan. http://lists.gnu.org/archive/html/bug-bison/2015-01/msg00034.html * src/graphviz.c, src/symtab.h: Address compiler warnings.
* build: avoid infinite recursions on include_nextAkim Demaille2015-01-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On MacOS X 10.5 PPC with Apple's GCC 4.0.1: % uname -a Darwin aria.cielonegro.org 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:57:0 1 PDT 2009; root:xnu-1228.15.4~1/RELEASE_PPC Power Macintosh % gcc --version powerpc-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5493) Copyright (C) 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. building in place enters into an infinite recursion on "#include_next": % gmake V=1 [snip] depbase=`echo lib/math.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ gcc -std=gnu99 -I. -Ilib -I. -I./lib -g -O2 -MT lib/math.o -MD -MP -MF $depbase.Tpo -c -o lib/math.o lib/math.c &&\ mv -f $depbase.Tpo $depbase.Po In file included from lib/math.h:27, from lib/math.h:27, from lib/math.h:27, from lib/math.h:27, [snip] from lib/math.h:27, from lib/math.h:27, from lib/math.c:3: lib/math.h:27:23: error: #include nested too deeply Makefile:3414: recipe for target 'lib/math.o' failed gmake[2]: *** [lib/math.o] Error 1 Using -I./lib instead of -Ilib fixes the problem. Reported by Pho. <https://lists.gnu.org/archive/html/bison-patches/2014-01/msg00000.html> * Makefile.am (AM_CPPFLAGS): Use -I./lib instead of -Ilib.
* doc: liby's main arms the internationalizationAkim Demaille2015-01-121-0/+1
| | | | | | | Reported by Nicolas Bedon. <https://lists.gnu.org/archive/html/bug-bison/2014-11/msg00005.html> * doc/bison.texi (Yacc Library): Document the call the setlocale.
* bison: avoid warnings from static code analysisAkim Demaille2015-01-091-0/+1
| | | | | | | | | | | | | | | | A static analysis tool reports that some callers of symbol_list_n_get might get NULL and not handle it properly. This is not the case, yet we can suppress this pattern. Reported by Mike Sullivan. <https://lists.gnu.org/archive/html/bug-bison/2013-12/msg00027.html> * src/symlist.c (symbol_list_n_get): Actually it is never called to return 0. Enforce this postcondition via aver. (symbol_list_n_type_name_get): Simplify accordingly. In particular, discards a (translated) useless error message. * src/symlist.h: Adjust documentation. * src/scan-code.l: Style change.
* c++: fix the use of destructors when variants are enabledAkim Demaille2015-01-091-0/+1
| | | | | | | | | | When using variants, destructors generate invalid code. <http://lists.gnu.org/archive/html/bug-bison/2014-09/msg00005.html> Reported by Michael Catanzaro. * data/c++.m4 (~basic_symbol): b4_symbol_foreach works on yysym: define it. * tests/c++.at (Variants): Check it.
* c++: provide a means to clear symbolsAkim Demaille2015-01-081-0/+2
| | | | | | | | | | | | | | | | | | The symbol destructor is currently the only means to clear a symbol. Unfortunately during error recovery we might have to clear the lookahead, which is a local variable (yyla) that has not yet reached its end of scope. Rather that duplicating the code to destroy a symbol, or rather than destroying and recreating yyla, let's provide a means to clear a symbol. Reported by Antonio Silva Correia, with an analysis from Michel d'Hooge. <http://savannah.gnu.org/support/?108481> * data/c++.m4, data/lalr1.cc (basis_symbol::clear, by_state::clear) (by_type::clear): New. (basic_symbol::~basic_symbol): Use clear.
* c++: variants: comparing addresses of typeid.name() is undefinedAkim Demaille2015-01-071-0/+1
| | | | | | | | | | Instead of storing and comparing pointers to names of types, store pointers to the typeids, and compares the typeids. Reported by Thomas Jahns. <http://lists.gnu.org/archive/html/bug-bison/2014-03/msg00001.html> * data/variant.hh (yytname_): Replace with... (yytypeid_): this.
* build: don't try to generate docs when cross-compilingAkim Demaille2015-01-051-0/+1
| | | | | | | | | When cross-compiling don't run the generated bison to update the docs. Reported by Aaro Koskinen. <http://lists.gnu.org/archive/html/bison-patches/2014-03/msg00000.html> * configure.ac (CROSS_COMPILING): New. * doc/local.mk: Use it.
* package: fix a reporter's nameAkim Demaille2015-01-041-1/+1
| | | | * THANKS, build-aux/git-log-fix: s/Bernd Edligner/Bernd Edlinger/.
* %union: fix the support for named %unionAkim Demaille2015-01-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bison supports a union tag, for obscure reasons. But it does a poor job at it, especially since Bison 3.0. Reported by Stephen Cameron and Tobias Frost. It did not ensure that the name was not given several times. An easy way to do this is to make the %union tag be handled as a %define variable, as they cannot be defined several times. Since Bison 3.0, the synclines were wrongly placed, resulting in invalid code. Addressing this issue, because of the way the union tag was stored (as a code muscle), would have been tedious. Unless we rather define the %union tag as a %percent variable, whose synclines are easier to manipulate. So replace the b4_union_name muscle by the api.value.union.name %define variable, document, and check. * data/bison.m4: Make sure that api.value.union.name has a keyword value. * data/c++.m4: Make sure that api.value.union.name is not defined. * data/c.m4 (b4_union_name): No longer use it, use api.value.union.name. * doc/bison.texi (%define Summary): Document it. * src/parse-gram.y (union_name): No longer define b4_uion_name, but api.value.union.name. * tests/input.at (Redefined %union name): New. * tests/synclines.at (%union name syncline): New. * tests/types.at: Check named %unions.
* package: bump to 2015Akim Demaille2015-01-041-1/+1
| | | | | | Which also requires: * gnulib: Update.
* flex: don't trust YY_USER_INITAkim Demaille2014-12-311-0/+1
| | | | | | Reported by Bernd Edligner and others. * src/scan-gram.l: here.
* yacc.c: fix broken union when api.value.type=union and %defines are usedAkim Demaille2014-12-311-0/+1
| | | | | | | | | | | | | | | Reported by Rich Wilson. * data/c.m4 (b4_symbol_type_register): Append to b4_union_members, not b4_user_union_members. The latter invokes the former, but it is the former which is reinitialized to empty by b4_value_type_setup_union. * tests/types.at: Check it. This reveals another bug, this time in the case of glr.c parsers. * data/glr.c: Generate the header file before the implementation file, to be sure that the setup is run before what depends on it.
* doc: fix missing xrefAkim Demaille2014-12-311-3/+4
| | | | | | Reported by xolodho. * doc/bison.texi (Printer Decl): here.
* package: bump to 2014Akim Demaille2014-02-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* tests: check $$'s destruction with variant, YYERROR, and no error recoveryAkim Demaille2013-11-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | When variant are enabled, the yylhs variable (the left-hand side of the rule being reduced, i.e. $$ and @$) is explicitly destroyed when YYERROR is called. This is because before running the user code, $$ is initialized, so that the user can properly use it. However, when quitting yyparse, yylhs is also reclaimed by the C++ compiler: the variable goes out of scope. This was not detected by the test suite because (i) the Object tracker was too weak, and (ii) the problem does not show when there is error recovery. Reported by Paolo Simone Gasparello. <http://lists.gnu.org/archive/html/bug-bison/2013-10/msg00003.html> * tests/c++.at (Exception safety): Improve the objects logger to make sure that we never destroy twice an object. Also track copy-constructors. Use a set instead of a list. Display the logs before running the function body, this is more useful in case of failure. Generalize to track with and without error recovery.
* tests: fix incorrect object constructionAkim Demaille2013-10-211-0/+2
| | | | | | | Reported by Ken Moffat. http://lists.gnu.org/archive/html/bug-bison/2013-10/msg00009.html * tests/c++.at (Exception safety): Here.
* glr: allow spaces between "%?" and "{" in predicatesAkim Demaille2013-10-161-0/+1
| | | | | | | | | | Reported by Rici Lake. http://lists.gnu.org/archive/html/bug-bison/2013-10/msg00004.html http://stackoverflow.com/questions/19330171/ * src/scan-gram.l: Do not try to be too smart when diagnosing invalid directives. * tests/glr-regression.at (Predicates): New test.
* tests: do not use grep -qAkim Demaille2013-09-041-0/+1
| | | | | | | Reported by Daniel Galloway. http://lists.gnu.org/archive/html/bug-bison/2013-08/msg00020.html * tests/java.at: Ignore grep's output instead.
* build: ship the ASCII art figuresAkim Demaille2013-08-011-0/+1
| | | | | | | | | | We don't ship the *.txt files that are used to build the info file. Reported by Colin Daley. * doc/figs/example.txt: New. * doc/local.mk (bison.info): Depend on the txt files. And ship them.
* drop unused options --raw, -n, -e, --include and -IPetr Machata2013-05-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | * --raw appears to be ignored. It was marked as obsolete in the commit ec3bc39, and documented as no longer supported as of 1.29 (2001-09-07). Support for %raw appears to have been dropped in e9955c83 on 2002-06-11, but --raw was kept around. Maybe it's time to drop it as well? * Commit e9955c83 dropped support for %no-parser as well, and converted it to option. --no-parser was later dropped in 728c4be2 on 2007-08-12, but -n was kept around, probably as an omission. All three are documented as removed since 2.3b (2008-05-27). * -e existed for a single day in 2001. It was introduced in eeeb962b on 2001-11-27. The handling was removed in c7925b99 on 2001-11-28, but "e" was kept in the list of short options. Probably an omission. * --include appears to be dead code. The option sets a variable, but that variable is not used anywhere. It was added in f6bd5427 on 2001-11-26 as a %-directive, with comments that it's not yet implemented. It was converted to a command-line option later, but doesn't seem to ever have been actually implemented. Signed-off-by: Petr Machata <pmachata@redhat.com> Signed-off-by: Akim Demaille <akim@lrde.epita.fr>
* tests: enable -Wsign-compare and fix corresponding warningsAkim Demaille2013-04-191-0/+1
| | | | | | | | | | | | | | | | | -Wsign-compare was disabled for bison's own code, following gnulib's approach. However, the generated parsers should not trigger such warnings. Reported by Efi Fogel. http://lists.gnu.org/archive/html/help-bison/2013-04/msg00018.html See also http://stackoverflow.com/questions/16101062 for the weird "-(unsigned)i" piece of code. * configure.ac (warn_tests): Enable -Wsign-compare. * data/location.cc (position::add_): New. (position::lines, position::columns): Use it. * tests/actions.at (AT_CHECK_PRINTER_AND_DESTRUCTOR): Fix signedness issues.
* c++: fix several issues with locationsAkim Demaille2013-04-111-0/+1
| | | | | | | | | | | | | | Reported by Daniel Frużyński. http://lists.gnu.org/archive/html/bug-bison/2013-02/msg00000.html * data/location.cc (position::columns, position::lines): Check for underflow. Fix some weird function signatures. (location): Accept signed integers as arguments where appropriate. Add operator- and operator+=. * doc/bison.texi (C++ position, C++ location): Various fixes and completion. * tests/c++.at (C++ Locations): New tests.
* Merge remote-tracking branch 'origin/maint'Akim Demaille2013-04-101-0/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/maint: glr.cc: fix a clang warning maint: update copyright years build: fix VPATH issue build: avoid clang's colored diagnostics in the test suite tests: please clang and use ".cc", not ".c", for C++ input gnulib: update skeletons: avoid empty switch constructs lalr1.cc: fix compiler warnings yacc.c: do not use __attribute__ unprotected tests: style changes
| * maint: update copyright yearsAkim Demaille2013-04-081-1/+1
| | | | | | | | Run "make update-copyright".