aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGClass.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2011-02-02 23:12:46 +0000
committerFariborz Jahanian <fjahanian@apple.com>2011-02-02 23:12:46 +0000
commit5abec14a235bff4026c030672701a9853350e8cf (patch)
tree750dbd9ff4aaf1c2ddc7aad751e88704b5224dd0 /lib/CodeGen/CGClass.cpp
parent0ce34c6ba0aa79708a62179c0fdf96891b62b5dc (diff)
-fapple-kext, elimination of all direct calls to virtual dtors.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124757 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGClass.cpp')
-rw-r--r--lib/CodeGen/CGClass.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/CodeGen/CGClass.cpp b/lib/CodeGen/CGClass.cpp
index f4a45e4f61..905e168150 100644
--- a/lib/CodeGen/CGClass.cpp
+++ b/lib/CodeGen/CGClass.cpp
@@ -796,6 +796,10 @@ void CodeGenFunction::EmitDestructorBody(FunctionArgList &Args) {
assert(Dtor->isImplicit() && "bodyless dtor not implicit");
// nothing to do besides what's in the epilogue
}
+ // -fapple-kext must inline any call to this dtor into
+ // the caller's body.
+ if (getContext().getLangOptions().AppleKext)
+ CurFn->addFnAttr(llvm::Attribute::AlwaysInline);
break;
}