[PATCHv2 0/5] Add new 'print max-depth' feature

Andrew Burgess
2019-04-16T23:06:19Z

This revision hopefully addresses all of the feedback from the first
version.

Patches #1 and #2 are new, minor clean up patches.

Patch #3 (previously #1) is unchanged.

Patch #4 is new, this adds a new predicate to the language structure
to decide if a given type is a string or not.

Patch #5 this is updated from the previous version, there's more
documentation, many more tests, minor code issues identified in v1
have been addressed.

--

Andrew Burgess (5):
gdb/ada: Update some predicate functions to return bool
gdb/testsuite: Don't add gcc flags when compiling rust tests
gdb: Introduce new language field la_struct_too_deep_ellipsis
gdb: Introduce new language field la_is_string_type_p
gdb: Introduce 'print max-depth' feature

gdb/ChangeLog | 85 +++++++++
gdb/NEWS | 9 +
gdb/ada-lang.c | 12 +-
gdb/ada-lang.h | 4 +-
gdb/c-lang.c | 47 ++++-
gdb/c-lang.h | 5 +
gdb/cp-valprint.c | 80 +++++----
gdb/d-lang.c | 4 +-
gdb/doc/ChangeLog | 8 +
gdb/doc/gdb.texinfo | 70 ++++++++
gdb/doc/guile.texi | 3 +
gdb/doc/python.texi | 8 +
gdb/f-lang.c | 14 +-
gdb/go-lang.c | 14 +-
gdb/guile/scm-pretty-print.c | 19 +-
gdb/language.c | 22 ++-
gdb/language.h | 13 ++
gdb/m2-lang.c | 25 ++-
gdb/objc-lang.c | 4 +-
gdb/opencl-lang.c | 4 +-
gdb/p-lang.c | 14 +-
gdb/python/py-prettyprint.c | 15 +-
gdb/python/py-value.c | 7 +-
gdb/rust-lang.c | 24 ++-
gdb/testsuite/ChangeLog | 23 +++
gdb/testsuite/gdb.base/max-depth.c | 232 +++++++++++++++++++++++++
gdb/testsuite/gdb.base/max-depth.exp | 165 ++++++++++++++++++
gdb/testsuite/gdb.fortran/max-depth.exp | 41 +++++
gdb/testsuite/gdb.fortran/max-depth.f90 | 42 +++++
gdb/testsuite/gdb.go/max-depth.exp | 40 +++++
gdb/testsuite/gdb.go/max-depth.go | 41 +++++
gdb/testsuite/gdb.modula2/max-depth.c | 45 +++++
gdb/testsuite/gdb.modula2/max-depth.exp | 37 ++++
gdb/testsuite/gdb.python/py-format-string.exp | 21 +++
gdb/testsuite/gdb.python/py-nested-maps.c | 130 ++++++++++++++
gdb/testsuite/gdb.python/py-nested-maps.exp | 238 ++++++++++++++++++++++++++
gdb/testsuite/gdb.python/py-nested-maps.py | 135 +++++++++++++++
gdb/testsuite/lib/gdb.exp | 36 +++-
gdb/valprint.c | 56 +++++-
gdb/valprint.h | 12 ++
40 files changed, 1746 insertions(+), 58 deletions(-)
create mode 100644 gdb/testsuite/gdb.base/max-depth.c
create mode 100644 gdb/testsuite/gdb.base/max-depth.exp
create mode 100644 gdb/testsuite/gdb.fortran/max-depth.exp
create mode 100644 gdb/testsuite/gdb.fortran/max-depth.f90
create mode 100644 gdb/testsuite/gdb.go/max-depth.exp
create mode 100644 gdb/testsuite/gdb.go/max-depth.go
create mode 100644 gdb/testsuite/gdb.modula2/max-depth.c
create mode 100644 gdb/testsuite/gdb.modula2/max-depth.exp
create mode 100644 gdb/testsuite/gdb.python/py-nested-maps.c
create mode 100644 gdb/testsuite/gdb.python/py-nested-maps.exp
create mode 100644 gdb/testsuite/gdb.python/py-nested-maps.py

--
2.14.5