binutils-gdb/gdb/testsuite/gdb.python
Kent Cheung ecf25064e8 gdb: fix pretty printing max depth behaviour
The 'print max-depth' feature incorrectly causes GDB to skip printing
the string representation of pretty printed variables if the variable
is stored at a nested depth corresponding to the set max-depth value.
This change ensures that it is always printed before checking whether
the maximum print depth has been reached.

Regression tested with GCC 7.3.0 on x86_64, ppc64le, aarch64.

gdb/ChangeLog:

	* cp-valprint.c (cp_print_value): Replaced duplicate code.
	* guile/scm-pretty-print.c (ppscm_print_children): Check max_depth
	just before printing child values.
	(gdbscm_apply_val_pretty_printer): Don't check max_depth before
	printing string representation.
	* python/py-prettyprint.c (print_children): Check max_depth just
	before printing child values.
	(gdbpy_apply_val_pretty_printer): Don't check max_depth before
	printing string representation.

gdb/testsuite/ChangeLog:

	* gdb.python/py-format-string.c: Added a variable to test.
	* gdb.python/py-format-string.exp: Check string representation is
	printed at appropriate max_depth settings.
	* gdb.python/py-nested-maps.exp: Likewise.
	* gdb.guile/scm-pretty-print.exp: Add additional tests.
2021-05-14 06:51:21 +01:00
..
amd64-py-framefilter-invalidarg.S Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
compare-enum-type-a.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
compare-enum-type-b.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
compare-enum-type.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
compare-enum-type.h Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
flexible-array-member.c gdb: fix getting range of flexible array member in Python 2021-04-22 15:01:28 -04:00
flexible-array-member.exp gdb/testsuite: adjust gdb.python/flexible-array-member.exp expected pattern 2021-05-04 11:20:19 -04:00
lib-types.cc Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
lib-types.exp gdb/testsuite: check the correct Python variable in test 2021-03-12 12:18:33 +00:00
libpy-autoloaded-pretty-printers-in-newobjfile-event.so-gdb.py gdb: do autoload before notifying Python side in new_objfile event 2021-04-27 11:22:32 -04:00
py-arch-reg-groups.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-arch-reg-names.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-arch.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-arch.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-as-string.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-as-string.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-auto-load-chaining-f1.c gdb: use make_scoped_restore to restore gdbpy_current_objfile 2021-03-15 09:21:37 +00:00
py-auto-load-chaining-f1.o-gdb.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-auto-load-chaining-f2.c gdb: use make_scoped_restore to restore gdbpy_current_objfile 2021-03-15 09:21:37 +00:00
py-auto-load-chaining-f2.o-gdb.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-auto-load-chaining.c gdb: use make_scoped_restore to restore gdbpy_current_objfile 2021-03-15 09:21:37 +00:00
py-auto-load-chaining.exp gdb: use make_scoped_restore to restore gdbpy_current_objfile 2021-03-15 09:21:37 +00:00
py-autoloaded-pretty-printers-in-newobjfile-event-lib.cc gdb: do autoload before notifying Python side in new_objfile event 2021-04-27 11:22:32 -04:00
py-autoloaded-pretty-printers-in-newobjfile-event-lib.h gdb: do autoload before notifying Python side in new_objfile event 2021-04-27 11:22:32 -04:00
py-autoloaded-pretty-printers-in-newobjfile-event-main.cc gdb: do autoload before notifying Python side in new_objfile event 2021-04-27 11:22:32 -04:00
py-autoloaded-pretty-printers-in-newobjfile-event.exp gdb: do autoload before notifying Python side in new_objfile event 2021-04-27 11:22:32 -04:00
py-autoloaded-pretty-printers-in-newobjfile-event.py gdb: do autoload before notifying Python side in new_objfile event 2021-04-27 11:22:32 -04:00
py-bad-printers.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-bad-printers.exp gdb/testsuite: resolve remaining duplicate test names in gdb.python/*.exp 2021-03-12 12:18:34 +00:00
py-bad-printers.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-block.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-block.exp gdb/testsuite: make test names unique in gdb.python/py-block.exp 2021-03-12 12:18:33 +00:00
py-breakpoint-create-fail.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-breakpoint-create-fail.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-breakpoint-create-fail.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-breakpoint.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-breakpoint.exp Add Python support for hardware breakpoints 2021-01-21 18:55:45 +01:00
py-caller-is.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-caller-is.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-cmd.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-cmd.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-completion.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-completion.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-error.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-error.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-events-shlib.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-events.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-events.exp gdb/testsuite: resolve remaining duplicate test names in gdb.python/*.exp 2021-03-12 12:18:34 +00:00
py-events.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-evsignal.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-evthreads.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-evthreads.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-explore-cc.exp gdb/testsuite: make test names unique in gdb.python/py-explore-cc.exp 2021-03-12 12:18:33 +00:00
py-explore.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-explore.cc Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-explore.exp gdb/testsuite: make test names unique in gdb.python/py-explore.exp 2021-03-12 12:18:33 +00:00
py-finish-breakpoint.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-finish-breakpoint.exp gdb/testsuite: make test names unique in gdb.python/py-finish-breakpoint.exp 2021-03-12 12:18:33 +00:00
py-finish-breakpoint.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-finish-breakpoint2.cc Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-finish-breakpoint2.exp gdb/testsuite: resolve remaining duplicate test names in gdb.python/*.exp 2021-03-12 12:18:34 +00:00
py-finish-breakpoint2.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-format-string.c gdb: fix pretty printing max depth behaviour 2021-05-14 06:51:21 +01:00
py-format-string.exp gdb: fix pretty printing max depth behaviour 2021-05-14 06:51:21 +01:00
py-format-string.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-frame-args.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-frame-args.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-frame-args.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-frame-inline.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-frame-inline.exp gdb/testsuite: resolve remaining duplicate test names in gdb.python/*.exp 2021-03-12 12:18:34 +00:00
py-frame.c
py-frame.exp gdb/testsuite: resolve remaining duplicate test names in gdb.python/*.exp 2021-03-12 12:18:34 +00:00
py-framefilter-addr.c gdb/python: fix FrameDecorator regression on Python 2 2021-03-16 09:31:56 +00:00
py-framefilter-addr.exp gdb/python: fix FrameDecorator regression on Python 2 2021-03-16 09:31:56 +00:00
py-framefilter-addr.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-framefilter-gdb.py.in Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-framefilter-invalidarg-gdb.py.in Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-framefilter-invalidarg.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-framefilter-invalidarg.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-framefilter-mi.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-framefilter-mi.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-framefilter.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-framefilter.exp gdb/python: reformat an error string 2021-02-08 11:03:54 +00:00
py-framefilter.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-function.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-inferior.c
py-inferior.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-infthread.c
py-infthread.exp gdb/testsuite: resolve remaining duplicate test names in gdb.python/*.exp 2021-03-12 12:18:34 +00:00
py-lazy-string.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-lazy-string.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-linetable.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-linetable.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-linetable.S Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-lookup-type.exp gdb/testsuite: remove a duplicate test 2021-03-12 12:18:33 +00:00
py-mi-events-gdb.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-mi-events.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-mi-events.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-mi-objfile-gdb.py Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-mi-objfile.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-mi-objfile.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-mi-var-info-path-expression.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-mi-var-info-path-expression.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-mi-var-info-path-expression.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-mi.exp gdb/testsuite: make test names unique in gdb.python/py-mi.exp 2021-03-12 12:18:33 +00:00
py-nested-maps.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-nested-maps.exp gdb: fix pretty printing max depth behaviour 2021-05-14 06:51:21 +01:00
py-nested-maps.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-objfile-script-gdb.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-objfile-script.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-objfile-script.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-objfile.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-objfile.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-parameter.exp gdb/testsuite: don't include paths in test names 2021-04-15 21:33:58 +01:00
py-pp-integral.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-pp-integral.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-pp-integral.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-pp-maint.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-pp-maint.exp gdb/testsuite: make test names unique in gdb.python/py-pp-maint.exp 2021-03-12 12:18:33 +00:00
py-pp-maint.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-pp-re-notag.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-pp-re-notag.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-pp-re-notag.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-pp-registration.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-pp-registration.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-pp-registration.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-prettyprint.c gdb/testsuite: more testing of pretty printer 'array' display_hint 2021-03-26 17:43:14 +00:00
py-prettyprint.exp gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-prettyprint.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-progspace.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-progspace.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-prompt.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-prompt.exp gdb/testsuite: make test names unique in gdb.python/py-prompt.exp 2021-03-12 12:18:33 +00:00
py-rbreak-func2.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-rbreak.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-rbreak.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-record-btrace-threads.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-record-btrace-threads.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-record-btrace.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-record-btrace.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-record-full.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-record-full.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-recurse-unwind.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-recurse-unwind.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-recurse-unwind.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-rvalue-ref-value-cc.cc Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-rvalue-ref-value-cc.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-section-script.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-section-script.exp gdb: Remove arm-symbianelf support 2021-02-11 07:23:42 +10:30
py-section-script.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-shared-sl.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-shared.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-shared.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-startup-opt.exp gdb/testsuite: update expected results in gdb.python/py-startup-opt.exp 2021-05-03 12:21:00 +01:00
py-strfns.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-strfns.exp gdb/testsuite: make test names unique in gdb.python/py-strfns.exp 2021-03-12 12:18:33 +00:00
py-symbol-2.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-symbol.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-symbol.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-symtab.exp gdb/testsuite: make test names unique in gdb.python/py-symtab.exp 2021-03-12 12:18:33 +00:00
py-sync-interp.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-sync-interp.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-template.cc Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-template.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-thrhandle.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-thrhandle.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-type.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-type.exp gdb: update Type.fields doc based on actual GDB behavior 2021-05-04 22:19:05 -04:00
py-typeprint.cc Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-typeprint.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-typeprint.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-unwind-inline.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-unwind-inline.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-unwind-inline.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-unwind-maint.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-unwind-maint.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-unwind-maint.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-unwind.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-unwind.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-unwind.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
py-value-cc.cc Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-value-cc.exp gdb/testsuite: remove duplicate test from gdb.python/py-value-cc.exp 2021-03-12 12:18:34 +00:00
py-value.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-value.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-xmethods.cc Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-xmethods.exp Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
py-xmethods.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
python-1.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
python.c Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
python.exp gdb/python: reformat an error string 2021-02-08 11:03:54 +00:00
source1 Update copyright year range in all GDB files 2021-01-01 12:12:21 +04:00
source2.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
tui-window-disabled.c gdb: return true in TuiWindow.is_valid only if TUI is enabled 2021-02-08 11:56:16 +00:00
tui-window-disabled.exp gdb: return true in TuiWindow.is_valid only if TUI is enabled 2021-02-08 11:56:16 +00:00
tui-window-disabled.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00
tui-window.exp gdb/python: don't allow the user to delete window title attributes 2021-02-08 11:55:05 +00:00
tui-window.py gdb: re-format Python files using black 21.4b0 2021-05-07 10:56:20 -04:00