Author: Kazu Hirata Date: 2026-10-06T08:09:37Z New Revision: 0e12b52c055a01ef86f8e579a82991bf8bee0cbe
URL: https://github.com/llvm/llvm-project/commit/0e12b52c055a01ef86f8e579a82991bf8bee0cbe DIFF: https://github.com/llvm/llvm-project/commit/0e12b52c055a01ef86f8e579a82991bf8bee0cbe.diff LOG: [clang] Replace PointerUnion::dyn_cast with llvm::dyn_cast (NFC) (#229325) PointerUnion::dyn_cast has been soft-deprecated in favor of llvm::dyn_cast and llvm::dyn_cast_if_present. This patch replaces the former with llvm::dyn_cast where the operand is guaranteed to be nonnull. Note that {Class,Var}TemplateSpecializationDecl::SpecializedTemplate is always initialized to a nonnull pointer. Assisted-by: Antigravity Added: Modified: clang/include/clang/AST/DeclTemplate.h clang/lib/AST/DeclTemplate.cpp Removed: ################################################################################ diff --git a/clang/include/clang/AST/DeclTemplate.h b/clang/include/clang/AST/DeclTemplate.h index d32b044ef40e2..575ca86155742 100644 --- a/clang/include/clang/AST/DeclTemplate.h +++ b/clang/include/clang/AST/DeclTemplate.h @@ -1993,7 +1993,7 @@ class ClassTemplateSpecializationDecl : public CXXRecordDecl, ClassTemplatePartialSpecializationDecl *> getSpecializedTemplateOrPartial() const { if (const auto *PartialSpec = - SpecializedTemplate.dyn_cast<SpecializedPartialSpecialization *>()) + dyn_cast<SpecializedPartialSpecialization *>(SpecializedTemplate)) return PartialSpec->PartialSpecialization; return cast<ClassTemplateDecl *>(SpecializedTemplate); @@ -2012,7 +2012,7 @@ class ClassTemplateSpecializationDecl : public CXXRecordDecl, /// itself. const TemplateArgumentList &getTemplateInstantiationArgs() const { if (const auto *PartialSpec = - SpecializedTemplate.dyn_cast<SpecializedPartialSpecialization *>()) + dyn_cast<SpecializedPartialSpecialization *>(SpecializedTemplate)) return *PartialSpec->TemplateArgs; return getTemplateArgs(); @@ -2766,7 +2766,7 @@ class VarTemplateSpecializationDecl : public VarDecl, llvm::PointerUnion<VarTemplateDecl *, VarTemplatePartialSpecializationDecl *> getSpecializedTemplateOrPartial() const { if (const auto *PartialSpec = - SpecializedTemplate.dyn_cast<SpecializedPartialSpecialization *>()) + dyn_cast<SpecializedPartialSpecialization *>(SpecializedTemplate)) return PartialSpec->PartialSpecialization; return cast<VarTemplateDecl *>(SpecializedTemplate); @@ -2785,7 +2785,7 @@ class VarTemplateSpecializationDecl : public VarDecl, /// specialization itself. const TemplateArgumentList &getTemplateInstantiationArgs() const { if (const auto *PartialSpec = - SpecializedTemplate.dyn_cast<SpecializedPartialSpecialization *>()) + dyn_cast<SpecializedPartialSpecialization *>(SpecializedTemplate)) return *PartialSpec->TemplateArgs; return getTemplateArgs(); diff --git a/clang/lib/AST/DeclTemplate.cpp b/clang/lib/AST/DeclTemplate.cpp index 00712c46b2a94..abcd035740916 100644 --- a/clang/lib/AST/DeclTemplate.cpp +++ b/clang/lib/AST/DeclTemplate.cpp @@ -1023,7 +1023,7 @@ void ClassTemplateSpecializationDecl::getNameForDiagnostic( ClassTemplateDecl * ClassTemplateSpecializationDecl::getSpecializedTemplate() const { if (const auto *PartialSpec = - SpecializedTemplate.dyn_cast<SpecializedPartialSpecialization*>()) + dyn_cast<SpecializedPartialSpecialization *>(SpecializedTemplate)) return PartialSpec->PartialSpecialization->getSpecializedTemplate(); return cast<ClassTemplateDecl *>(SpecializedTemplate); } @@ -1487,7 +1487,7 @@ void VarTemplateSpecializationDecl::getNameForDiagnostic( VarTemplateDecl *VarTemplateSpecializationDecl::getSpecializedTemplate() const { if (const auto *PartialSpec = - SpecializedTemplate.dyn_cast<SpecializedPartialSpecialization *>()) + dyn_cast<SpecializedPartialSpecialization *>(SpecializedTemplate)) return PartialSpec->PartialSpecialization->getSpecializedTemplate(); return cast<VarTemplateDecl *>(SpecializedTemplate); } _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
