[clang] [analyzer] Avoid use of `CallEvent`s with obsolete state (PR #160707)

Balazs Benics via cfe-commits cfe-commits at lists.llvm.org
Fri Sep 26 08:55:50 PDT 2025


================
@@ -731,33 +731,36 @@ void CheckerManager::runCheckersForEvalCall(ExplodedNodeSet &Dst,
     ExplodedNodeSet checkDst;
     NodeBuilder B(Pred, checkDst, Eng.getBuilderContext());
 
+    ProgramStateRef State = Pred->getState();
+    CallEventRef<> UpdatedCall = Call.cloneWithState(State);
----------------
steakhal wrote:

Why do we need to have an updated call here?
The original Call was supposed to be wrapping the Pred state, that we wrap here again.

In other words, I think `UpdatedCall` is always the same as `Call` here. So why don't we just use `Call`?

https://github.com/llvm/llvm-project/pull/160707


More information about the cfe-commits mailing list