]> granicus.if.org Git - clang/commit
[MS ABI] Never reference dllimport'd vtables
authorDavid Majnemer <david.majnemer@gmail.com>
Wed, 10 Feb 2016 17:40:47 +0000 (17:40 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Wed, 10 Feb 2016 17:40:47 +0000 (17:40 +0000)
commitf813c829dd9e628b456e9df9826bba69f7224a92
tree28c2f40f6c164563b24eb33fa1379e9ab6c2f731
parent222af3db18686a08f455b6a5132de5a98d0273f4
[MS ABI] Never reference dllimport'd vtables

Referencing a dllimported vtable is impossible in a constexpr
constructor.  It would be friendlier to C++ programmers if we
synthesized a copy of the vftable which referenced imported virtual
functions.  This would let us initialize the object in a way which
preserves both the intent to import functionality from another DLL while
also making constexpr work.

Differential Revision: http://reviews.llvm.org/D17061

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@260388 91177308-0d34-0410-b5e6-96231b3b80d8
lib/AST/MicrosoftMangle.cpp
lib/AST/VTableBuilder.cpp
lib/CodeGen/MicrosoftCXXABI.cpp
test/CodeGenCXX/dllimport-rtti.cpp
test/CodeGenCXX/dllimport.cpp
test/CodeGenCXX/microsoft-abi-vftables.cpp