[clang] [analyzer][NFC] Merge `BlockInvocationContext` class into `StackFrameContext` (PR #194857)
Balázs Benics via cfe-commits
cfe-commits at lists.llvm.org
Fri May 1 03:23:48 PDT 2026
================
@@ -1004,15 +1004,15 @@ getStackOrCaptureRegionForDeclContext(const LocationContext *LC,
if (const auto *SFC = dyn_cast<StackFrameContext>(LC)) {
if (cast<DeclContext>(SFC->getDecl()) == DC)
return SFC;
- }
- if (const auto *BC = dyn_cast<BlockInvocationContext>(LC)) {
- const auto *BR = static_cast<const BlockDataRegion *>(BC->getData());
- // FIXME: This can be made more efficient.
- for (auto Var : BR->referenced_vars()) {
- const TypedValueRegion *OrigR = Var.getOriginalRegion();
- if (const auto *VR = dyn_cast<VarRegion>(OrigR)) {
- if (VR->getDecl() == VD)
- return cast<VarRegion>(Var.getCapturedRegion());
+ if (SFC->getData()) {
+ // FIXME: This can be made more efficient.
+ for (auto Var : static_cast<const BlockDataRegion *>(SFC->getData())
+ ->referenced_vars()) {
----------------
steakhal wrote:
```suggestion
if (const auto *BDR =
static_cast<const BlockDataRegion *>(SFC->getData())) {
// FIXME: This can be made more efficient.
for (auto Var : BDR->referenced_vars()) {
```
https://github.com/llvm/llvm-project/pull/194857
More information about the cfe-commits
mailing list