Summary: | gdb.Value should have __index__ method | ||
---|---|---|---|
Product: | gdb | Reporter: | Tom Tromey <tromey> |
Component: | python | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | pedro |
Priority: | P2 | ||
Version: | unknown | ||
Target Milestone: | 7.12 | ||
Host: | Target: | ||
Build: | Last reconfirmed: |
Description
Tom Tromey
2014-09-12 14:57:10 UTC
The master branch has been updated by Tom Tromey <tromey@sourceware.org>: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ddae946278bf4269370f7d945732485ad13469fa commit ddae946278bf4269370f7d945732485ad13469fa Author: Tom Tromey <tom@tromey.com> Date: Sat Sep 13 22:24:50 2014 -0600 Fix PR python/17386 - add __index__ method to gdb.Value This patch fixes PR python/17386. The bug is that gdb.Value does not implement the Python __index__ method. This method is needed to convert a Python object to an index and is used by various operations in Python, such as indexing an array. The fix is to implement the nb_index method for gdb.Value. nb_index was added in Python 2.5. I don't have a good way to test Python 2.4, but I made an attempt to accomodate it. I chose to use valpy_long in all cases because this simplifies porting to Python 3, and because there didn't seem to be any harm. Built and regtested on x86-64 Fedora 23. 2016-05-24 Tom Tromey <tom@tromey.com> PR python/17386: * python/py-value.c (value_object_as_number): Add nb_inplace_floor_divide, nb_inplace_true_divide, nb_index. 2016-05-24 Tom Tromey <tom@tromey.com> PR python/17386: * gdb.python/py-value.exp (test_value_numeric_ops): Add tests that use value as an index. Fixed. |