[PATCH v2 00/31] More cleanup elimination & unlimited args to user-defined funcs

Pedro Alves
2016-10-19T01:12:33Z

This is v2 of the series first sent here:
https://sourceware.org/ml/gdb-patches/2016-10/msg00223.html

v1's patch #1 is in master now.

v1's patch #2 never made it to the list in v1 for some reason. This
time, I've split that patch in many smaller pieces.

v1's patch #3 is the struct parse_expression one here.

I've added a few new patches as well:

E.g., one uses unique_ptr to manage agent_expr owning pointers,
similar to the struct expression one. (My goal here to show the
direction I think we should head. Help would be much appreciated in
applying the pattern to other random cases.)

The collection_list patch here is much more complete than what was in
v1.

And, so you don't all think C++fication is just pointless churn, the
last patch in the series is new too, and actually implements something
IMO useful. :-)

*** BLURB HERE ***

Pedro Alves (31):
Introduce string_printf
cli/cli-script.c: Remove some dead NULL checks
breakpoint.c:commands_command_1 constification and cleanup
cli-script.c: Simplify using std::string, eliminate cleanups
'struct expression *' -> gdb::unique_xmalloc_ptr<expression>
Introduce ui_file_as_string
Clean up tracepoint.h/c:collection_list
Use ui_file_as_string in dwarf2_compute_name
Use ui_file_as_string in gdb/xtensa-tdep.c
Use ui_file_as_string in gdb/ada-valprint.c
Use ui_file_as_string in gdb/ui-out.c
Use ui_file_as_string in gdb/utils.c
Use ui_file_as_string in gdb/arm-tdep.c
Use ui_file_as_string in gdb/guile/
Use ui_file_as_string in execute_command_to_string
Use ui_file_as_string in gdb/top.c
Use ui_file_as_string in gdb/printcmd.c
Use ui_file_as_string in gdb/python/
Use ui_file_as_string in gdb/remote.c
Use ui_file_as_string in gdb/cli/cli-setshow.c
Use ui_file_as_string in gdb/compile/
Use ui_file_as_string in gdb/c-exp.y
Use ui_file_as_string in gdbarch.sh/gdbarch.c
Use ui_file_as_string in gdb/ada-lang.c
Use ui_file_as_string in gdb/infrun.c
Use ui_file_as_string in gdb/rust-lang.c
Use ui_file_as_string in gdb/language.c
Use ui_file_as_string throughout more
'struct agent_expr *' -> unique_ptr<agent_expr>
Eliminate agent_expr_p; VEC -> std::vector in struct bp_target_info
Support an "unlimited" number of user-defined arguments

gdb/doc/gdb.texinfo | 6 +-
gdb/NEWS | 3 +
gdb/ada-lang.c | 83 ++-----
gdb/ada-lang.h | 2 +-
gdb/ada-valprint.c | 53 ++--
gdb/ada-varobj.c | 130 ++++------
gdb/arm-tdep.c | 6 +-
gdb/ax-gdb.c | 149 ++++--------
gdb/ax-gdb.h | 24 +-
gdb/ax-general.c | 48 +---
gdb/ax.h | 19 +-
gdb/break-catch-sig.c | 2 +-
gdb/break-catch-syscall.c | 2 +-
gdb/break-catch-throw.c | 26 +-
gdb/breakpoint.c | 226 +++++++----------
gdb/breakpoint.h | 25 +-
gdb/c-exp.y | 9 +-
gdb/c-lang.c | 9 +-
gdb/c-lang.h | 7 +-
gdb/c-typeprint.c | 5 +-
gdb/c-varobj.c | 142 ++++++-----
gdb/cli/cli-script.c | 290 ++++++++++------------
gdb/cli/cli-setshow.c | 7 +-
gdb/common/common-utils.c | 30 +++
gdb/common/common-utils.h | 24 ++
gdb/compile/compile-c-support.c | 6 +-
gdb/compile/compile.c | 70 +++---
gdb/cp-abi.c | 2 +-
gdb/cp-abi.h | 7 +-
gdb/cp-support.c | 60 ++---
gdb/cp-support.h | 10 +-
gdb/dbxread.c | 22 +-
gdb/dtrace-probe.c | 6 +-
gdb/dwarf2read.c | 25 +-
gdb/eval.c | 43 +---
gdb/expression.h | 12 +-
gdb/gdbarch.c | 8 +-
gdb/gdbarch.sh | 8 +-
gdb/gdbcmd.h | 2 +-
gdb/gdbtypes.c | 12 +-
gdb/gnu-v3-abi.c | 57 ++---
gdb/guile/guile.c | 18 +-
gdb/guile/scm-breakpoint.c | 6 +-
gdb/guile/scm-disasm.c | 6 +-
gdb/guile/scm-frame.c | 6 +-
gdb/guile/scm-type.c | 42 ++--
gdb/guile/scm-value.c | 18 +-
gdb/infcmd.c | 9 +-
gdb/infrun.c | 6 +-
gdb/language.c | 7 +-
gdb/language.h | 14 +-
gdb/linespec.c | 53 ++--
gdb/mi/mi-cmd-var.c | 70 ++----
gdb/mi/mi-main.c | 43 ++--
gdb/minsyms.c | 17 +-
gdb/objc-lang.c | 7 +-
gdb/parse.c | 50 ++--
gdb/printcmd.c | 62 ++---
gdb/python/py-arch.c | 10 +-
gdb/python/py-breakpoint.c | 8 +-
gdb/python/py-frame.c | 8 +-
gdb/python/py-type.c | 10 +-
gdb/python/py-unwind.c | 7 +-
gdb/python/py-value.c | 7 +-
gdb/python/py-varobj.c | 4 +-
gdb/python/python.c | 19 +-
gdb/remote.c | 88 +++----
gdb/rust-exp.y | 11 +-
gdb/rust-lang.c | 57 ++---
gdb/stabsread.c | 21 +-
gdb/stack.c | 6 +-
gdb/symtab.c | 87 +++----
gdb/symtab.h | 39 ++-
gdb/top.c | 14 +-
gdb/tracepoint.c | 522 ++++++++++++++++------------------------
gdb/tracepoint.h | 74 ++++--
gdb/typeprint.c | 21 +-
gdb/ui-file.c | 22 ++
gdb/ui-file.h | 6 +
gdb/ui-out.c | 9 +-
gdb/utils.c | 5 +-
gdb/value.c | 8 +-
gdb/value.h | 2 +-
gdb/varobj-iter.h | 4 +-
gdb/varobj.c | 221 ++++++++---------
gdb/varobj.h | 70 +++---
gdb/xtensa-tdep.c | 9 +-
87 files changed, 1486 insertions(+), 1994 deletions(-)

--
2.5.5