Rework how resetting breakpoints in changed modules works. Try to match up old
locations with new ones if possible.
Next up some test cases...
llvm-svn: 217551
diff --git a/lldb/source/Breakpoint/BreakpointLocation.cpp b/lldb/source/Breakpoint/BreakpointLocation.cpp
index e1ac043..dbc00b7 100644
--- a/lldb/source/Breakpoint/BreakpointLocation.cpp
+++ b/lldb/source/Breakpoint/BreakpointLocation.cpp
@@ -717,4 +717,13 @@
m_owner.GetTarget().BroadcastEvent (Target::eBroadcastBitBreakpointChanged, data);
}
}
-
+
+void
+BreakpointLocation::SwapLocation (BreakpointLocationSP swap_from)
+{
+ m_address = swap_from->m_address;
+ m_should_resolve_indirect_functions = swap_from->m_should_resolve_indirect_functions;
+ m_is_reexported = swap_from->m_is_reexported;
+ m_is_indirect = swap_from->m_is_indirect;
+ m_user_expression_sp.reset();
+}