Skip to content

Commit 62c02a9

Browse files
Change GetExpressionEntryAtAddress to return std::optional instead of llvm::Expected
1 parent c4cd77f commit 62c02a9

File tree

2 files changed

+4
-5
lines changed

2 files changed

+4
-5
lines changed

lldb/include/lldb/Expression/DWARFExpressionList.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ class DWARFExpressionList {
7070
/// Returns a DWARFExpressionEntry whose file_range contains the given
7171
/// load‐address. `func_load_addr` is the load‐address of the function
7272
/// start; `load_addr` is the full runtime PC. On success, `expr` is non-null.
73-
llvm::Expected<DWARFExpressionEntry>
73+
std::optional<DWARFExpressionEntry>
7474
GetExpressionEntryAtAddress(lldb::addr_t func_load_addr,
7575
lldb::addr_t load_addr) const;
7676

lldb/source/Expression/DWARFExpressionList.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ bool DWARFExpressionList::ContainsAddress(lldb::addr_t func_load_addr,
5454
return GetExpressionAtAddress(func_load_addr, addr) != nullptr;
5555
}
5656

57-
llvm::Expected<DWARFExpressionList::DWARFExpressionEntry>
57+
std::optional<DWARFExpressionList::DWARFExpressionEntry>
5858
DWARFExpressionList::GetExpressionEntryAtAddress(lldb::addr_t func_load_addr,
5959
lldb::addr_t load_addr) const {
6060
if (const DWARFExpression *always = GetAlwaysValidExpr()) {
@@ -74,9 +74,8 @@ DWARFExpressionList::GetExpressionEntryAtAddress(lldb::addr_t func_load_addr,
7474
return DWARFExpressionEntry{range_in_file, &entry->data};
7575
}
7676

77-
return llvm::createStringError(
78-
llvm::inconvertibleErrorCode(),
79-
"no DWARF location list entry for PC 0x%" PRIx64, load_addr);
77+
// No entry covers this PC:
78+
return std::nullopt;
8079
}
8180

8281
const DWARFExpression *

0 commit comments

Comments
 (0)