diff options
author | Hans Wennborg <hans@hanshq.net> | 2014-02-24 15:58:24 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2014-02-24 15:58:24 +0000 |
commit | 3d79154aecd98a5ff59e11bd30e94c8d2206393e (patch) | |
tree | 47d4cbdd00fd7065ca7b56b3bc9cd37fe47b7174 /clang/lib/Sema/SemaDecl.cpp | |
parent | dc59a36caa73a7de021423ff9769525ce9cdb969 (diff) | |
download | bcm5719-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.cpp | 9 |
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; |