"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "ChangeLog" between
bison-3.8.1.tar.xz and bison-3.8.2.tar.xz

About: Bison is a general-purpose parser generator.

ChangeLog  (bison-3.8.1.tar.xz):ChangeLog  (bison-3.8.2.tar.xz)
2021-09-25 Akim Demaille <akim.demaille@gmail.com>
version 3.8.2
* NEWS: Record release date.
2021-09-25 Akim Demaille <akim.demaille@gmail.com>
tests: Apple clang issues warning on C++11 features
$ cat /tmp/foo.cc
using foo = int;
foo f;
$ clang++ -Wc++11-extensions -c /tmp/foo.cc
/tmp/foo.cc:1:13: warning: alias declarations are a C++11 extension [-Wc+
+11-extensions]
using foo = int;
^
1 warning generated.
$ clang++ --version
Apple clang version 11.0.0 (clang-1100.0.33.17)
Target: x86_64-apple-darwin18.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/Xcode
Default.xctoolchain/usr/bin
* tests/local.at (AT_COMPILE_CXX): Make sure -std=c++11 is passed when
running glr2.cc. It may be overridden by another flag in CXXFLAGS
afterwards.
2021-09-25 Akim Demaille <akim.demaille@gmail.com>
avoid using atoi
* cfg.mk: Disable sc_indent as auto indent is too invasive for now.
Enable sc_prohibit_atoi_atof, except where we don't care.
* src/location.c, src/muscle-tab.c: Use strtol instead of atoi.
2021-09-24 Akim Demaille <akim.demaille@gmail.com>
news: update
2021-09-18 Akim Demaille <akim.demaille@gmail.com>
gnulib: update
To get
commit 7818455627c5e54813ac89924b8b67d0bc869146
Author: Bruno Haible <bruno@clisp.org>
Date: Fri Sep 17 22:22:50 2021 +0200
threadlib: Avoid crashes in thread-related functions on Cygwin 3.2.0.
Reported by Brian Inglis via Akim Demaille in
<https://lists.gnu.org/archive/html/bug-gnulib/2021-09/msg00063.html>
.
* m4/threadlib.m4 (gl_WEAK_SYMBOLS): Force a "guessing no" result on
Cygwin.
2021-09-18 Akim Demaille <akim.demaille@gmail.com>
c++: use YY_NOEXCEPT where it helps
Suggested by Don Macpherson.
<https://github.com/akimd/bison/issues/80>
* data/skeletons/c++.m4, data/skeletons/glr2.cc,
* data/skeletons/lalr1.cc, data/skeletons/stack.hh: Use YY_NOEXCEPT
where it helps constructors.
2021-09-13 Akim Demaille <akim.demaille@gmail.com>
gnulib: update
2021-09-13 Akim Demaille <akim.demaille@gmail.com>
glr2.cc: semantic_option: use a symbol
* data/skeletons/c++.m4 (basic_symbol): Add assignment operators.
* data/skeletons/glr2.cc (semantic_option): Replace yytoken, yyvalue
and yylocation by yyla.
2021-09-13 Akim Demaille <akim.demaille@gmail.com>
glr2.cc: don't publish move ctor to lalr1.cc
These operators were introduced in "c++: add move assignments to the
symbol type" (fdaedc780af0dd678a4f4fa3175a201a553be20a) for glr2.cc.
* data/skeletons/c++.m4: Define them for glr2.cc only.
2021-09-12 Akim Demaille <akim.demaille@gmail.com>
glr2.cc: simplify semantic_option
* data/skeletons/glr2.cc (semantic_option): Simplify the rule-based
constructor. This shows that it should be easy to use a symbol_kind,
instead of the kind/value/location triple.
2021-09-12 Akim Demaille <akim.demaille@gmail.com>
glr2.cc: we require C++11
* data/skeletons/glr2.cc: So no need for C++98 compatibility.
2021-09-12 Akim Demaille <akim.demaille@gmail.com>
glr2.cc: introduse b4_glr2_cc_if
* data/skeletons/bison.m4 (b4_glr2_cc_if): Intro.
* data/skeletons/c++.m4: use.
2021-09-12 Akim Demaille <akim.demaille@gmail.com>
glr2.cc: don't pass %parse-param to destroy
I regret that %destructor and %printer give access to the %parse-param
in lalr1.cc, since that prevents them from being implemented as a
simple destructor and operator<<. Let's not repeat the mistake in
glr2.cc. In addition, fixes a name conflict we have currently in
tests 566 568 570 657:
calc.cc:1395:85: error: declaration shadows a field of 'calc::parser
' [-Werror,-Wshadow]
void glr_state::destroy (char const* yymsg, calc::parser& yyparser,
semantic_value *result, int *count, int *nerrs)
^
calc.hh:441:21: note: previous declaration is here
semantic_value *result;
^
With this commit, the whole test suite passes for glr2.cc.
* data/skeletons/glr2.cc (glr_state::destroy): Don't take the user
arguments.
2021-09-12 Akim Demaille <akim.demaille@gmail.com>
glr2.cc: kill trailing white spaces
Fixes several calc tests.
Tests 566 568 570 657 still fail because of a name clash when using
%parse-param:
calc.cc:1395:85: error: declaration shadows a field of 'calc::parser'
[-Werror,-Wshadow]
void glr_state::destroy (char const* yymsg, calc::parser& yyparser, s
emantic_value *result, int *count, int *nerrs)
^
calc.hh:441:21: note: previous declaration is here
semantic_value *result;
^
* data/skeletons/glr2.cc: Fix indentation/trailing spaces.
2021-09-12 Akim Demaille <akim.demaille@gmail.com>
glr2.cc: check linking conflicts
* tests/headers.at (Several Headers): Link two glr2.cc parsers.
2021-09-12 Akim Demaille <akim.demaille@gmail.com>
glr2.cc: move strong_index_alias into the unnamed namespace
* data/skeletons/glr2.cc: here.
2021-09-12 Akim Demaille <akim.demaille@gmail.com>
glr2.cc: use only symbol_kind_type, not yysymbol_kind_t
* data/skeletons/glr2.cc: here.
And prefer the unnamed namespace to static.
2021-09-12 Akim Demaille <akim.demaille@gmail.com>
glr2.cc: prefer using, and remove useless type aliases
* data/skeletons/glr2.cc: here.
2021-09-12 Akim Demaille <akim.demaille@gmail.com>
glr2.cc: put glr_state_set and glr_stack_item in unnamed namespace
* data/skeletons/glr2.cc: here.
2021-09-12 Akim Demaille <akim.demaille@gmail.com>
glr2.cc: move state_stack into the unnamed namespace
* data/skeletons/glr2.cc: here.
Prefer `using` to `typedef`, this is C++11.
Use the type alias we introduced.
2021-09-12 Akim Demaille <akim.demaille@gmail.com>
glr2.cc: style: clarify control flow
* data/skeletons/glr2.cc (yypreference): Be more functional-style.
2021-09-12 Akim Demaille <akim.demaille@gmail.com>
glr2.cc: move glr_stack and glr_state into the parser class
In order to be able to link several glr2.cc parser together, we cannot
have glr_stack and glr_state be in no namespace. Putting them in the
unnamed namespace is not doable, since we need to fwd declare them in
the parser. Putting them in the specified namespace is not enough
either, since some users would like to be able to put several parsers
in the same name, only differing by the class name.
* data/skeletons/glr2.cc (glr_state, glr_stack): Move into yy::parser.
2021-09-12 Akim Demaille <akim.demaille@gmail.com>
glr2.cc: put create_state_set_index in unnamed namespace
* data/skeletons/glr2.cc: here.
2021-09-12 Akim Demaille <akim.demaille@gmail.com>
glr2.cc: prefer unnamed namespace to 'static'
* data/skeletons/glr2.cc: here.
2021-09-12 Akim Demaille <akim.demaille@gmail.com>
glr2.cc: put semantic_option into an unnamed namespace
If we link several glr2.cc parsers together, we get linking failures
because of duplicate symbols.
* data/skeletons/glr2.cc (semantic_option::indexIn)
(semantic_option::next): Remove the useless overloads.
2021-09-12 Akim Demaille <akim.demaille@gmail.com>
glr2.cc: don't publish YY_EXCEPTIONS
We don't need them in the header file.
* data/skeletons/glr2.cc (YY_EXCEPTIONS): Define only in the
implementation file.
* tests/headers.at (Several Parsers): Also check glr2.cc.
2021-09-12 Akim Demaille <akim.demaille@gmail.com>
c++: demonstrate custom error messages in the examples
Let's use c++/glr to demonstrate custom error messages in C++ (not
just in glr2.cc).
* examples/c++/glr/c++-types.yy (report_syntax_error): New.
* examples/c++/glr/c++-types.test: Adjust.
* examples/c/bistromathic/parse.y: Comment changes.
* tests/local.at (AT_YYERROR_DEFINE(c++)): Use a nicer way to print
the lookakead's name.
2021-09-12 Akim Demaille <akim.demaille@gmail.com>
glr2.cc: custom error messages
Reported by Tom Shields <thomas.evans.shields@icloud.com>.
<https://lists.gnu.org/r/bug-bison/2021-08/msg00003.html>
* data/skeletons/glr2.cc (context): New.
Use it to generate the error messages.
Add support for custom error messages.
* tests/calc.at: Check support for custom error messages.
2021-09-12 Akim Demaille <akim.demaille@gmail.com>
glr2.cc: start the transition to using symbol_type
Currently glr2.cc uses three variables/struct members to denote the
symbols' kind (or state), value and location. lalr1.cc has two types
for "complete" symbols: symbol_type and stack_symbol_type. Let's use
that model in glr2.cc too.
For a start use yyla (a symbol_type) to denote the lookahead, instead
of the triple yytoken, yylval and yylloc. This will make easier the
introduction of the "context" subclass, used in parse.error=custom.
It simplifies the code in several places. For instance from:
symbol_kind_type yytoken_current = this->yytoken;]b4_variant_if([[
value_type yylval_current;
]b4_symbol_variant([this->yytoken],
[yylval_current], [move], [this->yylval])], [[
value_type yylval_current = this->yylval;]])[]b4_locations_if([
location_type yylloc_current = this->yylloc;])[
to:
symbol_type yyla_current = std::move (this->yyla);
* data/skeletons/glr2.cc (yytoken, yylval, yylloc): Replace by...
(yyla): this.
Adjust all dependencies.
(yyloc_default): Remove, unused.
* tests/c++.at, tests/glr-regression.at, tests/types.at: C++11 is
required for glr2.cc.
Adjust to changes in glr2.cc.
2021-09-12 Akim Demaille <akim.demaille@gmail.com>
c++: add move assignments to the symbol type
This will be used in glr2.cc, which requires C++11.
* data/skeletons/c++.m4 (basic_symbol, by_kind): Add move assignment.
2021-09-12 Akim Demaille <akim.demaille@gmail.com>
c++: avoid using the obsolete names
* data/skeletons/c++.m4: Don't define obsolete identifiers in the case
of glr2.cc. Let's not start with technical debt.
* data/skeletons/glr2.cc, data/skeletons/lalr1.cc,
* data/skeletons/variant.hh: Use token_kind_type, not token_type.
* tests/c++.at, tests/local.at: Use value_type, not semantic_type.
2021-09-12 Akim Demaille <akim.demaille@gmail.com>
regen
2021-09-11 Akim Demaille <akim.demaille@gmail.com>
maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2021-09-11 Akim Demaille <akim.demaille@gmail.com> 2021-09-11 Akim Demaille <akim.demaille@gmail.com>
version 3.8.1 version 3.8.1
* NEWS: Record release date. * NEWS: Record release date.
2021-09-11 Akim Demaille <akim.demaille@gmail.com> 2021-09-11 Akim Demaille <akim.demaille@gmail.com>
portability: don't use strtof portability: don't use strtof
It is not available on HP-UX 11i. It is not available on HP-UX 11i.
Reported by Larkin Nickle <me@larbob.org>. Reported by Larkin Nickle <me@larbob.org>.
 End of changes. 1 change blocks. 
0 lines changed or deleted 309 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)