[PATCH] D22034: [MSVC][DLL] use local vftable mangling only exported classes with virtual destructor

Dmitry Polukhin via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 6 11:25:01 PDT 2016


DmitryPolukhin added a comment.

In http://reviews.llvm.org/D22034#475551, @majnemer wrote:

> In http://reviews.llvm.org/D22034#475540, @DmitryPolukhin wrote:
>
> > Here is B::foo is not exported but required to build vftable for D.
>
>
> What happens if D also had a virtual destructor?


It seems that in this case MSVC never inline x-tors so there is no problem with using local vftable. I don't propose to do the same inline decisions like MSVC does so Clang may need/use different set of exported members and MSVC depending on optimization levels and other things may change these sets. But it seems that never use exported vftable is not aligned with ABI. MSVC seems to be very consistent about uses exported vftable when it is possible.


http://reviews.llvm.org/D22034





More information about the cfe-commits mailing list