[Lldb-commits] [PATCH] D146590: [lldb] Update some uses of Python2 API in typemaps.
Jorge Gorbe Moya via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Wed Mar 22 11:26:01 PDT 2023
jgorbe updated this revision to Diff 507442.
jgorbe added a comment.
Modified one of the existing test cases for `SBData.SetDataFromUInt64Array` to add a 2**63 to actually exercise the uint64 range.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D146590/new/
https://reviews.llvm.org/D146590
Files:
lldb/bindings/python/python-typemaps.swig
lldb/test/API/python_api/sbdata/TestSBData.py
Index: lldb/test/API/python_api/sbdata/TestSBData.py
===================================================================
--- lldb/test/API/python_api/sbdata/TestSBData.py
+++ lldb/test/API/python_api/sbdata/TestSBData.py
@@ -387,12 +387,13 @@
self.assert_data(data2.GetUnsignedInt8, 4, 111)
self.assert_data(data2.GetUnsignedInt8, 5, 33)
- data2.SetDataFromUInt64Array([1, 2, 3, 4, 5])
+ data2.SetDataFromUInt64Array([1, 2, 3, 4, 5, 2**63])
self.assert_data(data2.GetUnsignedInt64, 0, 1)
self.assert_data(data2.GetUnsignedInt64, 8, 2)
self.assert_data(data2.GetUnsignedInt64, 16, 3)
self.assert_data(data2.GetUnsignedInt64, 24, 4)
self.assert_data(data2.GetUnsignedInt64, 32, 5)
+ self.assert_data(data2.GetUnsignedInt64, 40, 2**63)
self.assertEqual(
data2.uint64[0], 1,
Index: lldb/bindings/python/python-typemaps.swig
===================================================================
--- lldb/bindings/python/python-typemaps.swig
+++ lldb/bindings/python/python-typemaps.swig
@@ -103,11 +103,11 @@
// typemap for a char buffer
%typemap(in) (char *dst, size_t dst_len) {
- if (!PyInt_Check($input)) {
+ if (!PyLong_Check($input)) {
PyErr_SetString(PyExc_ValueError, "Expecting an integer");
SWIG_fail;
}
- $2 = PyInt_AsLong($input);
+ $2 = PyLong_AsLong($input);
if ($2 <= 0) {
PyErr_SetString(PyExc_ValueError, "Positive integer expected");
SWIG_fail;
@@ -139,11 +139,11 @@
// typemap for handling an snprintf-like API like SBThread::GetStopDescription.
%typemap(in) (char *dst_or_null, size_t dst_len) {
- if (!PyInt_Check($input)) {
+ if (!PyLong_Check($input)) {
PyErr_SetString(PyExc_ValueError, "Expecting an integer");
SWIG_fail;
}
- $2 = PyInt_AsLong($input);
+ $2 = PyLong_AsLong($input);
if ($2 <= 0) {
PyErr_SetString(PyExc_ValueError, "Positive integer expected");
SWIG_fail;
@@ -205,9 +205,7 @@
// typemap for an incoming buffer
// See also SBProcess::ReadMemory.
%typemap(in) (void *buf, size_t size) {
- if (PyInt_Check($input)) {
- $2 = PyInt_AsLong($input);
- } else if (PyLong_Check($input)) {
+ if (PyLong_Check($input)) {
$2 = PyLong_AsLong($input);
} else {
PyErr_SetString(PyExc_ValueError, "Expecting an integer or long object");
@@ -258,9 +256,7 @@
}
template <class T> bool SetNumberFromPyObject(T &number, PyObject *obj) {
- if (PyInt_Check(obj))
- number = static_cast<T>(PyInt_AsLong(obj));
- else if (PyLong_Check(obj))
+ if (PyLong_Check(obj))
number = PyLongAsT<T>(obj);
else
return false;
@@ -345,7 +341,7 @@
count = $2;
PyObject *list = PyList_New(count);
for (uint32_t j = 0; j < count; j++) {
- PyObject *item = PyInt_FromLong($1[j]);
+ PyObject *item = PyLong_FromLong($1[j]);
int ok = PyList_SetItem(list, j, item);
if (ok != 0) {
$result = Py_None;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D146590.507442.patch
Type: text/x-patch
Size: 2947 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20230322/533bbbcb/attachment.bin>
More information about the lldb-commits
mailing list