aboutsummaryrefslogtreecommitdiff
path: root/gdb/maint.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2013-12-26 22:04:40 -0700
committerTom Tromey <tromey@redhat.com>2014-01-20 09:10:51 -0700
commit1f2bdf09c6ace2eefc3dd4dfc7366dea9ff5b30e (patch)
tree45c24f000adc6a7696aa44163b94d1359f70b6f4 /gdb/maint.c
parentcec2c50d38391e11f7116643450156560e5a1b91 (diff)
downloadgdb-1f2bdf09c6ace2eefc3dd4dfc7366dea9ff5b30e.zip
gdb-1f2bdf09c6ace2eefc3dd4dfc7366dea9ff5b30e.tar.gz
gdb-1f2bdf09c6ace2eefc3dd4dfc7366dea9ff5b30e.tar.bz2
convert flags to bitfields
This changes various flags struct cmd_list_element into bitfields. In general I think bitfields are cleaner than flag words, at least in a case like this where there is no need to pass the flags around independently of the enclosing struct. 2014-01-20 Tom Tromey <tromey@redhat.com> * cli/cli-decode.c (add_cmd, deprecate_cmd, add_alias_cmd) (add_setshow_cmd_full, delete_cmd, lookup_cmd_1) (deprecated_cmd_warning, complete_on_cmdlist): Update. * cli/cli-decode.h (CMD_DEPRECATED, DEPRECATED_WARN_USER) (MALLOCED_REPLACEMENT, DOC_ALLOCATED): Remove. (struct cmd_list_element) <flags>: Remove. <cmd_deprecated, deprecated_warn_user, malloced_replacement, doc_allocated>: New fields. <hook_in, allow_unknown, abbrev_flag, type, var_type>: Now bitfields. * maint.c (maintenance_do_deprecate): Update. * top.c (execute_command): Update.
Diffstat (limited to 'gdb/maint.c')
-rw-r--r--gdb/maint.c28
1 files changed, 20 insertions, 8 deletions
diff --git a/gdb/maint.c b/gdb/maint.c
index 41a39e7..2fa6add 100644
--- a/gdb/maint.c
+++ b/gdb/maint.c
@@ -615,28 +615,40 @@ maintenance_do_deprecate (char *text, int deprecate)
memory. */
if (alias)
{
- if (alias->flags & MALLOCED_REPLACEMENT)
+ if (alias->malloced_replacement)
xfree (alias->replacement);
if (deprecate)
- alias->flags |= (DEPRECATED_WARN_USER | CMD_DEPRECATED);
+ {
+ alias->deprecated_warn_user = 1;
+ alias->cmd_deprecated = 1;
+ }
else
- alias->flags &= ~(DEPRECATED_WARN_USER | CMD_DEPRECATED);
+ {
+ alias->deprecated_warn_user = 0;
+ alias->cmd_deprecated = 0;
+ }
alias->replacement = replacement;
- alias->flags |= MALLOCED_REPLACEMENT;
+ alias->malloced_replacement = 1;
return;
}
else if (cmd)
{
- if (cmd->flags & MALLOCED_REPLACEMENT)
+ if (cmd->malloced_replacement)
xfree (cmd->replacement);
if (deprecate)
- cmd->flags |= (DEPRECATED_WARN_USER | CMD_DEPRECATED);
+ {
+ cmd->deprecated_warn_user = 1;
+ cmd->cmd_deprecated = 1;
+ }
else
- cmd->flags &= ~(DEPRECATED_WARN_USER | CMD_DEPRECATED);
+ {
+ cmd->deprecated_warn_user = 0;
+ cmd->cmd_deprecated = 0;
+ }
cmd->replacement = replacement;
- cmd->flags |= MALLOCED_REPLACEMENT;
+ cmd->malloced_replacement = 1;
return;
}
xfree (replacement);