[PATCH] D77081: [MS] Mark vbase dtors ref'd when ref'ing dtor

Reid Kleckner via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 30 12:30:18 PDT 2020


rnk created this revision.
rnk added a reviewer: rsmith.
Herald added a project: clang.

DONOTSUBMIT: Uploading for feedback on approach, still have test failures:

********************

Failing Tests (1):

  Clang :: CXX/class.access/p4.cpp

In the MS C++ ABI, complete destructors for classes with virtual bases
are emitted whereever they are needed. The complete destructor calls:

- the base dtor
- for each vbase, its base dtor

Even when a destructor is user-defined in another TU, clang needs to
mark the virtual base dtors referenced in TUs that call destructors.
This fixes PR38521.

FIXME: What about separating base and complete dtors? i.e. what about
when only base dtors are ref'd?


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D77081

Files:
  clang/include/clang/Sema/Sema.h
  clang/lib/Sema/SemaDeclCXX.cpp
  clang/lib/Sema/SemaExpr.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D77081.253662.patch
Type: text/x-patch
Size: 4582 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20200330/fec10438/attachment-0001.bin>


More information about the cfe-commits mailing list