================
@@ -970,19 +969,21 @@ class CommandObjectThreadUntil : public 
CommandObjectParsed {
           return;
         }
 
-        AddressRange fun_addr_range = sc.function->GetAddressRange();
-        Address fun_start_addr = fun_addr_range.GetBaseAddress();
-        line_table->FindLineEntryByAddress(fun_start_addr, function_start,
-                                           &index_ptr);
-
-        Address fun_end_addr(fun_start_addr.GetSection(),
-                             fun_start_addr.GetOffset() +
-                                 fun_addr_range.GetByteSize());
-
-        bool all_in_function = true;
+        uint32_t lowest_func_idx = UINT32_MAX;
+        uint32_t highest_func_idx = 0;
+        for (AddressRange range : sc.function->GetAddressRanges()) {
+          uint32_t idx;
+          LineEntry unused;
+          Address addr = range.GetBaseAddress();
+          if (line_table->FindLineEntryByAddress(addr, unused, &idx))
+            lowest_func_idx = std::min(lowest_func_idx, idx);
+
+          addr.Slide(range.GetByteSize() - 1);
----------------
jimingham wrote:

This deserves a comment.

https://github.com/llvm/llvm-project/pull/123622
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to