[clang] [AST] Migrate away from PointerUnion::dyn_cast (NFC) (PR #124502)
via cfe-commits
cfe-commits at lists.llvm.org
Sun Jan 26 20:36:31 PST 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
Author: Kazu Hirata (kazutakahirata)
<details>
<summary>Changes</summary>
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we expect TemplateOrSpecialization to be nonnull.
---
Full diff: https://github.com/llvm/llvm-project/pull/124502.diff
1 Files Affected:
- (modified) clang/lib/AST/Decl.cpp (+6-5)
``````````diff
diff --git a/clang/lib/AST/Decl.cpp b/clang/lib/AST/Decl.cpp
index 74bcb618f2950f..303564d7d18d36 100644
--- a/clang/lib/AST/Decl.cpp
+++ b/clang/lib/AST/Decl.cpp
@@ -4356,9 +4356,9 @@ FunctionDecl::getTemplateSpecializationKindForInstantiation() const {
void
FunctionDecl::setTemplateSpecializationKind(TemplateSpecializationKind TSK,
SourceLocation PointOfInstantiation) {
- if (FunctionTemplateSpecializationInfo *FTSInfo
- = TemplateOrSpecialization.dyn_cast<
- FunctionTemplateSpecializationInfo*>()) {
+ if (FunctionTemplateSpecializationInfo *FTSInfo =
+ dyn_cast<FunctionTemplateSpecializationInfo *>(
+ TemplateOrSpecialization)) {
FTSInfo->setTemplateSpecializationKind(TSK);
if (TSK != TSK_ExplicitSpecialization &&
PointOfInstantiation.isValid() &&
@@ -4367,8 +4367,9 @@ FunctionDecl::setTemplateSpecializationKind(TemplateSpecializationKind TSK,
if (ASTMutationListener *L = getASTContext().getASTMutationListener())
L->InstantiationRequested(this);
}
- } else if (MemberSpecializationInfo *MSInfo
- = TemplateOrSpecialization.dyn_cast<MemberSpecializationInfo*>()) {
+ } else if (MemberSpecializationInfo *MSInfo =
+ dyn_cast<MemberSpecializationInfo *>(
+ TemplateOrSpecialization)) {
MSInfo->setTemplateSpecializationKind(TSK);
if (TSK != TSK_ExplicitSpecialization &&
PointOfInstantiation.isValid() &&
``````````
</details>
https://github.com/llvm/llvm-project/pull/124502
More information about the cfe-commits
mailing list