https://github.com/kazutakahirata created
https://github.com/llvm/llvm-project/pull/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
>From 792687c0a01347aec6b70aaa3e90977880a45f46 Mon Sep 17 00:00:00 2001
From: Kazu Hirata <[email protected]>
Date: Mon, 5 Oct 2026 10:41:41 -0700
Subject: [PATCH] [clang] Replace PointerUnion::dyn_cast with llvm::dyn_cast
(NFC)
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
---
clang/include/clang/AST/DeclTemplate.h | 8 ++++----
clang/lib/AST/DeclTemplate.cpp | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)
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