================
@@ -1376,8 +1379,8 @@ StoreRef RegionStoreManager::invalidateRegions(
   }
 
   RegionBindingsRef B = getRegionBindings(store);
-  InvalidateRegionsWorker W(*this, StateMgr, B, S, Count, LCtx, IS, ITraits,
-                            Invalidated, GlobalsFilter);
+  InvalidateRegionsWorker W(*this, StateMgr, B, Call->getCFGElementRef(), 
Count,
----------------
isuckatcs wrote:

Here we initially passed `const Stmt *S` to the worker, so we should pass the 
`CFGElementRef` of `const Stmt *S` and not what we obtain from the call, I 
guess.

As for that, you can pass it down from the only callsite of this function, as 
you have access to the engine.
```c++
ProgramStateRef ProgramState::invalidateRegions(
  ...
  ExprEngine &Eng = Mgr.getOwningEngine()
  ...
  const StoreRef &NewStore = Mgr.StoreMgr->invalidateRegions(
      getStore(), Values, Eng.getCFGElementRef(), Count, LCtx, Call, *IS,
      *ITraits, &TopLevelInvalidated, &Invalidated);
  ...
}
```

I don't know if that's a reference that we want here, but with trial and error 
we will see.

https://github.com/llvm/llvm-project/pull/128251
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to