summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDecl.cpp
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2014-02-24 15:58:24 +0000
committerHans Wennborg <hans@hanshq.net>2014-02-24 15:58:24 +0000
commit3d79154aecd98a5ff59e11bd30e94c8d2206393e (patch)
tree47d4cbdd00fd7065ca7b56b3bc9cd37fe47b7174 /clang/lib/Sema/SemaDecl.cpp
parentdc59a36caa73a7de021423ff9769525ce9cdb969 (diff)
downloadbcm5719-llvm-3d79154aecd98a5ff59e11bd30e94c8d2206393e.tar.gz
bcm5719-llvm-3d79154aecd98a5ff59e11bd30e94c8d2206393e.zip
[Win32 ABI] Defer operator delete checks until vtable is marked used
We were previously checking at every destructor declaration, but that was a bit excessive. Since the deleting destructor is emitted with the vtable, do the check when the vtable is marked used. Differential Revision: http://llvm-reviews.chandlerc.com/D2851 llvm-svn: 202046
Diffstat (limited to 'clang/lib/Sema/SemaDecl.cpp')
-rw-r--r--clang/lib/Sema/SemaDecl.cpp9
1 files changed, 0 insertions, 9 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index 8e1871037cc..266f66844e2 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -6290,15 +6290,6 @@ static FunctionDecl* CreateNewFunctionDecl(Sema &SemaRef, Declarator &D,
SemaRef.AdjustDestructorExceptionSpec(Record, NewDD);
}
- // The Microsoft ABI requires that we perform the destructor body
- // checks (i.e. operator delete() lookup) at every declaration, as
- // any translation unit may need to emit a deleting destructor.
- if (SemaRef.Context.getTargetInfo().getCXXABI().isMicrosoft() &&
- !Record->isDependentType() && Record->getDefinition() &&
- !Record->isBeingDefined() && !NewDD->isDeleted()) {
- SemaRef.CheckDestructor(NewDD);
- }
-
IsVirtualOkay = true;
return NewDD;
OpenPOWER on IntegriCloud