diff options
author | Jim Ingham <jingham@apple.com> | 2014-08-06 01:49:59 +0000 |
---|---|---|
committer | Jim Ingham <jingham@apple.com> | 2014-08-06 01:49:59 +0000 |
commit | 862d1bbdf6f763b93e42ac1419f58e01f02be37f (patch) | |
tree | 3e24ec7df73f2ceb6de3b63cf94c5efd4b4f4f80 /lldb/source/Target/ThreadPlanStepOverRange.cpp | |
parent | 515c24b7e05c68fe71db4783e1398357ea6fc7a4 (diff) | |
download | bcm5719-llvm-862d1bbdf6f763b93e42ac1419f58e01f02be37f.tar.gz bcm5719-llvm-862d1bbdf6f763b93e42ac1419f58e01f02be37f.zip |
When stepping, handle the case where the step leaves us with
the same parent frame, but different current frame - e.g. when
you step past a tail call exit from a function. Apply the same
"avoid-no-debug" rules to this case as for a "step-in".
<rdar://problem/16189225>
llvm-svn: 214946
Diffstat (limited to 'lldb/source/Target/ThreadPlanStepOverRange.cpp')
-rw-r--r-- | lldb/source/Target/ThreadPlanStepOverRange.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lldb/source/Target/ThreadPlanStepOverRange.cpp b/lldb/source/Target/ThreadPlanStepOverRange.cpp index 8363183a420..a4f3743346e 100644 --- a/lldb/source/Target/ThreadPlanStepOverRange.cpp +++ b/lldb/source/Target/ThreadPlanStepOverRange.cpp @@ -90,6 +90,10 @@ ThreadPlanStepOverRange::SetupAvoidNoDebug(LazyBool step_out_avoids_code_without GetFlags().Set (ThreadPlanShouldStopHere::eStepOutAvoidNoDebug); else GetFlags().Clear (ThreadPlanShouldStopHere::eStepOutAvoidNoDebug); + // Step Over plans should always avoid no-debug on step in. Seems like you shouldn't + // have to say this, but a tail call looks more like a step in that a step out, so + // we want to catch this case. + GetFlags().Set (ThreadPlanShouldStopHere::eStepInAvoidNoDebug); } bool |