diff options
-rw-r--r-- | lldb/lldb.xcodeproj/project.pbxproj | 2 | ||||
-rw-r--r-- | lldb/scripts/Python/python-wrapper.swig | 15 |
2 files changed, 17 insertions, 0 deletions
diff --git a/lldb/lldb.xcodeproj/project.pbxproj b/lldb/lldb.xcodeproj/project.pbxproj index fac774857fa..97c802decc5 100644 --- a/lldb/lldb.xcodeproj/project.pbxproj +++ b/lldb/lldb.xcodeproj/project.pbxproj @@ -1162,6 +1162,7 @@ 69A01E1F1236C5D400C660B5 /* Symbols.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Symbols.cpp; sourceTree = "<group>"; }; 69A01E201236C5D400C660B5 /* TimeValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TimeValue.cpp; sourceTree = "<group>"; }; 94005E0313F438DF001EF42D /* python-wrapper.swig */ = {isa = PBXFileReference; lastKnownFileType = text; path = "python-wrapper.swig"; sourceTree = "<group>"; }; + 94005E0513F45A1B001EF42D /* embedded_interpreter.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; name = embedded_interpreter.py; path = source/Interpreter/embedded_interpreter.py; sourceTree = "<group>"; }; 94031A9B13CF484600DCFF3C /* InputReaderEZ.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = InputReaderEZ.h; path = include/lldb/Core/InputReaderEZ.h; sourceTree = "<group>"; }; 94031A9D13CF486600DCFF3C /* InputReaderEZ.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InputReaderEZ.cpp; path = source/Core/InputReaderEZ.cpp; sourceTree = "<group>"; }; 94031A9F13CF5B3D00DCFF3C /* PriorityPointerPair.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PriorityPointerPair.h; path = include/lldb/Utility/PriorityPointerPair.h; sourceTree = "<group>"; }; @@ -2231,6 +2232,7 @@ 26DFBC59113B48F300DD817F /* CommandObjectRegexCommand.cpp */, 26BC7DE410F1B7F900F91463 /* CommandReturnObject.h */, 26BC7F0A10F1B8DD00F91463 /* CommandReturnObject.cpp */, + 94005E0513F45A1B001EF42D /* embedded_interpreter.py */, 26A7A036135E6E5300FB369E /* NamedOptionValue.h */, 26A7A034135E6E4200FB369E /* NamedOptionValue.cpp */, 26BC7D6D10F1B77400F91463 /* Options.h */, diff --git a/lldb/scripts/Python/python-wrapper.swig b/lldb/scripts/Python/python-wrapper.swig index 35aa7514e4c..e147e653f4c 100644 --- a/lldb/scripts/Python/python-wrapper.swig +++ b/lldb/scripts/Python/python-wrapper.swig @@ -523,6 +523,11 @@ LLDBSwigPython_UpdateSynthProviderInstance // 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 @@ LLDBSwigPython_UpdateSynthProviderInstance 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.. |