[RFA v2 1/2] add nb_inplace_divide for python 2

Tom Tromey
2016-05-23T17:25:37Z

Python 2's PyNumberMethods has nb_inplace_divide, but Python 3 does
not. This patch adds it for Python 2.

This buglet didn't cause much fallout because the only non-NULL entry
in value_object_as_number after this is for valpy_divide; and the
missing slot caused it to slide up to nb_floor_divide (where
nb_true_divide was intended).

2016-05-23 Tom Tromey <tom@tromey.com>

* python/py-value.c (value_object_as_number): Add
nb_inplace_divide for Python 2.
---
gdb/ChangeLog | 5 +++++
gdb/python/py-value.c | 3 +++
2 files changed, 8 insertions(+)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 07bc5d2..5142429 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2016-05-23 Tom Tromey <tom@tromey.com>

+ * python/py-value.c (value_object_as_number): Add
+ nb_inplace_divide for Python 2.
+
+2016-05-23 Tom Tromey <tom@tromey.com>
+
PR python/19438, PR python/18393:
* python/py-objfile.c (objfpy_initialize): Initialize self->dict.
* python/py-progspace.c (pspy_initialize): Initialize self->dict.
diff --git a/gdb/python/py-value.c b/gdb/python/py-value.c
index 7dba0ad..268f6c8 100644
--- a/gdb/python/py-value.c
+++ b/gdb/python/py-value.c
@@ -1827,6 +1827,9 @@ static PyNumberMethods value_object_as_number = {
NULL, /* nb_inplace_add */
NULL, /* nb_inplace_subtract */
NULL, /* nb_inplace_multiply */
+#ifndef IS_PY3K
+ NULL, /* nb_inplace_divide */
+#endif
NULL, /* nb_inplace_remainder */
NULL, /* nb_inplace_power */
NULL, /* nb_inplace_lshift */
--
2.5.5