[Lldb-commits] [lldb] r163572 - in /lldb/trunk: source/Target/ThreadPlanStepRange.cpp test/functionalities/inline-stepping/TestInlineStepping.py

Jim Ingham jingham at apple.com
Mon Sep 10 16:42:45 PDT 2012


Author: jingham
Date: Mon Sep 10 18:42:44 2012
New Revision: 163572

URL: http://llvm.org/viewvc/llvm-project?rev=163572&view=rev
Log:
Shortcut ThreadPlanStepRange::MischiefManaged - if we have pushed new plans and they are not done, then we aren't done either.

<rdar://problem/12259124>

Modified:
    lldb/trunk/source/Target/ThreadPlanStepRange.cpp
    lldb/trunk/test/functionalities/inline-stepping/TestInlineStepping.py

Modified: lldb/trunk/source/Target/ThreadPlanStepRange.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/ThreadPlanStepRange.cpp?rev=163572&r1=163571&r2=163572&view=diff
==============================================================================
--- lldb/trunk/source/Target/ThreadPlanStepRange.cpp (original)
+++ lldb/trunk/source/Target/ThreadPlanStepRange.cpp Mon Sep 10 18:42:44 2012
@@ -146,9 +146,12 @@
                     if (log)
                     {
                         StreamString s;
-                        m_addr_context.line_entry.range.Dump (&s, 
-                                                              m_thread.CalculateTarget().get(), 
-                                                              Address::DumpStyleLoadAddress);
+                        m_addr_context.line_entry.Dump (&s,
+                                                        m_thread.CalculateTarget().get(),
+                                                        true,
+                                                        Address::DumpStyleLoadAddress,
+                                                        Address::DumpStyleLoadAddress,
+                                                        true);
 
                         log->Printf ("Step range plan stepped to another range of same line: %s", s.GetData());
                     }
@@ -167,9 +170,12 @@
                     if (log)
                     {
                         StreamString s;
-                        m_addr_context.line_entry.range.Dump (&s, 
-                                                              m_thread.CalculateTarget().get(), 
-                                                              Address::DumpStyleLoadAddress);
+                        m_addr_context.line_entry.Dump (&s, 
+                                                        m_thread.CalculateTarget().get(),
+                                                        true,
+                                                        Address::DumpStyleLoadAddress,
+                                                        Address::DumpStyleLoadAddress,
+                                                        true);
 
                         log->Printf ("Step range plan stepped to the middle of new line(%d): %s, continuing to clear this line.", 
                                      new_context.line_entry.line, 
@@ -367,6 +373,14 @@
 bool
 ThreadPlanStepRange::MischiefManaged ()
 {
+    // If we have pushed some plans between ShouldStop & MischiefManaged, then we're not done...
+    // I do this check first because we might have stepped somewhere that will fool InRange into
+    // thinking it needs to step past the end of that line.  This happens, for instance, when stepping
+    // over inlined code that is in the middle of the current line.
+    
+    if (!m_no_more_plans)
+        return false;
+    
     bool done = true;
     if (!IsPlanComplete())
     {

Modified: lldb/trunk/test/functionalities/inline-stepping/TestInlineStepping.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/functionalities/inline-stepping/TestInlineStepping.py?rev=163572&r1=163571&r2=163572&view=diff
==============================================================================
--- lldb/trunk/test/functionalities/inline-stepping/TestInlineStepping.py (original)
+++ lldb/trunk/test/functionalities/inline-stepping/TestInlineStepping.py Mon Sep 10 18:42:44 2012
@@ -25,8 +25,6 @@
         self.buildDwarf()
         self.inline_stepping()
 
-    # <rdar://problem/12259124>
-    @unittest2.expectedFailure 
     @unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
     @python_api_test
     @dsym_test
@@ -35,8 +33,6 @@
         self.buildDsym()
         self.inline_stepping_step_over()
 
-    # <rdar://problem/12259124>
-    @unittest2.expectedFailure 
     @python_api_test
     @dwarf_test
     def test_step_over_with_dwarf_and_python_api(self):





More information about the lldb-commits mailing list