Don't use PyLong_FromLong

This changes gdb to avoid PyLong_FromLong, preferring to
gdb_py_object_from_longest instead.

gdb/ChangeLog
2020-09-15  Tom Tromey  <tromey@adacore.com>

	* python/python.c (gdbpy_parameter_value): Use
	gdb_py_object_from_longest.
	* python/py-type.c (convert_field, typy_range): Use
	gdb_py_object_from_longest.
	* python/py-tui.c (gdbpy_tui_width, gdbpy_tui_height): Use
	gdb_py_object_from_longest.
	* python/py-lazy-string.c (stpy_get_length): Use
	gdb_py_object_from_longest.
	* python/py-infthread.c (thpy_get_num, thpy_get_global_num): Use
	gdb_py_object_from_longest.
	* python/py-infevents.c (create_memory_changed_event_object): Use
	gdb_py_object_from_longest.
	* python/py-inferior.c (infpy_get_num): Use
	gdb_py_object_from_longest.
	(infpy_get_pid): Likewise.
This commit is contained in:
Tom Tromey 2020-09-15 11:08:56 -06:00
parent d1cab9876d
commit 062534d44f
8 changed files with 38 additions and 12 deletions

View file

@ -423,7 +423,7 @@ infpy_get_num (PyObject *self, void *closure)
INFPY_REQUIRE_VALID (inf);
return PyLong_FromLong (inf->inferior->num);
return gdb_py_object_from_longest (inf->inferior->num).release ();
}
static PyObject *
@ -433,7 +433,7 @@ infpy_get_pid (PyObject *self, void *closure)
INFPY_REQUIRE_VALID (inf);
return PyLong_FromLong (inf->inferior->pid);
return gdb_py_object_from_longest (inf->inferior->pid).release ();
}
static PyObject *

View file

@ -104,7 +104,7 @@ create_memory_changed_event_object (CORE_ADDR addr, ssize_t len)
if (evpy_add_attribute (event.get (), "address", addr_obj.get ()) < 0)
return NULL;
gdbpy_ref<> len_obj (PyLong_FromLong (len));
gdbpy_ref<> len_obj = gdb_py_object_from_longest (len);
if (len_obj == NULL)
return NULL;

View file

@ -130,7 +130,9 @@ thpy_get_num (PyObject *self, void *closure)
THPY_REQUIRE_VALID (thread_obj);
return PyLong_FromLong (thread_obj->thread->per_inf_num);
gdbpy_ref<> result
= gdb_py_object_from_longest (thread_obj->thread->per_inf_num);
return result.release ();
}
/* Getter for InferiorThread.global_num. */
@ -142,7 +144,9 @@ thpy_get_global_num (PyObject *self, void *closure)
THPY_REQUIRE_VALID (thread_obj);
return PyLong_FromLong (thread_obj->thread->global_num);
gdbpy_ref<> result
= gdb_py_object_from_longest (thread_obj->thread->global_num);
return result.release ();
}
/* Getter for InferiorThread.ptid -> (pid, lwp, tid).

View file

@ -88,7 +88,7 @@ stpy_get_length (PyObject *self, void *closure)
{
lazy_string_object *self_string = (lazy_string_object *) self;
return PyLong_FromLong (self_string->length);
return gdb_py_object_from_longest (self_string->length).release ();
}
static PyObject *

View file

@ -392,7 +392,9 @@ gdbpy_tui_width (PyObject *self, void *closure)
{
gdbpy_tui_window *win = (gdbpy_tui_window *) self;
REQUIRE_WINDOW (win);
return PyLong_FromLong (win->window->viewport_width ());
gdbpy_ref<> result
= gdb_py_object_from_longest (win->window->viewport_width ());
return result.release ();
}
/* Return the height of the TUI window. */
@ -401,7 +403,9 @@ gdbpy_tui_height (PyObject *self, void *closure)
{
gdbpy_tui_window *win = (gdbpy_tui_window *) self;
REQUIRE_WINDOW (win);
return PyLong_FromLong (win->window->viewport_height ());
gdbpy_ref<> result
= gdb_py_object_from_longest (win->window->viewport_height ());
return result.release ();
}
/* Return the title of the TUI window. */

View file

@ -233,7 +233,7 @@ convert_field (struct type *type, int field)
if (PyObject_SetAttrString (result.get (), "is_base_class", arg.get ()) < 0)
return NULL;
arg.reset (PyLong_FromLong (TYPE_FIELD_BITSIZE (type, field)));
arg = gdb_py_object_from_longest (TYPE_FIELD_BITSIZE (type, field));
if (arg == NULL)
return NULL;
if (PyObject_SetAttrString (result.get (), "bitsize", arg.get ()) < 0)
@ -596,11 +596,11 @@ typy_range (PyObject *self, PyObject *args)
break;
}
gdbpy_ref<> low_bound (PyLong_FromLong (low));
gdbpy_ref<> low_bound = gdb_py_object_from_longest (low);
if (low_bound == NULL)
return NULL;
gdbpy_ref<> high_bound (PyLong_FromLong (high));
gdbpy_ref<> high_bound = gdb_py_object_from_longest (high);
if (high_bound == NULL)
return NULL;

View file

@ -496,7 +496,7 @@ gdbpy_parameter_value (enum var_types type, void *var)
/* Fall through. */
case var_zinteger:
case var_zuinteger_unlimited:
return PyLong_FromLong (* (int *) var);
return gdb_py_object_from_longest (* (int *) var).release ();
case var_uinteger:
{