summaryrefslogtreecommitdiffstats
path: root/lldb/source/Target/Thread.cpp
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2012-07-31 22:19:25 +0000
committerSean Callanan <scallanan@apple.com>2012-07-31 22:19:25 +0000
commit708709c01502e55f6fb49ad45f2c9266fc5eac1b (patch)
treeadb604245a1270c13828943224be5696e3debc5b /lldb/source/Target/Thread.cpp
parent204720bc71f69a07f111dc4ea35b959921d18bbf (diff)
downloadbcm5719-llvm-708709c01502e55f6fb49ad45f2c9266fc5eac1b.tar.gz
bcm5719-llvm-708709c01502e55f6fb49ad45f2c9266fc5eac1b.zip
Fixed a problem where stepping out would turn into
a continue if the unwinder didn't unwind correctly. <rdar://problem/11989668> llvm-svn: 161086
Diffstat (limited to 'lldb/source/Target/Thread.cpp')
-rw-r--r--lldb/source/Target/Thread.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/lldb/source/Target/Thread.cpp b/lldb/source/Target/Thread.cpp
index 5eeaca83552..cbd751367f7 100644
--- a/lldb/source/Target/Thread.cpp
+++ b/lldb/source/Target/Thread.cpp
@@ -975,8 +975,16 @@ Thread::QueueThreadPlanForStepOut
stop_vote,
run_vote,
frame_idx));
- QueueThreadPlan (thread_plan_sp, abort_other_plans);
- return thread_plan_sp.get();
+
+ if (thread_plan_sp->ValidatePlan(NULL))
+ {
+ QueueThreadPlan (thread_plan_sp, abort_other_plans);
+ return thread_plan_sp.get();
+ }
+ else
+ {
+ return NULL;
+ }
}
ThreadPlan *
OpenPOWER on IntegriCloud