diff options
| author | Jim Ingham <jingham@apple.com> | 2010-11-05 19:25:48 +0000 |
|---|---|---|
| committer | Jim Ingham <jingham@apple.com> | 2010-11-05 19:25:48 +0000 |
| commit | 399f1cafa64b9dc15be5b8b48bfd12d5449e5b6e (patch) | |
| tree | 1d757ec2b7949c08bcc1260ad9392327c422040a /lldb/source/Expression/ClangUserExpression.cpp | |
| parent | 2bab7570f5a4930f25f748bdc7d5187c6f4cb383 (diff) | |
| download | bcm5719-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.cpp | 12 |
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"); |

