Avoid -Wduplicated-cond warnings in gdb/python
I tried building gdb with -Wduplicated-cond. This patch fixes the simpler issue that was found. In Python 3, "int" and "long" are synonyms, so code like: else if (PyLong_Check (obj)) ... else if (PyInt_Check (obj)) .... will trigger this warning. The fix is to conditionalize the PyInt_Check branches on Python 2. Tested by rebuilding, with both version of Python, on x86-64 Fedora 24. 2016-09-20 Tom Tromey <tom@tromey.com> * python/py-value.c (convert_value_from_python): Make PyInt_Check conditional on Python 2. * python/py-arch.c (archpy_disassemble): Make PyInt_Check conditional on Python 2.
This commit is contained in:
parent
9f7efd5bf7
commit
12c58cd4dc
3 changed files with 11 additions and 0 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2016-09-20 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
|
* python/py-value.c (convert_value_from_python): Make PyInt_Check
|
||||||
|
conditional on Python 2.
|
||||||
|
* python/py-arch.c (archpy_disassemble): Make PyInt_Check
|
||||||
|
conditional on Python 2.
|
||||||
|
|
||||||
2016-09-20 Edjunior Barbosa Machado <emachado@linux.vnet.ibm.com>
|
2016-09-20 Edjunior Barbosa Machado <emachado@linux.vnet.ibm.com>
|
||||||
|
|
||||||
* rs6000-tdep.c (ppc_process_record_op31): Fix record of Store String
|
* rs6000-tdep.c (ppc_process_record_op31): Fix record of Store String
|
||||||
|
|
|
@ -141,10 +141,12 @@ archpy_disassemble (PyObject *self, PyObject *args, PyObject *kw)
|
||||||
conversion process. */
|
conversion process. */
|
||||||
if (PyLong_Check (end_obj))
|
if (PyLong_Check (end_obj))
|
||||||
end = PyLong_AsUnsignedLongLong (end_obj);
|
end = PyLong_AsUnsignedLongLong (end_obj);
|
||||||
|
#if PY_MAJOR_VERSION == 2
|
||||||
else if (PyInt_Check (end_obj))
|
else if (PyInt_Check (end_obj))
|
||||||
/* If the end_pc value is specified without a trailing 'L', end_obj will
|
/* If the end_pc value is specified without a trailing 'L', end_obj will
|
||||||
be an integer and not a long integer. */
|
be an integer and not a long integer. */
|
||||||
end = PyInt_AsLong (end_obj);
|
end = PyInt_AsLong (end_obj);
|
||||||
|
#endif
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Py_DECREF (end_obj);
|
Py_DECREF (end_obj);
|
||||||
|
|
|
@ -1642,6 +1642,7 @@ convert_value_from_python (PyObject *obj)
|
||||||
else
|
else
|
||||||
value = value_from_longest (builtin_type_pylong, l);
|
value = value_from_longest (builtin_type_pylong, l);
|
||||||
}
|
}
|
||||||
|
#if PY_MAJOR_VERSION == 2
|
||||||
else if (PyInt_Check (obj))
|
else if (PyInt_Check (obj))
|
||||||
{
|
{
|
||||||
long l = PyInt_AsLong (obj);
|
long l = PyInt_AsLong (obj);
|
||||||
|
@ -1649,6 +1650,7 @@ convert_value_from_python (PyObject *obj)
|
||||||
if (! PyErr_Occurred ())
|
if (! PyErr_Occurred ())
|
||||||
value = value_from_longest (builtin_type_pyint, l);
|
value = value_from_longest (builtin_type_pyint, l);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
else if (PyFloat_Check (obj))
|
else if (PyFloat_Check (obj))
|
||||||
{
|
{
|
||||||
double d = PyFloat_AsDouble (obj);
|
double d = PyFloat_AsDouble (obj);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue