diff options
author | Tom Tromey <tromey@redhat.com> | 2013-12-26 22:04:40 -0700 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2014-01-20 09:10:51 -0700 |
commit | 1f2bdf09c6ace2eefc3dd4dfc7366dea9ff5b30e (patch) | |
tree | 45c24f000adc6a7696aa44163b94d1359f70b6f4 /gdb/maint.c | |
parent | cec2c50d38391e11f7116643450156560e5a1b91 (diff) | |
download | gdb-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.c | 28 |
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); |