[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!).
This commit is contained in:
Jonas Devlieghere 2022-01-24 17:18:18 -08:00
parent 8b29b84c99
commit 16bff06790
1 changed files with 5 additions and 1 deletions

View File

@ -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)