Add add_cmd function overloads
authorTom Tromey <tom@tromey.com>
Sun, 10 Sep 2017 02:51:33 +0000 (20:51 -0600)
committerTom Tromey <tom@tromey.com>
Wed, 27 Sep 2017 14:44:14 +0000 (08:44 -0600)
commit0450cc4ce8b4775c47e9aaa1c5a34e181b10ae98
treef72a3f6796ac10fe11c3ca341aaf22aea3a8b693
parenta9bbfbd85fddfea2db30810c33c4bb130a2ef773
Add add_cmd function overloads

This adds two add_cmd overloads: one whose callback takes a const char *,
and one that doesn't accept a function at all.  The no-function overload
was introduced to avoid ambiguity when NULL was passed as the function.

Long term the goal is for all commands to take const arguments, and
for the non-const variants to be removed entirely.

gdb/ChangeLog
2017-09-27  Tom Tromey  <tom@tromey.com>

* cli/cli-decode.c (add_cmd, set_cmd_cfunc): New function
overloads.
(do_add_cmd): Rename from add_cmd.  Don't call set_cmd_cfunc.
(do_const_cfunc): New function.
(cmd_cfunc_eq): New overload.
(cli_user_command_p): Check do_const_cfunc.
* cli/cli-decode.h (struct cmd_list_element) <function>: New field
const_cfunc.
* command.h (add_cmd): Add const overload and no-function
overload.
(set_cmd_cfunc): Add const overload.
(cmd_const_cfunc_ftype): Declare.
(cmd_cfunc_eq): Add const overload.
* breakpoint.c, cli-cmds.c, cli-dump.c, guile/scm-cmd.c,
python/py-cmd.c, target.c, tracepoint.c: Use no-function add_cmd
overload.
gdb/ChangeLog
gdb/breakpoint.c
gdb/cli/cli-cmds.c
gdb/cli/cli-decode.c
gdb/cli/cli-decode.h
gdb/cli/cli-dump.c
gdb/command.h
gdb/guile/scm-cmd.c
gdb/python/py-cmd.c
gdb/target.c
gdb/tracepoint.c