Author: Jonas Devlieghere Date: 2022-01-24T17:23:09-08:00 New Revision: 16bff06790a7652b282352b07250b627e5787c8c
URL: https://github.com/llvm/llvm-project/commit/16bff06790a7652b282352b07250b627e5787c8c DIFF: https://github.com/llvm/llvm-project/commit/16bff06790a7652b282352b07250b627e5787c8c.diff LOG: [lldb] Make PythonDataObjects work with Python 2 I considered keeping this change strictly downstream. Since we still have a bunch of places that check for Python 2, I figured it doesn't harm to land it upstream and avoid the conflict when I eventually do remove them (hopefully soon!). Added: Modified: lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp Removed: ################################################################################ diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp b/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp index 32020f983f605..68f4e90d70f6e 100644 --- a/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp +++ b/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp @@ -70,7 +70,9 @@ Expected<std::string> python::As<std::string>(Expected<PythonObject> &&obj) { } static bool python_is_finalizing() { -#if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION < 7 +#if PY_MAJOR_VERSION == 2 + return false; +#elif PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION < 7 return _Py_Finalizing != nullptr; #else return _Py_IsFinalizing(); @@ -279,7 +281,9 @@ PythonObject PythonObject::GetAttributeValue(llvm::StringRef attr) const { } StructuredData::ObjectSP PythonObject::CreateStructuredObject() const { +#if PY_MAJOR_VERSION >= 3 assert(PyGILState_Check()); +#endif switch (GetObjectType()) { case PyObjectType::Dictionary: return PythonDictionary(PyRefType::Borrowed, m_py_obj) _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits