Mercurial > hg > CbC > CbC_llvm
comparison lldb/source/Expression/LLVMUserExpression.cpp @ 173:0572611fdcc8 llvm10 llvm12
reorgnization done
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 11:55:54 +0900 |
parents | 1d019706d866 |
children | 2e18cbf3894f |
comparison
equal
deleted
inserted
replaced
172:9fbae9c8bf63 | 173:0572611fdcc8 |
---|---|
132 "%s called with no thread selected", | 132 "%s called with no thread selected", |
133 __FUNCTION__); | 133 __FUNCTION__); |
134 return lldb::eExpressionSetupError; | 134 return lldb::eExpressionSetupError; |
135 } | 135 } |
136 | 136 |
137 // Store away the thread ID for error reporting, in case it exits | |
138 // during execution: | |
139 lldb::tid_t expr_thread_id = exe_ctx.GetThreadRef().GetID(); | |
140 | |
137 Address wrapper_address(m_jit_start_addr); | 141 Address wrapper_address(m_jit_start_addr); |
138 | 142 |
139 std::vector<lldb::addr_t> args; | 143 std::vector<lldb::addr_t> args; |
140 | 144 |
141 if (!AddArguments(exe_ctx, args, struct_address, diagnostic_manager)) { | 145 if (!AddArguments(exe_ctx, args, struct_address, diagnostic_manager)) { |
221 "Execution was halted at the first instruction of the expression " | 225 "Execution was halted at the first instruction of the expression " |
222 "function because \"debug\" was requested.\n" | 226 "function because \"debug\" was requested.\n" |
223 "Use \"thread return -x\" to return to the state before expression " | 227 "Use \"thread return -x\" to return to the state before expression " |
224 "evaluation."); | 228 "evaluation."); |
225 return execution_result; | 229 return execution_result; |
230 } else if (execution_result == lldb::eExpressionThreadVanished) { | |
231 diagnostic_manager.Printf( | |
232 eDiagnosticSeverityError, | |
233 "Couldn't complete execution; the thread " | |
234 "on which the expression was being run: 0x%" PRIx64 | |
235 " exited during its execution.", | |
236 expr_thread_id); | |
237 return execution_result; | |
226 } else if (execution_result != lldb::eExpressionCompleted) { | 238 } else if (execution_result != lldb::eExpressionCompleted) { |
227 diagnostic_manager.Printf( | 239 diagnostic_manager.Printf( |
228 eDiagnosticSeverityError, "Couldn't execute function; result was %s", | 240 eDiagnosticSeverityError, "Couldn't execute function; result was %s", |
229 Process::ExecutionResultAsCString(execution_result)); | 241 Process::ExecutionResultAsCString(execution_result)); |
230 return execution_result; | 242 return execution_result; |