int
gdb_pretty_print_disassembler::pretty_print_insn (struct ui_out *uiout,
const struct disasm_insn *insn,
- int flags)
+ gdb_disassembly_flags flags)
{
/* parts of the symbolic representation of the address */
int unmapped;
static int
dump_insns (struct gdbarch *gdbarch,
struct ui_out *uiout, CORE_ADDR low, CORE_ADDR high,
- int how_many, int flags, CORE_ADDR *end_pc)
+ int how_many, gdb_disassembly_flags flags, CORE_ADDR *end_pc)
{
struct disasm_insn insn;
int num_displayed = 0;
(struct gdbarch *gdbarch, struct ui_out *uiout,
struct symtab *symtab,
CORE_ADDR low, CORE_ADDR high,
- int how_many, int flags)
+ int how_many, gdb_disassembly_flags flags)
{
int newlines = 0;
int nlines;
for (; next_line < mle[i].line; next_line++)
{
struct cleanup *ui_out_list_chain_line;
- struct cleanup *ui_out_tuple_chain_line;
- ui_out_tuple_chain_line
- = make_cleanup_ui_out_tuple_begin_end (uiout,
- "src_and_asm_line");
+ ui_out_emit_tuple tuple_emitter (uiout,
+ "src_and_asm_line");
print_source_lines (symtab, next_line, next_line + 1,
psl_flags);
ui_out_list_chain_line
= make_cleanup_ui_out_list_begin_end (uiout,
"line_asm_insn");
do_cleanups (ui_out_list_chain_line);
- do_cleanups (ui_out_tuple_chain_line);
}
/* Print the last line and leave list open for
asm instructions to be added. */
struct ui_out *uiout,
struct symtab *main_symtab,
CORE_ADDR low, CORE_ADDR high,
- int how_many, int flags)
+ int how_many, gdb_disassembly_flags flags)
{
const struct linetable_entry *le, *first_le;
int i, nlines;
a bunch of line tuples with no asm entries. */
int l;
struct cleanup *ui_out_list_chain_line;
- struct cleanup *ui_out_tuple_chain_line;
gdb_assert (sal.symtab != NULL);
for (l = start_preceding_line_to_display;
l < end_preceding_line_to_display;
++l)
{
- ui_out_tuple_chain_line
- = make_cleanup_ui_out_tuple_begin_end (uiout,
- "src_and_asm_line");
+ ui_out_emit_tuple tuple_emitter (uiout, "src_and_asm_line");
print_source_lines (sal.symtab, l, l + 1, psl_flags);
ui_out_list_chain_line
= make_cleanup_ui_out_list_begin_end (uiout,
"line_asm_insn");
do_cleanups (ui_out_list_chain_line);
- do_cleanups (ui_out_tuple_chain_line);
}
}
ui_out_tuple_chain
static void
do_assembly_only (struct gdbarch *gdbarch, struct ui_out *uiout,
CORE_ADDR low, CORE_ADDR high,
- int how_many, int flags)
+ int how_many, gdb_disassembly_flags flags)
{
- struct cleanup *ui_out_chain;
-
- ui_out_chain = make_cleanup_ui_out_list_begin_end (uiout, "asm_insns");
+ ui_out_emit_list list_emitter (uiout, "asm_insns");
dump_insns (gdbarch, uiout, low, high, how_many, flags, NULL);
-
- do_cleanups (ui_out_chain);
}
/* Initialize the disassemble info struct ready for the specified
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)
{
struct symtab *symtab;
/* A completion function for "set disassembler". */
-static VEC (char_ptr) *
+static void
disassembler_options_completer (struct cmd_list_element *ignore,
+ completion_tracker &tracker,
const char *text, const char *word)
{
struct gdbarch *gdbarch = get_current_arch ();
if (separator != NULL)
text = separator + 1;
text = skip_spaces_const (text);
- return complete_on_enum (opts->name, text, word);
+ complete_on_enum (tracker, opts->name, text, word);
}
- return NULL;
}