llvm: fix PythonString::GetString for >=python-3.7 (#13631)
* llvm: fix PythonString::GetString for >=python-3.7 * llvm/package.py: fix when the patch should be applied
This commit is contained in:
parent
119af6d71b
commit
ae6229dee2
37
var/spack/repos/builtin/packages/llvm/llvm_py37.patch
Normal file
37
var/spack/repos/builtin/packages/llvm/llvm_py37.patch
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
From ecdefed7f6ba11421fe1ecc6c13a135ab7bcda73 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Pavel Labath <labath@google.com>
|
||||||
|
Date: Mon, 23 Jul 2018 11:37:36 +0100
|
||||||
|
Subject: [PATCH] Fix PythonString::GetString for >=python-3.7
|
||||||
|
|
||||||
|
The return value of PyUnicode_AsUTF8AndSize is now "const char *".
|
||||||
|
---
|
||||||
|
.../Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp | 6 ++++--
|
||||||
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/tools/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp b/tools/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
|
||||||
|
index 6a9d57d5a..94f16b2c7 100644
|
||||||
|
--- a/tools/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
|
||||||
|
+++ b/tools/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
|
||||||
|
@@ -404,14 +404,16 @@ llvm::StringRef PythonString::GetString() const {
|
||||||
|
return llvm::StringRef();
|
||||||
|
|
||||||
|
Py_ssize_t size;
|
||||||
|
- char *c;
|
||||||
|
+ const char *data;
|
||||||
|
|
||||||
|
#if PY_MAJOR_VERSION >= 3
|
||||||
|
- c = PyUnicode_AsUTF8AndSize(m_py_obj, &size);
|
||||||
|
+ data = PyUnicode_AsUTF8AndSize(m_py_obj, &size);
|
||||||
|
#else
|
||||||
|
+ char *c;
|
||||||
|
PyString_AsStringAndSize(m_py_obj, &c, &size);
|
||||||
|
+ data = c;
|
||||||
|
#endif
|
||||||
|
- return llvm::StringRef(c, size);
|
||||||
|
+ return llvm::StringRef(data, size);
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t PythonString::GetSize() const {
|
||||||
|
--
|
||||||
|
2.18.0.233.g985f88cf7e-goog
|
||||||
|
|
@ -604,6 +604,11 @@ class Llvm(CMakePackage):
|
|||||||
# for a bug report about this problem in llvm master.
|
# for a bug report about this problem in llvm master.
|
||||||
patch('constexpr_longdouble.patch', when='@6:8+libcxx')
|
patch('constexpr_longdouble.patch', when='@6:8+libcxx')
|
||||||
|
|
||||||
|
# Backport from llvm master; see
|
||||||
|
# https://bugs.llvm.org/show_bug.cgi?id=38233
|
||||||
|
# for a bug report about this problem in llvm master.
|
||||||
|
patch('llvm_py37.patch', when='@4:6 ^python@3.7:')
|
||||||
|
|
||||||
@run_before('cmake')
|
@run_before('cmake')
|
||||||
def check_darwin_lldb_codesign_requirement(self):
|
def check_darwin_lldb_codesign_requirement(self):
|
||||||
if not self.spec.satisfies('+lldb platform=darwin'):
|
if not self.spec.satisfies('+lldb platform=darwin'):
|
||||||
|
Loading…
Reference in New Issue
Block a user