@@ -304,24 +304,27 @@ class ProgramState : public llvm::FoldingSetNode {
304
304
305
305
[[nodiscard]] ProgramStateRef killBinding (Loc LV) const ;
306
306
307
- // / Returns the state with bindings for the given regions
308
- // / cleared from the store.
307
+ // / Returns the state with bindings for the given regions cleared from the
308
+ // / store. If \p Call is non-null, also invalidates global regions (but if
309
+ // / \p Call is from a system header, then this is limited to globals declared
310
+ // / in system headers).
309
311
// /
310
- // / Optionally invalidates global regions as well.
312
+ // / This calls the lower-level method \c StoreManager::invalidateRegions to
313
+ // / do the actual invalidation, then calls the checker callbacks which should
314
+ // / be triggered by this event.
311
315
// /
312
316
// / \param Regions the set of regions to be invalidated.
313
317
// / \param E the expression that caused the invalidation.
314
318
// / \param BlockCount The number of times the current basic block has been
315
- // visited.
316
- // / \param CausesPointerEscape the flag is set to true when
317
- // / the invalidation entails escape of a symbol (representing a
318
- // / pointer). For example, due to it being passed as an argument in a
319
- // / call.
319
+ // / visited.
320
+ // / \param CausesPointerEscape the flag is set to true when the invalidation
321
+ // / entails escape of a symbol (representing a pointer). For example,
322
+ // / due to it being passed as an argument in a call.
320
323
// / \param IS the set of invalidated symbols.
321
324
// / \param Call if non-null, the invalidated regions represent parameters to
322
325
// / the call and should be considered directly invalidated.
323
- // / \param ITraits information about special handling for a particular
324
- // / region/symbol .
326
+ // / \param ITraits information about special handling for particular regions
327
+ // / or symbols .
325
328
[[nodiscard]] ProgramStateRef
326
329
invalidateRegions (ArrayRef<const MemRegion *> Regions, const Expr *E,
327
330
unsigned BlockCount, const LocationContext *LCtx,
@@ -330,7 +333,7 @@ class ProgramState : public llvm::FoldingSetNode {
330
333
RegionAndSymbolInvalidationTraits *ITraits = nullptr ) const ;
331
334
332
335
[[nodiscard]] ProgramStateRef
333
- invalidateRegions (ArrayRef<SVal> Regions , const Expr *E, unsigned BlockCount,
336
+ invalidateRegions (ArrayRef<SVal> Values , const Expr *E, unsigned BlockCount,
334
337
const LocationContext *LCtx, bool CausesPointerEscape,
335
338
InvalidatedSymbols *IS = nullptr ,
336
339
const CallEvent *Call = nullptr ,
0 commit comments