Add a new breakpoint type "break by source regular expression".
Fix the RegularExpression class so it has a real copy constructor.
Fix the breakpoint setting with multiple shared libraries so it makes
  one breakpoint not one per shared library.
Add SBFileSpecList, to be used to expose the above to the SB interface (not done yet.)


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140225 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/scripts/Python/interface/SBCommandInterpreter.i b/scripts/Python/interface/SBCommandInterpreter.i
index 81e5158..6a5ee24 100644
--- a/scripts/Python/interface/SBCommandInterpreter.i
+++ b/scripts/Python/interface/SBCommandInterpreter.i
@@ -116,8 +116,7 @@
 
     int
     HandleCompletion (const char *current_line,
-                      const char *cursor,
-                      const char *last_char,
+                      uint32_t cursor_pos,
                       int match_start_point,
                       int max_return_elements,
                       lldb::SBStringList &matches);
diff --git a/scripts/Python/interface/SBFileSpecList.i b/scripts/Python/interface/SBFileSpecList.i
new file mode 100644
index 0000000..5ad4742
--- /dev/null
+++ b/scripts/Python/interface/SBFileSpecList.i
@@ -0,0 +1,45 @@
+//===-- SWIG Interface for SBFileSpecList -----------------------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+namespace lldb {
+
+class SBFileSpecList
+{
+public:
+    SBFileSpecList ();
+
+    SBFileSpecList (const lldb::SBFileSpecList &rhs);
+
+    ~SBFileSpecList ();
+
+    uint32_t
+    GetSize () const;
+
+    bool
+    GetDescription (SBStream &description) const;
+    
+    void
+    Append (const SBFileSpec &sb_file);
+    
+    bool
+    AppendIfUnique (const SBFileSpec &sb_file);
+    
+    void
+    Clear();
+    
+    uint32_t
+    FindFileIndex (uint32_t idx, const SBFileSpec &sb_file);
+    
+    const SBFileSpec
+    GetFileSpecAtIndex (uint32_t idx) const;
+
+};
+
+
+} // namespace lldb
diff --git a/scripts/Python/interface/SBTarget.i b/scripts/Python/interface/SBTarget.i
index baa151c..aafc80b 100644
--- a/scripts/Python/interface/SBTarget.i
+++ b/scripts/Python/interface/SBTarget.i
@@ -372,6 +372,9 @@
     BreakpointCreateByRegex (const char *symbol_name_regex, const char *module_name = NULL);
 
     lldb::SBBreakpoint
+    BreakpointCreateBySourceRegex (const char *source_regex, const lldb::SBFileSpec &source_file, const char *module_name = NULL);
+
+    lldb::SBBreakpoint
     BreakpointCreateByAddress (addr_t address);
 
     uint32_t