From 1f2bdf09c6ace2eefc3dd4dfc7366dea9ff5b30e Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Thu, 26 Dec 2013 22:04:40 -0700 Subject: 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 * 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) : Remove. : New fields. : Now bitfields. * maint.c (maintenance_do_deprecate): Update. * top.c (execute_command): Update. --- gdb/maint.c | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) (limited to 'gdb/maint.c') 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); -- cgit v1.1