From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 91820 invoked by alias); 9 Sep 2017 15:35:57 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 91553 invoked by uid 89); 9 Sep 2017 15:35:57 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.4 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: gproxy3-pub.mail.unifiedlayer.com Received: from gproxy3-pub.mail.unifiedlayer.com (HELO gproxy3-pub.mail.unifiedlayer.com) (69.89.30.42) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 09 Sep 2017 15:35:55 +0000 Received: from cmgw3 (unknown [10.0.90.84]) by gproxy3.mail.unifiedlayer.com (Postfix) with ESMTP id CB397400EE for ; Sat, 9 Sep 2017 09:35:53 -0600 (MDT) Received: from box522.bluehost.com ([74.220.219.122]) by cmgw3 with id 7Tbq1w00o2f2jeq01TbtEn; Sat, 09 Sep 2017 09:35:53 -0600 X-Authority-Analysis: v=2.2 cv=K/VSJ2eI c=1 sm=1 tr=0 a=GsOEXm/OWkKvwdLVJsfwcA==:117 a=GsOEXm/OWkKvwdLVJsfwcA==:17 a=2JCJgTwv5E4A:10 a=zstS-IiYAAAA:8 a=mJ-s1lgqjq5yu8R7ygMA:9 a=F8NdyJtJG7KtOWWe:21 a=U93mHzT3vX5vJ_n_:21 a=4G6NA9xxw8l3yy4pmD5M:22 Received: from 75-166-76-94.hlrn.qwest.net ([75.166.76.94]:59756 helo=bapiya.Home) by box522.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.87) (envelope-from ) id 1dqhnS-00381I-JI; Sat, 09 Sep 2017 09:35:50 -0600 From: Tom Tromey To: gdb-patches@sourceware.org Cc: Tom Tromey Subject: [RFA 5/7] Use ui_out_emit_list in more places Date: Sat, 09 Sep 2017 15:35:00 -0000 Message-Id: <20170909153540.15008-6-tom@tromey.com> In-Reply-To: <20170909153540.15008-1-tom@tromey.com> References: <20170909153540.15008-1-tom@tromey.com> X-BWhitelist: no X-Exim-ID: 1dqhnS-00381I-JI X-Source-Sender: 75-166-76-94.hlrn.qwest.net (bapiya.Home) [75.166.76.94]:59756 X-Source-Auth: tom+tromey.com X-Email-Count: 6 X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTIyLmJsdWVob3N0LmNvbQ== X-Local-Domain: yes X-SW-Source: 2017-09/txt/msg00232.txt.bz2 This changes various spots to use ui_out_emit_list, removing some cleanups. ChangeLog 2017-09-09 Tom Tromey * mi/mi-main.c (output_cores): Use ui_out_emit_list. (list_available_thread_groups, mi_cmd_list_thread_groups) (mi_cmd_data_list_changed_registers, mi_cmd_data_read_memory) (mi_cmd_data_read_memory_bytes, mi_cmd_trace_frame_collected): Likewise. --- gdb/ChangeLog | 8 ++++++ gdb/mi/mi-main.c | 82 ++++++++++++++++++++++++++------------------------------ 2 files changed, 46 insertions(+), 44 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index bef61b4..a8c1642 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,13 @@ 2017-09-09 Tom Tromey + * mi/mi-main.c (output_cores): Use ui_out_emit_list. + (list_available_thread_groups, mi_cmd_list_thread_groups) + (mi_cmd_data_list_changed_registers, mi_cmd_data_read_memory) + (mi_cmd_data_read_memory_bytes, mi_cmd_trace_frame_collected): + Likewise. + +2017-09-09 Tom Tromey + * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn): Use ui_out_emit_tuple. diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c index ca66a77..feea452 100644 --- a/gdb/mi/mi-main.c +++ b/gdb/mi/mi-main.c @@ -714,17 +714,12 @@ print_one_inferior (struct inferior *inferior, void *xdata) static void output_cores (struct ui_out *uiout, const char *field_name, const char *xcores) { - struct cleanup *back_to = make_cleanup_ui_out_list_begin_end (uiout, - field_name); - char *cores = xstrdup (xcores); - char *p = cores; - - make_cleanup (xfree, cores); + ui_out_emit_list list_emitter (uiout, field_name); + gdb::unique_xmalloc_ptr cores (xstrdup (xcores)); + char *p = cores.get (); for (p = strtok (p, ","); p; p = strtok (NULL, ",")) uiout->field_string (NULL, p); - - do_cleanups (back_to); } static void @@ -818,7 +813,7 @@ list_available_thread_groups (VEC (int) *ids, int recurse) } } - make_cleanup_ui_out_list_begin_end (uiout, "groups"); + ui_out_emit_list list_emitter (uiout, "groups"); for (ix_items = 0; VEC_iterate (osdata_item_s, data->items, @@ -861,7 +856,7 @@ list_available_thread_groups (VEC (int) *ids, int recurse) struct osdata_item *child; int ix_child; - make_cleanup_ui_out_list_begin_end (uiout, "threads"); + ui_out_emit_list thread_list_emitter (uiout, "threads"); for (ix_child = 0; VEC_iterate (osdata_item_s, children, ix_child, child); @@ -976,7 +971,7 @@ mi_cmd_list_thread_groups (const char *command, char **argv, int argc) print everything, or several explicit ids. In both cases, we print more than one group, and have to use 'groups' as the top-level element. */ - make_cleanup_ui_out_list_begin_end (uiout, "groups"); + ui_out_emit_list list_emitter (uiout, "groups"); update_thread_list (); iterate_over_inferiors (print_one_inferior, &data); } @@ -1063,7 +1058,7 @@ mi_cmd_data_list_changed_registers (const char *command, char **argv, int argc) gdbarch = get_regcache_arch (this_regs); numregs = gdbarch_num_regs (gdbarch) + gdbarch_num_pseudo_regs (gdbarch); - make_cleanup_ui_out_list_begin_end (uiout, "changed-registers"); + ui_out_emit_list list_emitter (uiout, "changed-registers"); if (argc == 0) { @@ -1490,43 +1485,43 @@ mi_cmd_data_read_memory (const char *command, char **argv, int argc) { int row; int row_byte; - struct cleanup *cleanup_list; string_file stream; - cleanup_list = make_cleanup_ui_out_list_begin_end (uiout, "memory"); + ui_out_emit_list list_emitter (uiout, "memory"); for (row = 0, row_byte = 0; row < nr_rows; row++, row_byte += nr_cols * word_size) { int col; int col_byte; - struct cleanup *cleanup_list_data; struct value_print_options opts; ui_out_emit_tuple tuple_emitter (uiout, NULL); uiout->field_core_addr ("addr", gdbarch, addr + row_byte); /* ui_out_field_core_addr_symbolic (uiout, "saddr", addr + row_byte); */ - cleanup_list_data = make_cleanup_ui_out_list_begin_end (uiout, "data"); - get_formatted_print_options (&opts, word_format); - for (col = 0, col_byte = row_byte; - col < nr_cols; - col++, col_byte += word_size) - { - if (col_byte + word_size > nr_bytes) - { - uiout->field_string (NULL, "N/A"); - } - else - { - stream.clear (); - print_scalar_formatted (&mbuf[col_byte], word_type, &opts, - word_asize, &stream); - uiout->field_stream (NULL, stream); - } - } - do_cleanups (cleanup_list_data); + { + ui_out_emit_list list_data_emitter (uiout, "data"); + get_formatted_print_options (&opts, word_format); + for (col = 0, col_byte = row_byte; + col < nr_cols; + col++, col_byte += word_size) + { + if (col_byte + word_size > nr_bytes) + { + uiout->field_string (NULL, "N/A"); + } + else + { + stream.clear (); + print_scalar_formatted (&mbuf[col_byte], word_type, &opts, + word_asize, &stream); + uiout->field_stream (NULL, stream); + } + } + } + if (aschar) { int byte; @@ -1545,7 +1540,6 @@ mi_cmd_data_read_memory (const char *command, char **argv, int argc) uiout->field_stream ("ascii", stream); } } - do_cleanups (cleanup_list); } } @@ -1603,7 +1597,7 @@ mi_cmd_data_read_memory_bytes (const char *command, char **argv, int argc) if (VEC_length (memory_read_result_s, result) == 0) error (_("Unable to read memory.")); - make_cleanup_ui_out_list_begin_end (uiout, "memory"); + ui_out_emit_list list_emitter (uiout, "memory"); for (ix = 0; VEC_iterate (memory_read_result_s, result, ix, read_result); ++ix) @@ -2820,15 +2814,15 @@ mi_cmd_trace_frame_collected (const char *command, char **argv, int argc) /* Trace state variables. */ { - struct cleanup *list_cleanup; + struct cleanup *cleanups; int tvar; char *tsvname; int i; - list_cleanup = make_cleanup_ui_out_list_begin_end (uiout, "tvars"); + ui_out_emit_list list_emitter (uiout, "tvars"); tsvname = NULL; - make_cleanup (free_current_contents, &tsvname); + cleanups = make_cleanup (free_current_contents, &tsvname); for (i = 0; VEC_iterate (int, tinfo->tvars, i, tvar); i++) { @@ -2856,20 +2850,20 @@ mi_cmd_trace_frame_collected (const char *command, char **argv, int argc) } } - do_cleanups (list_cleanup); + do_cleanups (cleanups); } /* Memory. */ { - struct cleanup *list_cleanup; + struct cleanup *cleanups; VEC(mem_range_s) *available_memory = NULL; struct mem_range *r; int i; traceframe_available_memory (&available_memory, 0, ULONGEST_MAX); - make_cleanup (VEC_cleanup(mem_range_s), &available_memory); + cleanups = make_cleanup (VEC_cleanup(mem_range_s), &available_memory); - list_cleanup = make_cleanup_ui_out_list_begin_end (uiout, "memory"); + ui_out_emit_list list_emitter (uiout, "memory"); for (i = 0; VEC_iterate (mem_range_s, available_memory, i, r); i++) { @@ -2901,7 +2895,7 @@ mi_cmd_trace_frame_collected (const char *command, char **argv, int argc) } } - do_cleanups (list_cleanup); + do_cleanups (cleanups); } } -- 2.9.4