aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
diff options
context:
space:
mode:
authorIgor Kudrin <ikudrin@accesssoftek.com>2025-10-08 16:30:24 -0700
committerGitHub <noreply@github.com>2025-10-08 16:30:24 -0700
commit64ed3903bbb56dd74e120e84442f4bbaae777eb3 (patch)
tree65e09c2c4db6f6663b00478b34777796f37331a6 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp
parent2ff3db0387589a1760cb06d244a4dbbf8af02469 (diff)
downloadllvm-64ed3903bbb56dd74e120e84442f4bbaae777eb3.zip
llvm-64ed3903bbb56dd74e120e84442f4bbaae777eb3.tar.gz
llvm-64ed3903bbb56dd74e120e84442f4bbaae777eb3.tar.bz2
[lldb] Fix stepping out if the return address is not allowed to stop at (#161982)
When a thread reaches a breakpoint at the return address set by `ThreadPlanStepOut`, `ThreadPlanStepOut::ShouldStop()` calls `ThreadPlanShouldStopHere::InvokeShouldStopHereCallback()`, and if it returns `false`, `ThreadPlanShouldStopHere::QueueStepOutFromHerePlan()` is called to queue a new plan to skip the corresponding range. Once the new plan finishes, `ThreadPlanStepOut::ShouldStop()` should recheck the stop condition; however, there is no code path in the method that sets `done` to `true`. Before #126838, if `done` was `false`, the method checked if a suitable frame had been reached. After the patch, the check is only performed at a breakpoint; thus, the execution continues. This patch causes `ThreadPlanStepOut::ShouldStop()` to recheck the stop condition when `m_step_out_further_plan_sp` completes.
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions