bison-patches
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]