Use the "last created watchpoint" rather than asserting on watchpoint commands passing no watchpoint ID.

<rdar://problem/14327560> 


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@185406 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Target/Target.cpp b/source/Target/Target.cpp
index 064023e..c7638e9 100644
--- a/source/Target/Target.cpp
+++ b/source/Target/Target.cpp
@@ -782,6 +782,7 @@
             return false;
     }
     m_watchpoint_list.RemoveAll (true);
+    m_last_created_watchpoint.reset();
     return true; // Success!
 }
 
@@ -949,6 +950,10 @@
     if (log)
         log->Printf ("Target::%s (watch_id = %i)\n", __FUNCTION__, watch_id);
 
+    WatchpointSP watch_to_remove_sp = m_watchpoint_list.FindByID(watch_id);
+    if (watch_to_remove_sp == m_last_created_watchpoint)
+        m_last_created_watchpoint.reset();
+        
     if (DisableWatchpointByID (watch_id))
     {
         m_watchpoint_list.Remove(watch_id, true);