Files
bison/tests
Akim Demaille ec08b369ec c++: address -Wweak-vtables warnings
Reported by Derek Clegg
http://lists.gnu.org/archive/html/bug-bison/2019-01/msg00021.html

    aux/parser-internal.h:429:12: error: 'syntax_error' has no out-of-line virtual
         method definitions; its vtable will be emitted in every translation unit
         [-Werror,-Wweak-vtables]
       struct syntax_error : std::runtime_error

To avoid this warning, we need syntax_error to have a virtual function
defined in a compilation unit.  Let it be the destructor.  To comply
with C++98, this dtor should be 'throw()'.  Merely making YY_NOEXCEPT
be 'throw()' in C++98 triggers
errors (http://lists.gnu.org/archive/html/bug-bison/2019-01/msg00022.html),
so let's introduce YY_NOTHROW and flag only ~syntax_error with it.

Also, since we now have an explicit dtor, we need to provide an copy
ctor.

* configure.ac (warn_cxx): Add -Wweak-vtables.
* data/skeletons/c++.m4 (YY_NOTHROW): New.
(syntax_error): Declare the dtor, and define the copy ctor.
* data/skeletons/glr.cc, data/skeletons/lalr1.cc (~syntax_error):
Define.
2019-01-20 18:46:44 +01:00
..
2008-11-16 19:46:16 +01:00
2019-01-17 18:09:38 +01:00
2019-01-05 14:58:05 +01:00
2019-01-05 14:58:05 +01:00
2019-01-15 18:07:00 +01:00
2019-01-05 14:58:05 +01:00
2019-01-05 14:58:05 +01:00
2019-01-05 14:58:05 +01:00
2019-01-05 14:58:05 +01:00
2019-01-05 14:58:05 +01:00
2019-01-17 18:09:38 +01:00
2019-01-05 14:58:05 +01:00
2019-01-05 14:58:05 +01:00
2019-01-05 14:58:05 +01:00
2019-01-05 14:58:05 +01:00
2019-01-05 14:58:05 +01:00
2019-01-05 14:58:05 +01:00
2019-01-05 14:58:05 +01:00
2019-01-05 14:58:05 +01:00