https://github.com/zahiraam updated https://github.com/llvm/llvm-project/pull/159566
>From 5b78181faf98d419ad96b95c089e6046e604a104 Mon Sep 17 00:00:00 2001 From: Zahira Ammarguellat <zahira.ammarguel...@intel.com> Date: Thu, 18 Sep 2025 05:50:57 -0700 Subject: [PATCH 1/2] [Clangd] Fix dereference of null value --- clang-tools-extra/clangd/AST.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/clang-tools-extra/clangd/AST.cpp b/clang-tools-extra/clangd/AST.cpp index 2f46ecc92576c..55055cd3f8f11 100644 --- a/clang-tools-extra/clangd/AST.cpp +++ b/clang-tools-extra/clangd/AST.cpp @@ -145,8 +145,11 @@ std::string getQualification(ASTContext &Context, for (const auto *CurD : llvm::reverse(Parents)) { if (auto *TD = llvm::dyn_cast<TagDecl>(CurD)) { QualType T; - if (const auto *RD = dyn_cast<CXXRecordDecl>(TD); - ClassTemplateDecl *CTD = RD->getDescribedClassTemplate()) { + const auto *RD = dyn_cast<CXXRecordDecl>(TD); + ClassTemplateDecl *CTD = nullptr; + if (RD) + CTD = RD->getDescribedClassTemplate(); + if (RD && CTD) { ArrayRef<TemplateArgument> Args; if (const auto *SD = dyn_cast<ClassTemplateSpecializationDecl>(RD)) Args = SD->getTemplateArgs().asArray(); >From f12b34f8f85e9c4a82b4920c126e0c6f5cf11825 Mon Sep 17 00:00:00 2001 From: Zahira Ammarguellat <zahira.ammarguel...@intel.com> Date: Thu, 18 Sep 2025 09:11:04 -0700 Subject: [PATCH 2/2] Addressed review comments --- clang-tools-extra/clangd/AST.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/clang-tools-extra/clangd/AST.cpp b/clang-tools-extra/clangd/AST.cpp index 55055cd3f8f11..d541e51e56d87 100644 --- a/clang-tools-extra/clangd/AST.cpp +++ b/clang-tools-extra/clangd/AST.cpp @@ -145,11 +145,8 @@ std::string getQualification(ASTContext &Context, for (const auto *CurD : llvm::reverse(Parents)) { if (auto *TD = llvm::dyn_cast<TagDecl>(CurD)) { QualType T; - const auto *RD = dyn_cast<CXXRecordDecl>(TD); - ClassTemplateDecl *CTD = nullptr; - if (RD) - CTD = RD->getDescribedClassTemplate(); - if (RD && CTD) { + if (const auto *RD = cast<CXXRecordDecl>(TD); + ClassTemplateDecl *CTD = RD->getDescribedClassTemplate()) { ArrayRef<TemplateArgument> Args; if (const auto *SD = dyn_cast<ClassTemplateSpecializationDecl>(RD)) Args = SD->getTemplateArgs().asArray(); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits