diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-10-07 13:34:42 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-10-07 13:34:42 +0000 |
commit | e04a17da8185d5f38fec8dea62b332bbde3a1d8e (patch) | |
tree | f4548d4cb2eb78170680d78aed55e1106a858512 /clang/lib/CodeGen | |
parent | d8b4ec0dad34ebe5e2683b6bcf4e9f82e9cc169f (diff) | |
download | bcm5719-llvm-e04a17da8185d5f38fec8dea62b332bbde3a1d8e.tar.gz bcm5719-llvm-e04a17da8185d5f38fec8dea62b332bbde3a1d8e.zip |
Allow dllexport alias to base destructors.
We used to avoid these, but it looks like we did so just because we were
not handling dllexport alias correctly.
Dario Domizioli fixed that, so allow these aliases.
Based on a patch by Dario Domizioli!
llvm-svn: 219206
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r-- | clang/lib/CodeGen/CGCXX.cpp | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/clang/lib/CodeGen/CGCXX.cpp b/clang/lib/CodeGen/CGCXX.cpp index 6d10361bf90..93e17601cc6 100644 --- a/clang/lib/CodeGen/CGCXX.cpp +++ b/clang/lib/CodeGen/CGCXX.cpp @@ -44,10 +44,6 @@ bool CodeGenModule::TryEmitBaseDestructorAsAlias(const CXXDestructorDecl *D) { if (!D->hasTrivialBody()) return true; - // For exported destructors, we need a full definition. - if (D->hasAttr<DLLExportAttr>()) - return true; - const CXXRecordDecl *Class = D->getParent(); // If we need to manipulate a VTT parameter, give up. @@ -191,7 +187,7 @@ bool CodeGenModule::TryEmitDefinitionAsAlias(GlobalDecl AliasDecl, } // Finally, set up the alias with its proper name and attributes. - SetCommonAttributes(cast<NamedDecl>(AliasDecl.getDecl()), Alias); + setAliasAttributes(cast<NamedDecl>(AliasDecl.getDecl()), Alias); return false; } |