================
@@ -1363,9 +1375,51 @@ Status ProcessGDBRemote::DoResume() {
       }
     }
 
+    if (direction == RunDirection::eRunReverse && continue_packet_error) {
+      if (num_continue_C_tids > 0 || num_continue_S_tids > 0) {
+        LLDB_LOGF(log,
+                  "ProcessGDBRemote::DoResumeReverse: Signals not supported");
+        return Status::FromErrorString(
+            "can't deliver signals while running in reverse");
+      }
+
+      if (num_continue_s_tids > 0) {
+        if (num_continue_s_tids > 1) {
+          LLDB_LOGF(
+              log,
+              "ProcessGDBRemote::DoResumeReverse: can't step multiple 
threads");
+          return Status::FromErrorString(
+              "can't step multiple threads while reverse-stepping");
+        }
+
+        if (!m_gdb_comm.GetReverseStepSupported()) {
----------------
jimingham wrote:

You could actually just hoist this check right after the `if (direction == 
RunDirection::eRunReverse` and you wouldn't have to repeat it below.

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

Reply via email to