summaryrefslogtreecommitdiffstats
path: root/lldb/source/Expression/ClangUserExpression.cpp
diff options
context:
space:
mode:
authorJim Ingham <jingham@apple.com>2010-11-05 19:25:48 +0000
committerJim Ingham <jingham@apple.com>2010-11-05 19:25:48 +0000
commit399f1cafa64b9dc15be5b8b48bfd12d5449e5b6e (patch)
tree1d757ec2b7949c08bcc1260ad9392327c422040a /lldb/source/Expression/ClangUserExpression.cpp
parent2bab7570f5a4930f25f748bdc7d5187c6f4cb383 (diff)
downloadbcm5719-llvm-399f1cafa64b9dc15be5b8b48bfd12d5449e5b6e.tar.gz
bcm5719-llvm-399f1cafa64b9dc15be5b8b48bfd12d5449e5b6e.zip
Added the equivalent of gdb's "unwind-on-signal" to the expression command, and a parameter to control it in ClangUserExpression, and on down to ClangFunction.
llvm-svn: 118290
Diffstat (limited to 'lldb/source/Expression/ClangUserExpression.cpp')
-rw-r--r--lldb/source/Expression/ClangUserExpression.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/lldb/source/Expression/ClangUserExpression.cpp b/lldb/source/Expression/ClangUserExpression.cpp
index e75c323912c..87bf733605e 100644
--- a/lldb/source/Expression/ClangUserExpression.cpp
+++ b/lldb/source/Expression/ClangUserExpression.cpp
@@ -357,6 +357,7 @@ ClangUserExpression::FinalizeJITExecution (Stream &error_stream,
bool
ClangUserExpression::Execute (Stream &error_stream,
ExecutionContext &exe_ctx,
+ bool discard_on_error,
ClangExpressionVariable *&result)
{
if (m_dwarf_opcodes.get())
@@ -375,12 +376,15 @@ ClangUserExpression::Execute (Stream &error_stream,
PrepareToExecuteJITExpression (error_stream, exe_ctx, struct_address, object_ptr);
+ const bool stop_others = true;
+ const bool try_all_threads = true;
ClangFunction::ExecutionResults execution_result =
ClangFunction::ExecuteFunction (exe_ctx,
m_jit_addr,
struct_address,
- true,
- true,
+ stop_others,
+ try_all_threads,
+ discard_on_error,
10000000,
error_stream,
(m_needs_object_ptr ? &object_ptr : NULL));
@@ -430,9 +434,9 @@ ClangUserExpression::DwarfOpcodeStream ()
return *m_dwarf_opcodes.get();
}
-
lldb::ValueObjectSP
ClangUserExpression::Evaluate (ExecutionContext &exe_ctx,
+ bool discard_on_error,
const char *expr_cstr,
const char *expr_prefix)
{
@@ -479,7 +483,7 @@ ClangUserExpression::Evaluate (ExecutionContext &exe_ctx,
error_stream.GetString().clear();
- if (!user_expression.Execute (error_stream, exe_ctx, expr_result))
+ if (!user_expression.Execute (error_stream, exe_ctx, discard_on_error, expr_result))
{
if (error_stream.GetString().empty())
error.SetErrorString ("expression failed to execute, unknown error");
OpenPOWER on IntegriCloud