diff --git a/clang/lib/Sema/SemaCodeComplete.cpp b/clang/lib/Sema/SemaCodeComplete.cpp index cc08dee26613..b86bfe869c69 100644 --- a/clang/lib/Sema/SemaCodeComplete.cpp +++ b/clang/lib/Sema/SemaCodeComplete.cpp @@ -5519,9 +5519,10 @@ QualType getApproximateType(const Expr *E) { : getApproximateType(CDSME->getBase()); if (CDSME->isArrow() && !Base.isNull()) Base = Base->getPointeeType(); // could handle unique_ptr etc here? - auto *RD = Base.isNull() - ? nullptr - : llvm::dyn_cast(getAsRecordDecl(Base)); + auto *RD = + Base.isNull() + ? nullptr + : llvm::dyn_cast_or_null(getAsRecordDecl(Base)); if (RD && RD->isCompleteDefinition()) { // Look up member heuristically, including in bases. for (const auto *Member : RD->lookupDependentName(