diff options
author | Timur Iskhodzhanov <timurrrr@google.com> | 2013-08-04 17:30:04 +0000 |
---|---|---|
committer | Timur Iskhodzhanov <timurrrr@google.com> | 2013-08-04 17:30:04 +0000 |
commit | 40f2fa9a45a6f16187a706401512a56e403868bf (patch) | |
tree | 9f7f37d66e1ecbe3261f8ebb3a34613fe2591a90 /clang/lib/CodeGen/MicrosoftCXXABI.cpp | |
parent | d989ef43734ae73f240174ed945936abeab59fde (diff) | |
download | bcm5719-llvm-40f2fa9a45a6f16187a706401512a56e403868bf.tar.gz bcm5719-llvm-40f2fa9a45a6f16187a706401512a56e403868bf.zip |
Emit the constructor for abstract classes when using -cxx-abi microsoft, fixes PR16735
llvm-svn: 187709
Diffstat (limited to 'clang/lib/CodeGen/MicrosoftCXXABI.cpp')
-rw-r--r-- | clang/lib/CodeGen/MicrosoftCXXABI.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/MicrosoftCXXABI.cpp b/clang/lib/CodeGen/MicrosoftCXXABI.cpp index 74575c3cb50..b2c9ef02132 100644 --- a/clang/lib/CodeGen/MicrosoftCXXABI.cpp +++ b/clang/lib/CodeGen/MicrosoftCXXABI.cpp @@ -66,6 +66,8 @@ public: llvm::BasicBlock *EmitCtorCompleteObjectHandler(CodeGenFunction &CGF, const CXXRecordDecl *RD); + void EmitCXXConstructors(const CXXConstructorDecl *D); + // Background on MSVC destructors // ============================== // @@ -376,6 +378,11 @@ MicrosoftCXXABI::EmitCtorCompleteObjectHandler(CodeGenFunction &CGF, return SkipVbaseCtorsBB; } +void MicrosoftCXXABI::EmitCXXConstructors(const CXXConstructorDecl *D) { + // There's only one constructor type in this ABI. + CGM.EmitGlobal(GlobalDecl(D, Ctor_Complete)); +} + void MicrosoftCXXABI::EmitVBPtrStores(CodeGenFunction &CGF, const CXXRecordDecl *RD) { llvm::Value *ThisInt8Ptr = |