[C++ DR 2336] virtual dtors, exception specs & abstract classes
authorNathan Sidwell <nathan@acm.org>
Thu, 15 Nov 2018 15:51:39 +0000 (15:51 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Thu, 15 Nov 2018 15:51:39 +0000 (15:51 +0000)
commit2bd652d265f8158e9deed8715e5d1972bf8cd7c4
treeb41effb615865b50aa9a94dfbaec511a2249c6ae
parent1a50c42806eb3f22047e44669c26721501b9d164
[C++ DR 2336] virtual dtors, exception specs & abstract classes

https://gcc.gnu.org/ml/gcc-patches/2018-11/msg01389.html
DR 2336
* cp-tree.h (enum special_function_kind): Add sfk_virtual_destructor.
* method.c (type_has_trivial_fn): Add it.
(SFK_DTOR_P): Likewise.
(synthesized_method_base_walk): Don't check access of vbases of
abstract classes when sfk_virtual_destructor.
(synthesized_method_walk): Skip vbases of abstract classes except
when sfk_virtual_destructor.
(get_defaulted_eh_spec): Set sfk_virtual_destructor as needed.

* g++.dg/cpp1y/pr79393-3.C: New.

From-SVN: r266188
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/method.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp1y/pr79393-3.C [new file with mode: 0644]