[llvm-branch-commits] [clang] [FlowSensitive] [StatusOr] [14/N] Support nested StatusOrs (PR #170950)
Florian Mayer via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed Dec 10 13:59:09 PST 2025
https://github.com/fmayer updated https://github.com/llvm/llvm-project/pull/170950
>From 454f37b0be36c89c66108fc19f159d4a1d919f51 Mon Sep 17 00:00:00 2001
From: Florian Mayer <fmayer at google.com>
Date: Wed, 10 Dec 2025 13:58:55 -0800
Subject: [PATCH] types
Created using spr 1.3.7
---
.../Models/UncheckedStatusOrAccessModel.cpp | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp b/clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
index c42661a61add4..a3c5469abd6b4 100644
--- a/clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
+++ b/clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
@@ -1044,7 +1044,7 @@ transferAssertionResultOperatorBoolCall(const CXXMemberCallExpr *Expr,
State.Env.setValue(*Expr, Res);
}
-static void transferDerefCall(const CallExpr *Expr,
+static void transferDerefCall(const CXXOperatorCallExpr *Expr,
const MatchFinder::MatchResult &,
LatticeTransferState &State) {
auto *StatusOrLoc = State.Env.get<RecordStorageLocation>(*Expr->getArg(0));
@@ -1054,7 +1054,7 @@ static void transferDerefCall(const CallExpr *Expr,
StatusOrLoc->getSyntheticField("value"));
}
-static void transferArrowCall(const CallExpr *Expr,
+static void transferArrowCall(const CXXOperatorCallExpr *Expr,
const MatchFinder::MatchResult &,
LatticeTransferState &State) {
auto *StatusOrLoc = State.Env.get<RecordStorageLocation>(*Expr->getArg(0));
@@ -1160,10 +1160,10 @@ buildTransferMatchSwitch(ASTContext &Ctx,
transferValueAssignmentCall)
.CaseOfCFGStmt<CXXConstructExpr>(isStatusOrValueConstructor(),
transferValueConstructor)
- .CaseOfCFGStmt<CallExpr>(isStatusOrOperatorCallWithName("->"),
- transferArrowCall)
- .CaseOfCFGStmt<CallExpr>(isStatusOrOperatorCallWithName("*"),
- transferDerefCall)
+ .CaseOfCFGStmt<CXXOperatorCallExpr>(isStatusOrOperatorCallWithName("->"),
+ transferArrowCall)
+ .CaseOfCFGStmt<CXXOperatorCallExpr>(isStatusOrOperatorCallWithName("*"),
+ transferDerefCall)
.CaseOfCFGStmt<CXXMemberCallExpr>(isStatusOrMemberCallWithName("value"),
transferValueCall)
.CaseOfCFGStmt<CallExpr>(isAsStatusCallWithStatus(),
More information about the llvm-branch-commits
mailing list