https://github.com/kazutakahirata created
https://github.com/llvm/llvm-project/pull/230747
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.
{Class,Var}TemplateSpecializationDecl::getSpecializedTemplateOrPartial()
always returns a nonnull pointer by construction regardless of whether
the specialization is from a primary template or a partial
specialization.
Assisted-by: Antigravity
>From 4fe6c3242620a6e0b653a1b1eb8c364bb2cdd345 Mon Sep 17 00:00:00 2001
From: Kazu Hirata <[email protected]>
Date: Fri, 9 Oct 2026 01:49:22 -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.
{Class,Var}TemplateSpecializationDecl::getSpecializedTemplateOrPartial()
always returns a nonnull pointer by construction regardless of whether
the specialization is from a primary template or a partial
specialization.
Assisted-by: Antigravity
---
clang/lib/Sema/SemaTemplate.cpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/clang/lib/Sema/SemaTemplate.cpp b/clang/lib/Sema/SemaTemplate.cpp
index 8e7433bc712813..4406e81d189b62 100644
--- a/clang/lib/Sema/SemaTemplate.cpp
+++ b/clang/lib/Sema/SemaTemplate.cpp
@@ -11955,10 +11955,10 @@ class ExplicitSpecializationVisibilityChecker {
return;
auto From = SD->getSpecializedTemplateOrPartial();
- if (auto *TD = From.dyn_cast<ClassTemplateDecl *>())
+ if (auto *TD = dyn_cast<ClassTemplateDecl *>(From))
checkTemplate(TD);
else if (auto *TD =
- From.dyn_cast<ClassTemplatePartialSpecializationDecl *>()) {
+ dyn_cast<ClassTemplatePartialSpecializationDecl *>(From)) {
if (!CheckDeclaration(TD))
diagnose(TD, true);
checkTemplate(TD);
@@ -11971,10 +11971,10 @@ class ExplicitSpecializationVisibilityChecker {
return;
auto From = SD->getSpecializedTemplateOrPartial();
- if (auto *TD = From.dyn_cast<VarTemplateDecl *>())
+ if (auto *TD = dyn_cast<VarTemplateDecl *>(From))
checkTemplate(TD);
else if (auto *TD =
- From.dyn_cast<VarTemplatePartialSpecializationDecl *>()) {
+ dyn_cast<VarTemplatePartialSpecializationDecl *>(From)) {
if (!CheckDeclaration(TD))
diagnose(TD, true);
checkTemplate(TD);
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits