[Lldb-commits] [lldb] 0cbaed3 - Revert "[LLDB][NFC] Fix optons parsing and misc. reliability in CommandObjectThread"

Stella Stamenova via lldb-commits lldb-commits at lists.llvm.org
Tue Aug 16 18:12:14 PDT 2022


Author: Stella Stamenova
Date: 2022-08-16T18:11:28-07:00
New Revision: 0cbaed3e14448de4b9ed32b7f531471bc6d4347f

URL: https://github.com/llvm/llvm-project/commit/0cbaed3e14448de4b9ed32b7f531471bc6d4347f
DIFF: https://github.com/llvm/llvm-project/commit/0cbaed3e14448de4b9ed32b7f531471bc6d4347f.diff

LOG: Revert "[LLDB][NFC] Fix optons parsing and misc. reliability in CommandObjectThread"

This very much non-NFC change broke the windows lldb bot: https://lab.llvm.org/buildbot/#/builders/83/builds/22557

This reverts commit 461b410159426fdc6da77e0fb653737e04e0ebe9.

Added: 
    

Modified: 
    lldb/source/Commands/CommandObjectThread.cpp

Removed: 
    


################################################################################
diff  --git a/lldb/source/Commands/CommandObjectThread.cpp b/lldb/source/Commands/CommandObjectThread.cpp
index 1e317d8bfdbe8..5d7f3c16f3894 100644
--- a/lldb/source/Commands/CommandObjectThread.cpp
+++ b/lldb/source/Commands/CommandObjectThread.cpp
@@ -62,13 +62,15 @@ class CommandObjectThreadBacktrace : public CommandObjectIterateOverThreads {
       const int short_option = m_getopt_table[option_idx].val;
 
       switch (short_option) {
-      case 'c':
-        if (option_arg.getAsInteger(0, m_count) || (m_count < 0)) {
+      case 'c': {
+        int32_t input_count = 0;
+        if (option_arg.getAsInteger(0, m_count)) {
           m_count = UINT32_MAX;
           error.SetErrorStringWithFormat(
               "invalid integer value for option '%c'", short_option);
-        }
-        break;
+        } else if (input_count < 0)
+          m_count = UINT32_MAX;
+      } break;
       case 's':
         if (option_arg.getAsInteger(0, m_start))
           error.SetErrorStringWithFormat(
@@ -1002,15 +1004,8 @@ class CommandObjectThreadUntil : public CommandObjectParsed {
 
         AddressRange fun_addr_range = sc.function->GetAddressRange();
         Address fun_start_addr = fun_addr_range.GetBaseAddress();
-
-        if (!line_table->FindLineEntryByAddress(fun_start_addr, function_start,
-                                                &index_ptr)) {
-          result.AppendErrorWithFormat(
-              "Failed to find line entry by address for "
-              "frame %u of thread id %" PRIu64 ".\n",
-              m_options.m_frame_idx, thread->GetID());
-          return false;
-        }
+        line_table->FindLineEntryByAddress(fun_start_addr, function_start,
+                                           &index_ptr);
 
         Address fun_end_addr(fun_start_addr.GetSection(),
                              fun_start_addr.GetOffset() +
@@ -1018,14 +1013,8 @@ class CommandObjectThreadUntil : public CommandObjectParsed {
 
         bool all_in_function = true;
 
-        if (!line_table->FindLineEntryByAddress(fun_end_addr, function_start,
-                                                &end_ptr)) {
-          result.AppendErrorWithFormat(
-              "Failed to find line entry by address for "
-              "frame %u of thread id %" PRIu64 ".\n",
-              m_options.m_frame_idx, thread->GetID());
-          return false;
-        }
+        line_table->FindLineEntryByAddress(fun_end_addr, function_start,
+                                           &end_ptr);
 
         // Since not all source lines will contribute code, check if we are
         // setting the breakpoint on the exact line number or the nearest


        


More information about the lldb-commits mailing list