Fixed error handling when the utility functions
that check pointer validity fail to parse.  Now
lldb does not crash in that case.  Also added
support for checking Objective-C class validity
in the Version 1 runtime as well as Version 2
runtimes with varying levels of available debug
support.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@118271 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Expression/ClangUserExpression.cpp b/source/Expression/ClangUserExpression.cpp
index 5181c98..e75c323 100644
--- a/source/Expression/ClangUserExpression.cpp
+++ b/source/Expression/ClangUserExpression.cpp
@@ -449,8 +449,16 @@
         StreamString install_errors;
         
         if (!dynamic_checkers->Install(install_errors, exe_ctx))
+        {
+            if (install_errors.GetString().empty())
+                error.SetErrorString ("couldn't install checkers, unknown error");
+            else
+                error.SetErrorString (install_errors.GetString().c_str());
+            
+            result_valobj_sp.reset (new ValueObjectConstResult (error));
             return result_valobj_sp;
-        
+        }
+            
         exe_ctx.process->SetDynamicCheckers(dynamic_checkers);
     }