diff --git a/clang/lib/Analysis/UnsafeBufferUsage.cpp b/clang/lib/Analysis/UnsafeBufferUsage.cpp index d941cf5fe74f50..7dd9e918b0c2ee 100644 --- a/clang/lib/Analysis/UnsafeBufferUsage.cpp +++ b/clang/lib/Analysis/UnsafeBufferUsage.cpp @@ -108,8 +108,9 @@ class MatchDescendantVisitor }; AST_MATCHER_P(Stmt, forEveryDescendant, internal::Matcher, innerMatcher) { - MatchDescendantVisitor Visitor(new DynTypedMatcher(innerMatcher), Finder, - Builder, ASTMatchFinder::BK_All); + const DynTypedMatcher &DTM = static_cast(innerMatcher); + + MatchDescendantVisitor Visitor(&DTM, Finder, Builder, ASTMatchFinder::BK_All); return Visitor.findMatch(DynTypedNode::create(Node)); } } // namespace clang::ast_matchers