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

Message ID 1464024313-11932-2-git-send-email-tom@tromey.com
State New, archived
Headers

Commit Message

Tom Tromey May 23, 2016, 5:25 p.m. UTC
  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(+)
  

Comments

Yao Qi May 24, 2016, 8:49 a.m. UTC | #1
Tom Tromey <tom@tromey.com> writes:

> 2016-05-23  Tom Tromey  <tom@tromey.com>
>
> 	* python/py-value.c (value_object_as_number): Add
> 	nb_inplace_divide for Python 2.

Patch is good to me.
  

Patch

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 */