diff options
Diffstat (limited to 'clang/lib/Sema/SemaExprCXX.cpp')
| -rw-r--r-- | clang/lib/Sema/SemaExprCXX.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp index b88ee897523..c62159d001d 100644 --- a/clang/lib/Sema/SemaExprCXX.cpp +++ b/clang/lib/Sema/SemaExprCXX.cpp @@ -757,6 +757,10 @@ Sema::ActOnCXXDelete(SourceLocation StartLoc, bool UseGlobal, &DeleteArg, 1, Record, /*AllowMissing=*/true, OperatorDelete)) return ExprError(); + if (!Record->hasTrivialDestructor()) + if (const CXXDestructorDecl *Dtor = Record->getDestructor(Context)) + MarkDeclarationReferenced(StartLoc, + const_cast<CXXDestructorDecl*>(Dtor)); } if (!OperatorDelete) { |

