https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70462
--- Comment #4 from Jason Merrill <jason at gcc dot gnu.org> --- Author: jason Date: Wed Jun 26 04:56:07 2019 New Revision: 272669 URL: https://gcc.gnu.org/viewcvs?rev=272669&root=gcc&view=rev Log: PR c++/70462 - unnecessary base ctor variant with final. As pointed out in the PR, we don't need base 'tor variants for a final class, since it can never be a base. I tried also dropping complete variants for abstract classes, but that runs into ABI compatibility problems with older releases that refer to those symbols. * optimize.c (populate_clone_array): Skip base variant if CLASSTYPE_FINAL. (maybe_clone_body): We don't need an alias if we are only defining one clone. Added: trunk/gcc/testsuite/g++.dg/other/final8.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/optimize.c