summaryrefslogtreecommitdiff
path: root/clang/lib/Sema/SemaDeclCXX.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Sema/SemaDeclCXX.cpp')
-rw-r--r--clang/lib/Sema/SemaDeclCXX.cpp30
1 files changed, 2 insertions, 28 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index aa36a79142e5..8030aac3d877 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -11139,11 +11139,9 @@ bool Sema::CheckDestructor(CXXDestructorDecl *Destructor) {
else
Loc = RD->getLocation();
- DeclarationName Name =
- Context.DeclarationNames.getCXXOperatorName(OO_Delete);
// If we have a virtual destructor, look up the deallocation function
if (FunctionDecl *OperatorDelete = FindDeallocationFunctionForDestructor(
- Loc, RD, /*Diagnose=*/true, /*LookForGlobal=*/false, Name)) {
+ Loc, RD, /*Diagnose=*/true, /*LookForGlobal=*/false)) {
Expr *ThisArg = nullptr;
// If the notional 'delete this' expression requires a non-trivial
@@ -11191,33 +11189,9 @@ bool Sema::CheckDestructor(CXXDestructorDecl *Destructor) {
// delete calls that require it.
FunctionDecl *GlobalOperatorDelete =
FindDeallocationFunctionForDestructor(Loc, RD, /*Diagnose*/ false,
- /*LookForGlobal*/ true, Name);
+ /*LookForGlobal*/ true);
Destructor->setOperatorGlobalDelete(GlobalOperatorDelete);
}
-
- if (Context.getTargetInfo().emitVectorDeletingDtors(
- Context.getLangOpts())) {
- // Lookup delete[] too in case we have to emit a vector deleting dtor.
- DeclarationName VDeleteName =
- Context.DeclarationNames.getCXXOperatorName(OO_Array_Delete);
- FunctionDecl *ArrOperatorDelete = FindDeallocationFunctionForDestructor(
- Loc, RD, /*Diagnose*/ false,
- /*LookForGlobal*/ false, VDeleteName);
- if (ArrOperatorDelete && isa<CXXMethodDecl>(ArrOperatorDelete)) {
- FunctionDecl *GlobalArrOperatorDelete =
- FindDeallocationFunctionForDestructor(Loc, RD, /*Diagnose*/ false,
- /*LookForGlobal*/ true,
- VDeleteName);
- Destructor->setGlobalOperatorArrayDelete(GlobalArrOperatorDelete);
- } else if (!ArrOperatorDelete) {
- ArrOperatorDelete = FindDeallocationFunctionForDestructor(
- Loc, RD, /*Diagnose*/ false,
- /*LookForGlobal*/ true, VDeleteName);
- }
- assert(ArrOperatorDelete &&
- "Should've found at least global array delete");
- Destructor->setOperatorArrayDelete(ArrOperatorDelete);
- }
}
}