From: Tom Tromey <tom@tromey.com>
To: Pedro Alves <palves@redhat.com>
Cc: Tom Tromey <tom@tromey.com>, gdb-patches@sourceware.org
Subject: Re: [RFA 01/67] Add add_cmd function overloads
Date: Sat, 23 Sep 2017 04:30:00 -0000 [thread overview]
Message-ID: <87a81mghp2.fsf@tromey.com> (raw)
In-Reply-To: <c660e939-5c86-ccc2-882b-028a7b614e82@redhat.com> (Pedro Alves's message of "Thu, 21 Sep 2017 11:25:06 +0100")
>>>>> "Pedro" == Pedro Alves <palves@redhat.com> writes:
Pedro> Can you please add some comments describing the difference between the
Pedro> overloads? Here and in other cases.
Here's the updated version.
Tom
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index aa50dc9..4f4b7d7 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,22 @@
+2017-09-20 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.
+
2017-09-22 Tom Tromey <tom@tromey.com>
* utils.c (class scoped_input_handler) <m_quit_handler>: Change
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index 8585f5e..5549fe7 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -15414,13 +15414,13 @@ add_catch_command (const char *name, const char *docstring,
{
struct cmd_list_element *command;
- command = add_cmd (name, class_breakpoint, NULL, docstring,
+ command = add_cmd (name, class_breakpoint, docstring,
&catch_cmdlist);
set_cmd_sfunc (command, sfunc);
set_cmd_context (command, user_data_catch);
set_cmd_completer (command, completer);
- command = add_cmd (name, class_breakpoint, NULL, docstring,
+ command = add_cmd (name, class_breakpoint, docstring,
&tcatch_cmdlist);
set_cmd_sfunc (command, sfunc);
set_cmd_context (command, user_data_tcatch);
diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c
index cbafb13..67910be 100644
--- a/gdb/cli/cli-cmds.c
+++ b/gdb/cli/cli-cmds.c
@@ -1693,28 +1693,28 @@ _initialize_cli_cmds (void)
/* Define the classes of commands.
They will appear in the help list in alphabetical order. */
- add_cmd ("internals", class_maintenance, NULL, _("\
+ add_cmd ("internals", class_maintenance, _("\
Maintenance commands.\n\
Some gdb commands are provided just for use by gdb maintainers.\n\
These commands are subject to frequent change, and may not be as\n\
well documented as user commands."),
&cmdlist);
- add_cmd ("obscure", class_obscure, NULL, _("Obscure features."), &cmdlist);
- add_cmd ("aliases", class_alias, NULL,
+ add_cmd ("obscure", class_obscure, _("Obscure features."), &cmdlist);
+ add_cmd ("aliases", class_alias,
_("Aliases of other commands."), &cmdlist);
- add_cmd ("user-defined", class_user, NULL, _("\
+ add_cmd ("user-defined", class_user, _("\
User-defined commands.\n\
The commands in this class are those defined by the user.\n\
Use the \"define\" command to define a command."), &cmdlist);
- add_cmd ("support", class_support, NULL, _("Support facilities."), &cmdlist);
+ add_cmd ("support", class_support, _("Support facilities."), &cmdlist);
if (!dbx_commands)
- add_cmd ("status", class_info, NULL, _("Status inquiries."), &cmdlist);
- add_cmd ("files", class_files, NULL, _("Specifying and examining files."),
+ add_cmd ("status", class_info, _("Status inquiries."), &cmdlist);
+ add_cmd ("files", class_files, _("Specifying and examining files."),
&cmdlist);
- add_cmd ("breakpoints", class_breakpoint, NULL,
+ add_cmd ("breakpoints", class_breakpoint,
_("Making program stop at certain points."), &cmdlist);
- add_cmd ("data", class_vars, NULL, _("Examining data."), &cmdlist);
- add_cmd ("stack", class_stack, NULL, _("\
+ add_cmd ("data", class_vars, _("Examining data."), &cmdlist);
+ add_cmd ("stack", class_stack, _("\
Examining the stack.\n\
The stack is made up of stack frames. Gdb assigns numbers to stack frames\n\
counting from zero for the innermost (currently executing) frame.\n\n\
@@ -1723,7 +1723,7 @@ Variable lookups are done with respect to the selected frame.\n\
When the program being debugged stops, gdb selects the innermost frame.\n\
The commands below can be used to select other frames by number or address."),
&cmdlist);
- add_cmd ("running", class_run, NULL, _("Running the program."), &cmdlist);
+ add_cmd ("running", class_run, _("Running the program."), &cmdlist);
/* Define general commands. */
diff --git a/gdb/cli/cli-decode.c b/gdb/cli/cli-decode.c
index 1bbbe46..fc4d468 100644
--- a/gdb/cli/cli-decode.c
+++ b/gdb/cli/cli-decode.c
@@ -109,14 +109,26 @@ do_cfunc (struct cmd_list_element *c, char *args, int from_tty)
void
set_cmd_cfunc (struct cmd_list_element *cmd, cmd_cfunc_ftype *cfunc)
{
- if (cfunc == NULL)
- cmd->func = NULL;
- else
- cmd->func = do_cfunc;
+ gdb_assert (cfunc != NULL);
+ cmd->func = do_cfunc;
cmd->function.cfunc = cfunc; /* Ok. */
}
static void
+do_const_cfunc (struct cmd_list_element *c, char *args, int from_tty)
+{
+ c->function.const_cfunc (args, from_tty); /* Ok. */
+}
+
+void
+set_cmd_cfunc (struct cmd_list_element *cmd, cmd_const_cfunc_ftype *cfunc)
+{
+ gdb_assert (cfunc != NULL);
+ cmd->func = do_const_cfunc;
+ cmd->function.const_cfunc = cfunc; /* Ok. */
+}
+
+static void
do_sfunc (struct cmd_list_element *c, char *args, int from_tty)
{
c->function.sfunc (args, from_tty, c); /* Ok. */
@@ -138,6 +150,12 @@ cmd_cfunc_eq (struct cmd_list_element *cmd, cmd_cfunc_ftype *cfunc)
return cmd->func == do_cfunc && cmd->function.cfunc == cfunc;
}
+int
+cmd_cfunc_eq (struct cmd_list_element *cmd, cmd_const_cfunc_ftype *cfunc)
+{
+ return cmd->func == do_const_cfunc && cmd->function.const_cfunc == cfunc;
+}
+
void
set_cmd_context (struct cmd_list_element *cmd, void *context)
{
@@ -189,9 +207,9 @@ set_cmd_completer_handle_brkchars (struct cmd_list_element *cmd,
Returns a pointer to the added command (not necessarily the head
of *LIST). */
-struct cmd_list_element *
-add_cmd (const char *name, enum command_class theclass, cmd_cfunc_ftype *fun,
- const char *doc, struct cmd_list_element **list)
+static struct cmd_list_element *
+do_add_cmd (const char *name, enum command_class theclass,
+ const char *doc, struct cmd_list_element **list)
{
struct cmd_list_element *c = XNEW (struct cmd_list_element);
struct cmd_list_element *p, *iter;
@@ -229,7 +247,6 @@ add_cmd (const char *name, enum command_class theclass, cmd_cfunc_ftype *fun,
c->name = name;
c->theclass = theclass;
- set_cmd_cfunc (c, fun);
set_cmd_context (c, NULL);
c->doc = doc;
c->cmd_deprecated = 0;
@@ -259,6 +276,35 @@ add_cmd (const char *name, enum command_class theclass, cmd_cfunc_ftype *fun,
return c;
}
+struct cmd_list_element *
+add_cmd (const char *name, enum command_class theclass, cmd_cfunc_ftype *fun,
+ const char *doc, struct cmd_list_element **list)
+{
+ cmd_list_element *result = do_add_cmd (name, theclass, doc, list);
+ set_cmd_cfunc (result, fun);
+ return result;
+}
+
+struct cmd_list_element *
+add_cmd (const char *name, enum command_class theclass,
+ const char *doc, struct cmd_list_element **list)
+{
+ cmd_list_element *result = do_add_cmd (name, theclass, doc, list);
+ result->func = NULL;
+ result->function.cfunc = NULL; /* Ok. */
+ return result;
+}
+
+struct cmd_list_element *
+add_cmd (const char *name, enum command_class theclass,
+ cmd_const_cfunc_ftype *fun,
+ const char *doc, struct cmd_list_element **list)
+{
+ cmd_list_element *result = do_add_cmd (name, theclass, doc, list);
+ set_cmd_cfunc (result, fun);
+ return result;
+}
+
/* Deprecates a command CMD.
REPLACEMENT is the name of the command which should be used in
place of this command, or NULL if no such command exists.
@@ -301,7 +347,7 @@ add_alias_cmd (const char *name, cmd_list_element *old,
return 0;
}
- struct cmd_list_element *c = add_cmd (name, theclass, NULL, old->doc, list);
+ struct cmd_list_element *c = add_cmd (name, theclass, old->doc, list);
/* If OLD->DOC can be freed, we should make another copy. */
if (old->doc_allocated)
@@ -419,7 +465,7 @@ add_set_or_show_cmd (const char *name,
const char *doc,
struct cmd_list_element **list)
{
- struct cmd_list_element *c = add_cmd (name, theclass, NULL, doc, list);
+ struct cmd_list_element *c = add_cmd (name, theclass, doc, list);
gdb_assert (type == set_cmd || type == show_cmd);
c->type = type;
@@ -1909,5 +1955,6 @@ int
cli_user_command_p (struct cmd_list_element *cmd)
{
return (cmd->theclass == class_user
- && (cmd->func == do_cfunc || cmd->func == do_sfunc));
+ && (cmd->func == do_cfunc || cmd->func == do_sfunc
+ || cmd->func == do_const_cfunc));
}
diff --git a/gdb/cli/cli-decode.h b/gdb/cli/cli-decode.h
index 50b858c..691bfe3 100644
--- a/gdb/cli/cli-decode.h
+++ b/gdb/cli/cli-decode.h
@@ -114,6 +114,8 @@ struct cmd_list_element
{
/* If type is not_set_cmd, call it like this: */
cmd_cfunc_ftype *cfunc;
+ /* ... or like this. */
+ cmd_const_cfunc_ftype *const_cfunc;
/* If type is set_cmd or show_cmd, first set the variables,
and then call this: */
cmd_sfunc_ftype *sfunc;
diff --git a/gdb/cli/cli-dump.c b/gdb/cli/cli-dump.c
index 8d57119..550548a 100644
--- a/gdb/cli/cli-dump.c
+++ b/gdb/cli/cli-dump.c
@@ -360,7 +360,7 @@ add_dump_command (const char *name,
struct cmd_list_element *c;
struct dump_context *d;
- c = add_cmd (name, all_commands, NULL, descr, &dump_cmdlist);
+ c = add_cmd (name, all_commands, descr, &dump_cmdlist);
c->completer = filename_completer;
d = XNEW (struct dump_context);
d->func = func;
@@ -368,7 +368,7 @@ add_dump_command (const char *name,
set_cmd_context (c, d);
c->func = call_dump_func;
- c = add_cmd (name, all_commands, NULL, descr, &append_cmdlist);
+ c = add_cmd (name, all_commands, descr, &append_cmdlist);
c->completer = filename_completer;
d = XNEW (struct dump_context);
d->func = func;
diff --git a/gdb/command.h b/gdb/command.h
index 3a4a449..02e9a69 100644
--- a/gdb/command.h
+++ b/gdb/command.h
@@ -117,6 +117,7 @@ var_types;
struct cmd_list_element;
typedef void cmd_cfunc_ftype (char *args, int from_tty);
+typedef void cmd_const_cfunc_ftype (const char *args, int from_tty);
/* This structure specifies notifications to be suppressed by a cli
command interpreter. */
@@ -140,6 +141,19 @@ extern struct cmd_list_element *add_cmd (const char *, enum command_class,
const char *,
struct cmd_list_element **);
+/* Like add_cmd, but no command function is specified. */
+
+extern struct cmd_list_element *add_cmd (const char *, enum command_class,
+ const char *,
+ struct cmd_list_element **);
+
+/* Const-correct variant of the above. */
+
+extern struct cmd_list_element *add_cmd (const char *, enum command_class,
+ cmd_const_cfunc_ftype *fun,
+ const char *,
+ struct cmd_list_element **);
+
extern struct cmd_list_element *add_alias_cmd (const char *, const char *,
enum command_class, int,
struct cmd_list_element **);
@@ -169,7 +183,14 @@ extern struct cmd_list_element *add_abbrev_prefix_cmd (const char *,
/* Set the commands corresponding callback. */
extern void set_cmd_cfunc (struct cmd_list_element *cmd,
- cmd_cfunc_ftype *cfunc);
+ cmd_cfunc_ftype *cfunc)
+ ATTRIBUTE_NONNULL (1) ATTRIBUTE_NONNULL (2);
+
+/* Const-correct variant of the above. */
+
+extern void set_cmd_cfunc (struct cmd_list_element *cmd,
+ cmd_const_cfunc_ftype *cfunc)
+ ATTRIBUTE_NONNULL (1) ATTRIBUTE_NONNULL (2);
typedef void cmd_sfunc_ftype (char *args, int from_tty,
struct cmd_list_element *c);
@@ -205,6 +226,8 @@ extern void set_cmd_completer_handle_brkchars (struct cmd_list_element *,
around in cmd objects to test the value of the commands sfunc(). */
extern int cmd_cfunc_eq (struct cmd_list_element *cmd,
cmd_cfunc_ftype *cfun);
+extern int cmd_cfunc_eq (struct cmd_list_element *cmd,
+ cmd_const_cfunc_ftype *cfun);
/* Each command object has a local context attached to it. */
extern void set_cmd_context (struct cmd_list_element *cmd,
diff --git a/gdb/guile/scm-cmd.c b/gdb/guile/scm-cmd.c
index 5501d31..0bd5105 100644
--- a/gdb/guile/scm-cmd.c
+++ b/gdb/guile/scm-cmd.c
@@ -774,7 +774,7 @@ gdbscm_register_command_x (SCM self)
else
{
cmd = add_cmd (c_smob->cmd_name, c_smob->cmd_class,
- NULL, c_smob->doc, cmd_list);
+ c_smob->doc, cmd_list);
}
}
CATCH (except, RETURN_MASK_ALL)
diff --git a/gdb/python/py-cmd.c b/gdb/python/py-cmd.c
index 2a7c613..d969b12 100644
--- a/gdb/python/py-cmd.c
+++ b/gdb/python/py-cmd.c
@@ -612,7 +612,7 @@ cmdpy_init (PyObject *self, PyObject *args, PyObject *kw)
pfx_name, allow_unknown, cmd_list);
}
else
- cmd = add_cmd (cmd_name, (enum command_class) cmdtype, NULL,
+ cmd = add_cmd (cmd_name, (enum command_class) cmdtype,
docstring, cmd_list);
/* There appears to be no API to set this. */
diff --git a/gdb/target.c b/gdb/target.c
index 5a2c087..c26fba7 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -386,7 +386,7 @@ Remaining arguments are interpreted by the target protocol. For more\n\
information on the arguments for a particular protocol, type\n\
`help target ' followed by the protocol name."),
&targetlist, "target ", 0, &cmdlist);
- c = add_cmd (t->to_shortname, no_class, NULL, t->to_doc, &targetlist);
+ c = add_cmd (t->to_shortname, no_class, t->to_doc, &targetlist);
set_cmd_sfunc (c, open_target);
set_cmd_context (c, t);
if (completer != NULL)
@@ -411,7 +411,7 @@ add_deprecated_target_alias (struct target_ops *t, const char *alias)
/* If we use add_alias_cmd, here, we do not get the deprecated warning,
see PR cli/15104. */
- c = add_cmd (alias, no_class, NULL, t->to_doc, &targetlist);
+ c = add_cmd (alias, no_class, t->to_doc, &targetlist);
set_cmd_sfunc (c, open_target);
set_cmd_context (c, t);
alt = xstrprintf ("target %s", t->to_shortname);
diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c
index 437db59..12cc2fb 100644
--- a/gdb/tracepoint.c
+++ b/gdb/tracepoint.c
@@ -4203,7 +4203,7 @@ _initialize_tracepoint (void)
add_info ("scope", info_scope_command,
_("List the variables local to a scope"));
- add_cmd ("tracepoints", class_trace, NULL,
+ add_cmd ("tracepoints", class_trace,
_("Tracing of program execution without stopping the program."),
&cmdlist);
next prev parent reply other threads:[~2017-09-23 4:30 UTC|newest]
Thread overview: 110+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-21 5:16 [RFA 00/67] Simple add_cmd constification Tom Tromey
2017-09-21 5:11 ` [RFA 05/67] Constify two functions in valprint.c Tom Tromey
2017-09-21 5:13 ` [RFA 07/67] Constify two functions in cp-abi.c Tom Tromey
2017-09-21 5:13 ` [RFA 03/67] Constify not_just_help_class_command Tom Tromey
2017-09-21 5:13 ` [RFA 09/67] Constify display_tib Tom Tromey
2017-09-21 5:13 ` [RFA 16/67] Constify some functions in memattr.c Tom Tromey
2017-09-21 5:13 ` [RFA 12/67] Constify maintenance_cplus_namespace Tom Tromey
2017-09-21 5:13 ` [RFA 28/67] Constify some commands in record-btrace.c Tom Tromey
2017-09-21 7:02 ` Metzger, Markus T
2017-09-21 5:13 ` [RFA 10/67] Constify some functions in psymtab.c Tom Tromey
2017-09-21 5:13 ` [RFA 04/67] Constify info_probes_dtrace_command Tom Tromey
2017-09-21 12:48 ` Sergio Durigan Junior
2017-09-21 5:13 ` [RFA 14/67] Constify core_file_command Tom Tromey
2017-09-21 5:13 ` [RFA 25/67] Constify some commands in symfile.c Tom Tromey
2017-09-21 5:13 ` [RFA 18/67] Constify interpreter_exec_cmd Tom Tromey
2017-09-21 5:15 ` [RFA 20/67] Constify some commands in cli-cmds.c Tom Tromey
2017-09-21 5:15 ` [RFA 21/67] Constify commands in cli-dump.c Tom Tromey
2017-09-21 5:15 ` [RFA 15/67] Constify show_convenience Tom Tromey
2017-09-21 5:16 ` [RFA 22/67] Constify user_defined_command Tom Tromey
2017-09-21 5:16 ` [RFA 02/67] Constify add_cmd gdb_bfd.c Tom Tromey
2017-09-21 5:16 ` [RFA 26/67] Constify new_ui_command Tom Tromey
2017-09-21 5:16 ` [RFA 11/67] Constify first_component_command Tom Tromey
2017-09-21 5:16 ` [RFA 01/67] Add add_cmd function overloads Tom Tromey
2017-09-21 7:02 ` Metzger, Markus T
2017-09-21 10:25 ` Pedro Alves
2017-09-23 4:14 ` Tom Tromey
2017-09-23 4:14 ` Tom Tromey
2017-09-26 12:11 ` Pedro Alves
2017-09-27 14:44 ` Tom Tromey
2017-09-21 10:25 ` Pedro Alves
2017-09-23 4:18 ` Tom Tromey
2017-09-23 4:30 ` Tom Tromey [this message]
2017-09-23 4:49 ` Tom Tromey
2017-09-26 12:12 ` Pedro Alves
2017-09-27 14:42 ` Tom Tromey
2017-09-21 5:17 ` [RFA 27/67] Constify some commands in symmisc.c Tom Tromey
2017-09-21 5:17 ` [RFA 29/67] Constify some commands in skip.c Tom Tromey
2017-09-21 5:17 ` [RFA 08/67] Constify two functions in linux-fork.c Tom Tromey
2017-09-21 5:17 ` [RFA 13/67] Constify maintenance_print_user_registers Tom Tromey
2017-09-21 5:17 ` [RFA 06/67] Constify dump_arc_instruction_command Tom Tromey
2017-09-21 5:17 ` [RFA 23/67] Constify some commands in cli-logging.c Tom Tromey
2017-09-21 5:17 ` [RFA 17/67] Constify cmd_record_full_restore Tom Tromey
2017-09-21 7:02 ` Metzger, Markus T
2017-09-21 5:31 ` [RFA 24/67] Constify some commands in spu-tdep.c Tom Tromey
2017-09-21 5:31 ` [RFA 19/67] Constify maintenance_print_target_stack Tom Tromey
2017-09-21 5:39 ` [RFA 51/67] Constify info_probes_stap_command Tom Tromey
2017-09-21 12:48 ` Sergio Durigan Junior
2017-09-21 5:39 ` [RFA 52/67] Constify save_gdb_index_command Tom Tromey
2017-09-21 5:39 ` [RFA 33/67] Constify some commands in target-descriptions.c Tom Tromey
2017-09-21 5:39 ` [RFA 31/67] Constify some commands in tui.c Tom Tromey
2017-09-21 5:39 ` [RFA 50/67] Constify unset_exec_wrapper_command Tom Tromey
2017-09-21 5:39 ` [RFA 32/67] Constify maintenance_print_dummy_frames Tom Tromey
2017-09-21 5:39 ` [RFA 49/67] Constify some commands in btrace.c Tom Tromey
2017-09-21 7:02 ` Metzger, Markus T
2017-09-21 11:11 ` Pedro Alves
2017-09-21 13:06 ` Metzger, Markus T
2017-09-21 13:47 ` Pedro Alves
2017-09-21 16:53 ` Metzger, Markus T
2017-09-23 4:28 ` Tom Tromey
2017-09-26 8:15 ` Metzger, Markus T
2017-09-21 5:39 ` [RFA 48/67] Constify delete_bookmark_command Tom Tromey
2017-09-21 5:40 ` [RFA 63/67] Constify some commands in regcache.c Tom Tromey
2017-09-21 5:40 ` [RFA 47/67] Constify some commands in remote.c Tom Tromey
2017-09-21 5:40 ` [RFA 37/67] Constify some commands in record.c Tom Tromey
2017-09-21 7:02 ` Metzger, Markus T
2017-09-23 4:05 ` Tom Tromey
2017-09-21 10:00 ` Pedro Alves
2017-09-23 4:05 ` Tom Tromey
2017-09-23 4:29 ` Tom Tromey
2017-09-21 5:40 ` [RFA 38/67] Constify some linespec functions Tom Tromey
2017-09-21 10:04 ` Pedro Alves
2017-09-23 4:03 ` Tom Tromey
2017-09-26 12:17 ` Pedro Alves
2017-09-21 5:40 ` [RFA 65/67] Constify some commands in symtab.c Tom Tromey
2017-09-21 5:40 ` [RFA 66/67] Constify some commands in ada-tasks.c Tom Tromey
2017-09-21 5:40 ` [RFA 44/67] Constify some commands in thread.c Tom Tromey
2017-09-21 5:40 ` [RFA 34/67] Constify unwind_command Tom Tromey
2017-09-21 5:40 ` [RFA 54/67] Constify some commands in compile.c Tom Tromey
2017-09-21 5:40 ` [RFA 46/67] Constify some commands in mips-tdep.c Tom Tromey
2017-09-21 5:40 ` [RFA 56/67] Constify demangle_command Tom Tromey
2017-09-21 5:40 ` [RFA 64/67] Constify some commands in inferior.c Tom Tromey
2017-09-21 5:40 ` [RFA 35/67] Constify commands maint.c, plus maintenance_print_type Tom Tromey
2017-09-21 10:06 ` Pedro Alves
2017-09-23 4:32 ` Tom Tromey
2017-09-21 5:40 ` [RFA 55/67] Constify maintenance_info_program_spaces_command Tom Tromey
2017-09-21 5:40 ` [RFA 45/67] Constify cd_command Tom Tromey
2017-09-21 12:48 ` Sergio Durigan Junior
2017-09-21 5:40 ` [RFA 36/67] Constify some commands in source.c Tom Tromey
2017-09-21 5:40 ` [RFA 53/67] Constify maintenance_print_reggroups Tom Tromey
2017-09-21 5:40 ` [RFA 67/67] Constify find_command Tom Tromey
2017-09-21 5:40 ` [RFA 62/67] Constify some commands in printcmd.c Tom Tromey
2017-09-21 5:41 ` [RFA 60/67] Constify some commands in macrocmd.c Tom Tromey
2017-09-21 5:41 ` [RFA 58/67] Constify some commands in i386-tdep.c Tom Tromey
2017-09-21 5:41 ` [RFA 41/67] Constify some commands in remote-fileio.c Tom Tromey
2017-09-21 5:41 ` [RFA 39/67] Constify some commands in ax-gdb.c Tom Tromey
2017-09-21 5:41 ` [RFA 59/67] Constify some commands in infcmd.c Tom Tromey
2017-09-21 9:56 ` Pedro Alves
2017-09-21 5:41 ` [RFA 43/67] Constify some commands in probes.c Tom Tromey
2017-09-21 12:47 ` Sergio Durigan Junior
2017-09-21 5:42 ` [RFA 42/67] Constify some commands in exec.c, plus symbol_file_command Tom Tromey
2017-09-21 5:42 ` [RFA 40/67] Constify some commands in tracepoint.c Tom Tromey
2017-09-21 10:03 ` Pedro Alves
2017-09-23 4:34 ` Tom Tromey
2017-09-21 5:42 ` [RFA 30/67] Constify tui_reg_command Tom Tromey
2017-09-21 5:42 ` [RFA 61/67] Constify some commands in breakpoint.c Tom Tromey
2017-09-21 9:56 ` Pedro Alves
2017-09-21 13:20 ` Patrick Monnerat
2017-09-21 5:42 ` [RFA 57/67] Constify add_symbol_file_from_memory_command Tom Tromey
2017-09-21 10:26 ` [RFA 00/67] Simple add_cmd constification Pedro Alves
2017-09-26 12:19 ` Pedro Alves
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87a81mghp2.fsf@tromey.com \
--to=tom@tromey.com \
--cc=gdb-patches@sourceware.org \
--cc=palves@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox