This commit does two things. One, it converts the return value of the QueueThreadPlanXXX
authorJim Ingham <jingham@apple.com>
Thu, 18 Jul 2013 21:48:26 +0000 (21:48 +0000)
committerJim Ingham <jingham@apple.com>
Thu, 18 Jul 2013 21:48:26 +0000 (21:48 +0000)
commit4d56e9c1cb7c010ed1bccff952fc5c879bd1aba6
treee274891b824d661bf9ca99d3bef0d2eb22011208
parent5937ec7502cebb8f56d15a6a3183ab69ef43ff29
This commit does two things.  One, it converts the return value of the QueueThreadPlanXXX
plan providers from a "ThreadPlan *" to a "lldb::ThreadPlanSP".  That was needed to fix
a bug where the ThreadPlanStepInRange wasn't checking with its sub-plans to make sure they
succeed before trying to proceed further.  If the sub-plan failed and as a result didn't make
any progress, you could end up retrying the same failing algorithm in an infinite loop.

<rdar://problem/14043602>

llvm-svn: 186618
17 files changed:
lldb/include/lldb/Target/Thread.h
lldb/include/lldb/Target/ThreadPlanBase.h
lldb/include/lldb/Target/ThreadPlanShouldStopHere.h
lldb/include/lldb/Target/ThreadPlanStepInRange.h
lldb/include/lldb/Target/ThreadPlanStepInstruction.h
lldb/include/lldb/Target/ThreadPlanStepOut.h
lldb/include/lldb/Target/ThreadPlanStepThrough.h
lldb/include/lldb/Target/ThreadPlanStepUntil.h
lldb/include/lldb/lldb-private-interfaces.h
lldb/source/API/SBThread.cpp
lldb/source/Commands/CommandObjectThread.cpp
lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp
lldb/source/Target/StopInfo.cpp
lldb/source/Target/Thread.cpp
lldb/source/Target/ThreadPlanShouldStopHere.cpp
lldb/source/Target/ThreadPlanStepInRange.cpp
lldb/source/Target/ThreadPlanStepOverRange.cpp