diff options
author | Joel Brobecker <brobecker@adacore.com> | 2013-11-19 06:56:00 +0400 |
---|---|---|
committer | Joel Brobecker <brobecker@adacore.com> | 2013-11-20 21:20:11 +0400 |
commit | 7c245c246c23c5b3f4eef21a2f385af1c962c636 (patch) | |
tree | 27a48c38873a631a21154df76dff9ecb125aefff | |
parent | e48744a00a1bddd3366c25e93fee86e97c190e7b (diff) | |
download | gdb-7c245c246c23c5b3f4eef21a2f385af1c962c636.zip gdb-7c245c246c23c5b3f4eef21a2f385af1c962c636.tar.gz gdb-7c245c246c23c5b3f4eef21a2f385af1c962c636.tar.bz2 |
get rid of py-value.c:is_intlike (use is_integral_type instead)
is_intlike was mostly duplicating is_integral_type, with the exception
of the handling of TYPE_CODE_PTR when parameter PTR_OK is nonzero.
This patches deletes the is_intlike function, using is_integral_type
instead, and adjusting the two locations where this function gets
called.
The code should remain strictly equivalent.
gdb/ChangeLog:
* python/py-value.c (is_intlike): Delete.
(valpy_int): Replace use of CHECK_TYPEDEF and is_intlike
by use of is_integral_type.
(valpy_long): Replace use of CHECK_TYPEDEF and is_intlike
by use of is_integral_type and check for TYPE_CODE_PTR.
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/python/py-value.c | 18 |
2 files changed, 11 insertions, 15 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 94e9e1b..f989f16 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2013-11-20 Joel Brobecker <brobecker@adacore.com> + + * python/py-value.c (is_intlike): Delete. + (valpy_int): Replace use of CHECK_TYPEDEF and is_intlike + by use of is_integral_type. + (valpy_long): Replace use of CHECK_TYPEDEF and is_intlike + by use of is_integral_type and check for TYPE_CODE_PTR. + 2013-11-20 Tom Tromey <tromey@redhat.com> * gnulib/update-gnulib.sh (IMPORTED_GNULIB_MODULES): Remove diff --git a/gdb/python/py-value.c b/gdb/python/py-value.c index 451bfaf..4054808 100644 --- a/gdb/python/py-value.c +++ b/gdb/python/py-value.c @@ -1129,18 +1129,6 @@ valpy_richcompare (PyObject *self, PyObject *other, int op) Py_RETURN_FALSE; } -/* Helper function to determine if a type is "int-like". */ -static int -is_intlike (struct type *type, int ptr_ok) -{ - return (TYPE_CODE (type) == TYPE_CODE_INT - || TYPE_CODE (type) == TYPE_CODE_ENUM - || TYPE_CODE (type) == TYPE_CODE_BOOL - || TYPE_CODE (type) == TYPE_CODE_CHAR - || TYPE_CODE (type) == TYPE_CODE_RANGE - || (ptr_ok && TYPE_CODE (type) == TYPE_CODE_PTR)); -} - #ifndef IS_PY3K /* Implements conversion to int. */ static PyObject * @@ -1153,8 +1141,7 @@ valpy_int (PyObject *self) TRY_CATCH (except, RETURN_MASK_ALL) { - CHECK_TYPEDEF (type); - if (!is_intlike (type, 0)) + if (!is_integral_type (type)) error (_("Cannot convert value to int.")); l = value_as_long (value); @@ -1178,7 +1165,8 @@ valpy_long (PyObject *self) { CHECK_TYPEDEF (type); - if (!is_intlike (type, 1)) + if (!is_integral_type (type) + && TYPE_CODE (type) != TYPE_CODE_PTR) error (_("Cannot convert value to long.")); l = value_as_long (value); |