Support rvalue references in the gdb python module (includes doc/)
authorArtemiy Volkov <artemiyv@acm.org>
Mon, 20 Mar 2017 20:47:52 +0000 (13:47 -0700)
committerKeith Seitz <keiths@redhat.com>
Mon, 20 Mar 2017 20:47:52 +0000 (13:47 -0700)
commit3fcf899da106890f3948093c2424f9dff67d6fe0
tree6adbeb1b3226c93d0240095dd10ba92430c4c131
parent4297a3f0029974c62628d69b6f3f9ef25f01ea7d
Support rvalue references in the gdb python module (includes doc/)

This patch adds the ability to inspect rvalue reference types and values using
the gdb python module. This is achieved by creating two wrappers for
valpy_reference_value(), using the ReferenceExplorer class to handle the
objects of rvalue reference types and placing necessary checks for a
TYPE_CODE_RVALUE_REF type code next to the checks for a TYPE_CODE_REF type
code.

gdb/ChangeLog

PR gdb/14441
* doc/python.texi (Types in Python): Add TYPE_CODE_RVALUE_REF to
table of constants.
* python/lib/gdb/command/explore.py: Support exploring values
of rvalue reference types.
* python/lib/gdb/types.py: Implement get_basic_type() for
rvalue reference types.
* python/py-type.c (pyty_codes) <TYPE_CODE_RVALUE_REF>: New
constant.
* python/py-value.c (valpy_getitem): Add an rvalue reference
check.
(valpy_reference_value): Add new parameter "refcode".
(valpy_lvalue_reference_value, valpy_rvalue_reference_value):
New wrappers for valpy_reference_value().
* python/py-xmethods.c (gdbpy_get_xmethod_result_type)
(gdbpy_invoke_xmethod): Likewise.
gdb/ChangeLog
gdb/doc/python.texi
gdb/python/lib/gdb/command/explore.py
gdb/python/lib/gdb/types.py
gdb/python/py-type.c
gdb/python/py-value.c
gdb/python/py-xmethods.c