diff options
Diffstat (limited to 'lldb/source/Target')
| -rw-r--r-- | lldb/source/Target/Process.cpp | 4 | ||||
| -rw-r--r-- | lldb/source/Target/StopInfo.cpp | 11 | ||||
| -rw-r--r-- | lldb/source/Target/Target.cpp | 4 |
3 files changed, 11 insertions, 8 deletions
diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp index ef7c685458e..b36accbdf18 100644 --- a/lldb/source/Target/Process.cpp +++ b/lldb/source/Target/Process.cpp @@ -1154,7 +1154,7 @@ Process::LoadImage (const FileSpec &image_spec, Error &error) expr.Printf("dlopen (\"%s\", 2)", path); const char *prefix = "extern \"C\" void* dlopen (const char *path, int mode);\n"; lldb::ValueObjectSP result_valobj_sp; - ClangUserExpression::Evaluate (exe_ctx, unwind_on_error, expr.GetData(), prefix, result_valobj_sp); + ClangUserExpression::Evaluate (exe_ctx, eExecutionPolicyAlways, unwind_on_error, expr.GetData(), prefix, result_valobj_sp); error = result_valobj_sp->GetError(); if (error.Success()) { @@ -1218,7 +1218,7 @@ Process::UnloadImage (uint32_t image_token) expr.Printf("dlclose ((void *)0x%llx)", image_addr); const char *prefix = "extern \"C\" int dlclose(void* handle);\n"; lldb::ValueObjectSP result_valobj_sp; - ClangUserExpression::Evaluate (exe_ctx, unwind_on_error, expr.GetData(), prefix, result_valobj_sp); + ClangUserExpression::Evaluate (exe_ctx, eExecutionPolicyAlways, unwind_on_error, expr.GetData(), prefix, result_valobj_sp); if (result_valobj_sp->GetError().Success()) { Scalar scalar; diff --git a/lldb/source/Target/StopInfo.cpp b/lldb/source/Target/StopInfo.cpp index 79cdab4ed15..c0daf8a1fcf 100644 --- a/lldb/source/Target/StopInfo.cpp +++ b/lldb/source/Target/StopInfo.cpp @@ -194,11 +194,12 @@ public: const bool discard_on_error = true; Error error; result_code = ClangUserExpression::EvaluateWithError (context.exe_ctx, - discard_on_error, - bp_loc_sp->GetConditionText(), - NULL, - result_value_sp, - error); + eExecutionPolicyAlways, + discard_on_error, + bp_loc_sp->GetConditionText(), + NULL, + result_value_sp, + error); if (result_code == eExecutionCompleted) { if (result_value_sp) diff --git a/lldb/source/Target/Target.cpp b/lldb/source/Target/Target.cpp index 17c9550e053..607bb90b4cc 100644 --- a/lldb/source/Target/Target.cpp +++ b/lldb/source/Target/Target.cpp @@ -1133,6 +1133,7 @@ Target::EvaluateExpression ( const char *expr_cstr, StackFrame *frame, + lldb_private::ExecutionPolicy execution_policy, bool unwind_on_error, bool keep_in_memory, lldb::DynamicValueType use_dynamic, @@ -1242,8 +1243,9 @@ Target::EvaluateExpression else { const char *prefix = GetExpressionPrefixContentsAsCString(); - + execution_results = ClangUserExpression::Evaluate (exe_ctx, + execution_policy, unwind_on_error, expr_cstr, prefix, |

