Fixed an issue where LLDB was complaining about the lack of 'update' in a synthetic provider, despite it being optional

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137330 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/scripts/Python/python-wrapper.swig b/scripts/Python/python-wrapper.swig
index 35aa751..e147e65 100644
--- a/scripts/Python/python-wrapper.swig
+++ b/scripts/Python/python-wrapper.swig
@@ -523,6 +523,11 @@
     // other synth provider calls are mandatory, so we want to fail in a very obvious way if they are missing!
     PyObject* pmeth  = PyObject_GetAttrString(implementor, callee_name);
 
+    if (PyErr_Occurred())
+    {
+        PyErr_Clear();
+    }
+
     if (pmeth == NULL || pmeth == Py_None)
     {
         Py_XDECREF(pmeth);
@@ -531,10 +536,20 @@
 
     if (PyCallable_Check(pmeth) == 0)
     {
+        if (PyErr_Occurred())
+        {
+            PyErr_Clear();
+        }
+
         Py_XDECREF(pmeth);
         return;
     }
 
+    if (PyErr_Occurred())
+    {
+        PyErr_Clear();
+    }
+
     Py_XDECREF(pmeth);
 
     // right now we know this function exists and is callable..