Allow a pretty-printer without a to_string method
authorTom Tromey <tom@tromey.com>
Sat, 8 Sep 2018 20:40:38 +0000 (14:40 -0600)
committerTom Tromey <tom@tromey.com>
Sun, 9 Sep 2018 02:49:15 +0000 (20:49 -0600)
commit332cf4c9251a31f0addc2ce2970c9a8bb0c16f96
tree63347831188fef2e0558e93c69cc166c7f14f878
parent0653638f9f0efdb1561db8e2faff2580e09658af
Allow a pretty-printer without a to_string method

PR python/16047 points out that, while the documentation says that the
to_string method is optional for a pretty-printer, the code disagrees
and throws an exception.  This patch fixes the problem.  varobj is
already ok here.

Tested on x86-64 Fedora 26.

gdb/ChangeLog
2018-09-08  Tom Tromey  <tom@tromey.com>

PR python/16047:
* python/py-prettyprint.c (pretty_print_one_value): Check for
to_string method.

gdb/testsuite/ChangeLog
2018-09-08  Tom Tromey  <tom@tromey.com>

PR python/16047:
* gdb.python/py-prettyprint.py (pp_int_typedef3): New class.
(register_pretty_printers): Register new printer.
* gdb.python/py-prettyprint.exp (run_lang_tests): Add int_type3
test.
* gdb.python/py-prettyprint.c (int_type3): New typedef.
(an_int_type3): New global.
gdb/ChangeLog
gdb/python/py-prettyprint.c
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.python/py-prettyprint.c
gdb/testsuite/gdb.python/py-prettyprint.exp
gdb/testsuite/gdb.python/py-prettyprint.py