diff options
author | Pedro Alves <palves@redhat.com> | 2017-09-04 18:23:22 +0100 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2017-09-04 18:23:22 +0100 |
commit | 9a24775b97646827396073d0d7e510b9694331ab (patch) | |
tree | d360279777f8163d750f17c01507fc671e24b4b6 /gdb/disasm.h | |
parent | 9521ecda6835b338d61b1b06e1a91706711b1d0b (diff) | |
download | fsf-binutils-gdb-9a24775b97646827396073d0d7e510b9694331ab.zip fsf-binutils-gdb-9a24775b97646827396073d0d7e510b9694331ab.tar.gz fsf-binutils-gdb-9a24775b97646827396073d0d7e510b9694331ab.tar.bz2 |
Introduce gdb_disassembly_flags
For some reason I ended up staring at some of the "int flags" in
btrace-related code, and I got confused because I had no clue what the
flags where supposed to indicate.
Fix that by using enum_flags, so that:
#1 - it's clear from the type what the flags are about, and
#2 - the compiler can catch mismatching mistakes
gdb/ChangeLog:
2017-09-04 Pedro Alves <palves@redhat.com>
* cli/cli-cmds.c (print_disassembly, disassemble_current_function)
(disassemble_command): Use gdb_disassembly_flags instead of bare
int.
* disasm.c (gdb_pretty_print_disassembler::pretty_print_insn)
(dump_insns, do_mixed_source_and_assembly_deprecated)
(do_mixed_source_and_assembly, do_assembly_only, gdb_disassembly):
Use gdb_disassembly_flags instead of bare int.
* disasm.h (DISASSEMBLY_SOURCE_DEPRECATED, DISASSEMBLY_RAW_INSN)
(DISASSEMBLY_OMIT_FNAME, DISASSEMBLY_FILENAME)
(DISASSEMBLY_OMIT_PC, DISASSEMBLY_SOURCE)
(DISASSEMBLY_SPECULATIVE): No longer macros. Instead they're...
(enum gdb_disassembly_flag): ... values of this new enumeration.
(gdb_disassembly_flags): Define.
(gdb_disassembly)
(gdb_pretty_print_disassembler::pretty_print_insn): Use it.
* mi/mi-cmd-disas.c (mi_cmd_disassemble): Use
gdb_disassembly_flags instead of bare int.
* record-btrace.c (btrace_insn_history)
(record_btrace_insn_history, record_btrace_insn_history_range)
(record_btrace_insn_history_from): Use gdb_disassembly_flags
instead of bare int.
* record.c (get_insn_history_modifiers, cmd_record_insn_history):
Use gdb_disassembly_flags instead of bare int.
* target-debug.h (target_debug_print_gdb_disassembly_flags):
Define.
* target-delegates.c: Regenerate.
* target.c (target_insn_history, target_insn_history_from)
(target_insn_history_range): Use gdb_disassembly_flags instead of
bare int.
* target.h: Include "disasm.h".
(struct target_ops) <to_insn_history, to_insn_history_from,
to_insn_history_range>: Use gdb_disassembly_flags instead of bare
int.
(target_insn_history, target_insn_history_from)
(target_insn_history_range): Use gdb_disassembly_flags instead of
bare int.
Diffstat (limited to 'gdb/disasm.h')
-rw-r--r-- | gdb/disasm.h | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/gdb/disasm.h b/gdb/disasm.h index ad3e8dd..5b79be0 100644 --- a/gdb/disasm.h +++ b/gdb/disasm.h @@ -20,14 +20,19 @@ #define DISASM_H #include "dis-asm.h" - -#define DISASSEMBLY_SOURCE_DEPRECATED (0x1 << 0) -#define DISASSEMBLY_RAW_INSN (0x1 << 1) -#define DISASSEMBLY_OMIT_FNAME (0x1 << 2) -#define DISASSEMBLY_FILENAME (0x1 << 3) -#define DISASSEMBLY_OMIT_PC (0x1 << 4) -#define DISASSEMBLY_SOURCE (0x1 << 5) -#define DISASSEMBLY_SPECULATIVE (0x1 << 6) +#include "common/enum-flags.h" + +enum gdb_disassembly_flag + { + DISASSEMBLY_SOURCE_DEPRECATED = (0x1 << 0), + DISASSEMBLY_RAW_INSN = (0x1 << 1), + DISASSEMBLY_OMIT_FNAME = (0x1 << 2), + DISASSEMBLY_FILENAME = (0x1 << 3), + DISASSEMBLY_OMIT_PC = (0x1 << 4), + DISASSEMBLY_SOURCE = (0x1 << 5), + DISASSEMBLY_SPECULATIVE = (0x1 << 6), + }; +DEF_ENUM_FLAGS_TYPE (enum gdb_disassembly_flag, gdb_disassembly_flags); struct gdbarch; struct ui_out; @@ -87,7 +92,7 @@ struct disasm_insn }; extern void gdb_disassembly (struct gdbarch *gdbarch, struct ui_out *uiout, - int flags, int how_many, + gdb_disassembly_flags flags, int how_many, CORE_ADDR low, CORE_ADDR high); /* Print the instruction at address MEMADDR in debugged memory, @@ -109,7 +114,7 @@ public: /* Prints the instruction INSN into UIOUT and returns the length of the printed instruction in bytes. */ int pretty_print_insn (struct ui_out *uiout, const struct disasm_insn *insn, - int flags); + gdb_disassembly_flags flags); private: /* Returns the architecture used for disassembling. */ |