diff options
Diffstat (limited to 'lldb/source/Expression')
-rw-r--r-- | lldb/source/Expression/IRExecutionUnit.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lldb/source/Expression/IRExecutionUnit.cpp b/lldb/source/Expression/IRExecutionUnit.cpp index 25d4a87..60b9de0 100644 --- a/lldb/source/Expression/IRExecutionUnit.cpp +++ b/lldb/source/Expression/IRExecutionUnit.cpp @@ -751,7 +751,12 @@ ResolveFunctionCallLabel(FunctionCallLabel &label, sc_list.Append(*sc_or_err); LoadAddressResolver resolver(*sc.target_sp, symbol_was_missing_weak); - return resolver.Resolve(sc_list).value_or(LLDB_INVALID_ADDRESS); + lldb::addr_t resolved_addr = + resolver.Resolve(sc_list).value_or(LLDB_INVALID_ADDRESS); + if (resolved_addr == LLDB_INVALID_ADDRESS) + return llvm::createStringError("couldn't resolve address for function"); + + return resolved_addr; } lldb::addr_t |