If a hand-called function is interrupted by hitting a breakpoint, then 
when you continue to finish off the function call, the expression result
will be included as part of the thread stop info.

llvm-svn: 212506
diff --git a/lldb/source/Target/Thread.cpp b/lldb/source/Target/Thread.cpp
index 89d4359..3aa7fbc 100644
--- a/lldb/source/Target/Thread.cpp
+++ b/lldb/source/Target/Thread.cpp
@@ -420,7 +420,7 @@
     const uint32_t stop_id = process_sp ? process_sp->GetStopID() : UINT32_MAX;
     if (plan_sp && plan_sp->PlanSucceeded())
     {
-        return StopInfo::CreateStopReasonWithPlan (plan_sp, GetReturnValueObject());
+        return StopInfo::CreateStopReasonWithPlan (plan_sp, GetReturnValueObject(), GetExpressionVariable());
     }
     else
     {
@@ -1184,6 +1184,22 @@
     return ValueObjectSP();
 }
 
+ClangExpressionVariableSP
+Thread::GetExpressionVariable ()
+{
+    if (!m_completed_plan_stack.empty())
+    {
+        for (int i = m_completed_plan_stack.size() - 1; i >= 0; i--)
+        {
+            ClangExpressionVariableSP expression_variable_sp;
+            expression_variable_sp = m_completed_plan_stack[i]->GetExpressionVariable();
+            if (expression_variable_sp)
+            return expression_variable_sp;
+        }
+    }
+    return ClangExpressionVariableSP();
+}
+
 bool
 Thread::IsThreadPlanDone (ThreadPlan *plan)
 {