Fix the error message when an expression evaluation is interrupted by a crash/breakpoint hit to 
give the reason for the interrupt. Also make sure it we don't want to unwind from the evaluation
we print something if it is interrupted.

llvm-svn: 131448
diff --git a/lldb/source/Expression/ClangUserExpression.cpp b/lldb/source/Expression/ClangUserExpression.cpp
index 6eafd7b..563c28a 100644
--- a/lldb/source/Expression/ClangUserExpression.cpp
+++ b/lldb/source/Expression/ClangUserExpression.cpp
@@ -504,7 +504,7 @@
         
         lldb::addr_t function_stack_pointer = static_cast<ThreadPlanCallFunction *>(call_plan_sp.get())->GetFunctionStackPointer();
     
-        call_plan_sp->SetPrivate(true);
+        // call_plan_sp->SetPrivate(true);
     
         uint32_t single_thread_timeout_usec = 500000;
         
@@ -524,10 +524,23 @@
 
         if (execution_result == eExecutionInterrupted)
         {
-            if (discard_on_error)
-                error_stream.Printf ("Expression execution was interrupted.  The process has been returned to the state before execution.");
+            const char *error_desc = NULL;
+            
+            if (call_plan_sp)
+            {
+                lldb::StopInfoSP real_stop_info_sp = call_plan_sp->GetRealStopInfo();
+                if (real_stop_info_sp)
+                    error_desc = real_stop_info_sp->GetDescription();
+            }
+            if (error_desc)
+                error_stream.Printf ("Execution was interrupted, reason: %s.", error_desc);
             else
-                error_stream.Printf ("Expression execution was interrupted.  The process has been left at the point where it was interrupted.");
+                error_stream.Printf ("Execution was interrupted.", error_desc);
+                
+            if (discard_on_error)
+                error_stream.Printf ("\nThe process has been returned to the state before execution.");
+            else
+                error_stream.Printf ("\nThe process has been left at the point where it was interrupted.");
 
             return execution_result;
         }