Don't use PyInt_FromLong

Avoid the use of PyInt_FromLong, preferring gdb_py_object_from_longest
instead.  I found found another spot that was incorrectly handling
errors (see gdbpy_create_ptid_object) while writing this patch; it is
fixed here.

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

	* python/python-internal.h (PyInt_FromLong): Remove define.
	* python/py-value.c (convert_value_from_python): Use
	gdb_py_object_from_longest.
	* python/py-type.c (typy_get_code): Use
	gdb_py_object_from_longest.
	* python/py-symtab.c (salpy_get_line): Use
	gdb_py_object_from_longest.
	* python/py-symbol.c (sympy_get_addr_class, sympy_line): Use
	gdb_py_object_from_longest.
	* python/py-record.c (recpy_gap_reason_code): Use
	gdb_py_object_from_longest.
	* python/py-record-btrace.c (recpy_bt_insn_size)
	(recpy_bt_func_level, btpy_list_count): Use
	gdb_py_object_from_longest.
	* python/py-infthread.c (gdbpy_create_ptid_object): Use
	gdb_py_object_from_longest.  Fix error handling.
	* python/py-framefilter.c (bootstrap_python_frame_filters): Use
	gdb_py_object_from_longest.
	* python/py-frame.c (frapy_type, frapy_unwind_stop_reason): Use
	gdb_py_object_from_longest.
	* python/py-breakpoint.c (bppy_get_type, bppy_get_number)
	(bppy_get_thread, bppy_get_task, bppy_get_hit_count)
	(bppy_get_ignore_count): Use gdb_py_object_from_longest.
This commit is contained in:
Tom Tromey 2020-09-15 11:08:56 -06:00
parent 512116ce26
commit 47f0e2ff7f
12 changed files with 62 additions and 24 deletions

View file

@ -131,7 +131,7 @@ sympy_get_addr_class (PyObject *self, void *closure)
SYMPY_REQUIRE_VALID (self, symbol);
return PyInt_FromLong (SYMBOL_CLASS (symbol));
return gdb_py_object_from_longest (SYMBOL_CLASS (symbol)).release ();
}
static PyObject *
@ -221,7 +221,7 @@ sympy_line (PyObject *self, void *closure)
SYMPY_REQUIRE_VALID (self, symbol);
return PyInt_FromLong (SYMBOL_LINE (symbol));
return gdb_py_object_from_longest (SYMBOL_LINE (symbol)).release ();
}
/* Implementation of gdb.Symbol.is_valid (self) -> Boolean.