+ /* When 1 indicated that this command is deprecated. It may be
+ removed from gdb's command set in the future. */
+
+ unsigned int cmd_deprecated : 1;
+
+ /* The user needs to be warned that this is a deprecated command.
+ The user should only be warned the first time a command is
+ used. */
+
+ unsigned int deprecated_warn_user : 1;
+
+ /* When functions are deprecated at compile time (this is the way
+ it should, in general, be done) the memory containing the
+ replacement string is statically allocated. In some cases it
+ makes sense to deprecate commands at runtime (the testsuite is
+ one example). In this case the memory for replacement is
+ malloc'ed. When a command is undeprecated or re-deprecated at
+ runtime we don't want to risk calling free on statically
+ allocated memory, so we check this flag. */
+
+ unsigned int malloced_replacement : 1;
+
+ /* Set if the doc field should be xfree'd. */
+
+ unsigned int doc_allocated : 1;
+
+ /* Flag that specifies if this command is already running its hook. */
+ /* Prevents the possibility of hook recursion. */
+ unsigned int hook_in : 1;
+
+ /* For prefix commands only:
+ nonzero means do not get an error if subcommand is not
+ recognized; call the prefix's own function in that case. */
+ unsigned int allow_unknown : 1;
+
+ /* Nonzero says this is an abbreviation, and should not
+ be mentioned in lists of commands.
+ This allows "br<tab>" to complete to "break", which it
+ otherwise wouldn't. */
+ unsigned int abbrev_flag : 1;
+
+ /* Type of "set" or "show" command (or SET_NOT_SET if not "set"
+ or "show"). */
+ ENUM_BITFIELD (cmd_types) type : 2;
+
+ /* What kind of variable is *VAR? */
+ ENUM_BITFIELD (var_types) var_type : 4;
+