From 9a24775b97646827396073d0d7e510b9694331ab Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Mon, 4 Sep 2017 18:23:22 +0100 Subject: 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 * 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) : 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. --- gdb/record-btrace.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'gdb/record-btrace.c') diff --git a/gdb/record-btrace.c b/gdb/record-btrace.c index d35800b..220b33c 100644 --- a/gdb/record-btrace.c +++ b/gdb/record-btrace.c @@ -630,15 +630,16 @@ static void btrace_insn_history (struct ui_out *uiout, const struct btrace_thread_info *btinfo, const struct btrace_insn_iterator *begin, - const struct btrace_insn_iterator *end, int flags) + const struct btrace_insn_iterator *end, + gdb_disassembly_flags flags) { struct cleanup *cleanups, *ui_item_chain; struct gdbarch *gdbarch; struct btrace_insn_iterator it; struct btrace_line_range last_lines; - DEBUG ("itrace (0x%x): [%u; %u)", flags, btrace_insn_number (begin), - btrace_insn_number (end)); + DEBUG ("itrace (0x%x): [%u; %u)", (unsigned) flags, + btrace_insn_number (begin), btrace_insn_number (end)); flags |= DISASSEMBLY_SPECULATIVE; @@ -720,7 +721,8 @@ btrace_insn_history (struct ui_out *uiout, /* The to_insn_history method of target record-btrace. */ static void -record_btrace_insn_history (struct target_ops *self, int size, int flags) +record_btrace_insn_history (struct target_ops *self, int size, + gdb_disassembly_flags flags) { struct btrace_thread_info *btinfo; struct btrace_insn_history *history; @@ -740,7 +742,7 @@ record_btrace_insn_history (struct target_ops *self, int size, int flags) { struct btrace_insn_iterator *replay; - DEBUG ("insn-history (0x%x): %d", flags, size); + DEBUG ("insn-history (0x%x): %d", (unsigned) flags, size); /* If we're replaying, we start at the replay position. Otherwise, we start at the tail of the trace. */ @@ -772,7 +774,7 @@ record_btrace_insn_history (struct target_ops *self, int size, int flags) begin = history->begin; end = history->end; - DEBUG ("insn-history (0x%x): %d, prev: [%u; %u)", flags, size, + DEBUG ("insn-history (0x%x): %d, prev: [%u; %u)", (unsigned) flags, size, btrace_insn_number (&begin), btrace_insn_number (&end)); if (size < 0) @@ -804,7 +806,8 @@ record_btrace_insn_history (struct target_ops *self, int size, int flags) static void record_btrace_insn_history_range (struct target_ops *self, - ULONGEST from, ULONGEST to, int flags) + ULONGEST from, ULONGEST to, + gdb_disassembly_flags flags) { struct btrace_thread_info *btinfo; struct btrace_insn_history *history; @@ -818,7 +821,7 @@ record_btrace_insn_history_range (struct target_ops *self, low = from; high = to; - DEBUG ("insn-history (0x%x): [%u; %u)", flags, low, high); + DEBUG ("insn-history (0x%x): [%u; %u)", (unsigned) flags, low, high); /* Check for wrap-arounds. */ if (low != from || high != to) @@ -853,7 +856,8 @@ record_btrace_insn_history_range (struct target_ops *self, static void record_btrace_insn_history_from (struct target_ops *self, - ULONGEST from, int size, int flags) + ULONGEST from, int size, + gdb_disassembly_flags flags) { ULONGEST begin, end, context; -- cgit v1.1