[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 00/14] glr2.cc: fix linking conflicts
From: |
Akim Demaille |
Subject: |
[PATCH 00/14] glr2.cc: fix linking conflicts |
Date: |
Sun, 12 Sep 2021 14:07:33 +0200 |
This series of patches was prompted by Tom Shields, who reported that
using several glr2.cc parsers together leads to either linking
conflicts or undefined behavior (probably because of One Definition
Rule violations).
According to my tests, we should no longer have such issues. However
my tests are weak, and a real world check would be most interesting.
So, users of glr2.cc (especially you, Tom), please test this tarball,
and report the result.
https://www.lrde.epita.fr/~akim/private/bison/bison-3.8.1.21-21068.tar.gz
https://www.lrde.epita.fr/~akim/private/bison/bison-3.8.1.21-21068.tar.lz
https://www.lrde.epita.fr/~akim/private/bison/bison-3.8.1.21-21068.tar.xz
I have not yet installed these patches. I will in the near future (in
case there were comments).
Cheers!
PS/ The diffs are `diff -w`, to avoid all the reindentation noise.
Akim Demaille (14):
glr2.cc: don't publish YY_EXCEPTIONS
glr2.cc: put semantic_option into an unnamed namespace
glr2.cc: prefer unnamed namespace to 'static'
glr2.cc: put create_state_set_index in unnamed namespace
glr2.cc: move glr_stack and glr_state into the parser class
glr2.cc: style: clarify control flow
glr2.cc: move state_stack into the unnamed namespace
glr2.cc: put glr_state_set and glr_stack_item in unnamed namespace
glr2.cc: prefer using, and remove useless type aliases
glr2.cc: use only symbol_kind_type, not yysymbol_kind_t
glr2.cc: move strong_index_alias into the unnamed namespace
glr2.cc: check linking conflicts
glr2.cc: kill trailing white spaces
glr2.cc: don't pass %parse-param to destroy
data/skeletons/glr2.cc | 4444 ++++++++++++++++++++--------------------
tests/headers.at | 13 +-
2 files changed, 2251 insertions(+), 2206 deletions(-)
--
2.32.0
- [PATCH 00/14] glr2.cc: fix linking conflicts,
Akim Demaille <=
- [PATCH 01/14] glr2.cc: don't publish YY_EXCEPTIONS, Akim Demaille, 2021/09/12
- [PATCH 02/14] glr2.cc: put semantic_option into an unnamed namespace, Akim Demaille, 2021/09/12
- [PATCH 03/14] glr2.cc: prefer unnamed namespace to 'static', Akim Demaille, 2021/09/12
- [PATCH 04/14] glr2.cc: put create_state_set_index in unnamed namespace, Akim Demaille, 2021/09/12
- [PATCH 05/14] glr2.cc: move glr_stack and glr_state into the parser class, Akim Demaille, 2021/09/12
- [PATCH 06/14] glr2.cc: style: clarify control flow, Akim Demaille, 2021/09/12
- [PATCH 07/14] glr2.cc: move state_stack into the unnamed namespace, Akim Demaille, 2021/09/12
- [PATCH 08/14] glr2.cc: put glr_state_set and glr_stack_item in unnamed namespace, Akim Demaille, 2021/09/12
- [PATCH 09/14] glr2.cc: prefer using, and remove useless type aliases, Akim Demaille, 2021/09/12
- [PATCH 10/14] glr2.cc: use only symbol_kind_type, not yysymbol_kind_t, Akim Demaille, 2021/09/12