Browse Source

gdb: Pass std::strings to ui_out::field_string () where convenient

While adding a ui_out::text () overload accepting a std::string, I
noticed that several callers of ui_out::field_string () were converting
std::string instances to char pointers even if not necessary.

gdb/ChangeLog:

	* ui-out.c (ui_out::field_string): Add missing style_argument
	to the overload accepting a std::string, to make it equivalent
	to the char pointer version.
	* ui-out.h (class ui_out): Ditto.
	* break-catch-sig.c (signal_catchpoint_print_one): Do not
	convert std::strings to char pointers before passing them to
	ui_out::field_string ().
	* break-catch-throw.c (print_one_detail_exception_catchpoint):
	Ditto.
	* cli/cli-setshow.c (do_show_command): Ditto.
	* disasm.c (gdb_pretty_print_disassembler::pretty_print_insn):
	Ditto.
	* infcmd.c (print_return_value_1): Ditto.
	* inferior.c (print_inferior): Ditto.
	* linux-thread-db.c (info_auto_load_libthread_db): Ditto.
	* mi/mi-cmd-var.c (print_varobj): Ditto.
	(mi_cmd_var_set_format): Ditto.
	(mi_cmd_var_info_type): Ditto.
	(mi_cmd_var_info_expression): Ditto.
	(mi_cmd_var_evaluate_expression): Ditto.
	(mi_cmd_var_assign): Ditto.
	(varobj_update_one): Ditto.
	* mi/mi-main.c (list_available_thread_groups): Ditto.
	(mi_cmd_data_read_memory_bytes): Ditto.
	(mi_cmd_trace_frame_collected): Ditto.
	* osdata.c (info_osdata): Ditto.
	* probe.c (info_probes_for_spops): Ditto.
	* target-connection.c (print_connection): Ditto.
	* thread.c (print_thread_info_1): Ditto.
	* tracepoint.c (print_one_static_tracepoint_marker): Ditto.
binutils-2_37-branch
Marco Barisione 5 years ago
parent
commit
8dd8c8d4ab
  1. 2
      gdb/break-catch-sig.c
  2. 2
      gdb/break-catch-throw.c
  3. 2
      gdb/cli/cli-setshow.c
  4. 2
      gdb/disasm.c
  5. 2
      gdb/infcmd.c
  6. 2
      gdb/inferior.c
  7. 2
      gdb/linux-thread-db.c
  8. 22
      gdb/mi/mi-cmd-var.c
  9. 14
      gdb/mi/mi-main.c
  10. 3
      gdb/osdata.c
  11. 5
      gdb/probe.c
  12. 2
      gdb/target-connection.c
  13. 3
      gdb/thread.c
  14. 4
      gdb/tracepoint.c
  15. 5
      gdb/ui-out.c
  16. 3
      gdb/ui-out.h

2
gdb/break-catch-sig.c

@ -237,7 +237,7 @@ signal_catchpoint_print_one (struct breakpoint *b,
text += name;
}
uiout->field_string ("what", text.c_str ());
uiout->field_string ("what", text);
}
else
uiout->field_string ("what",

2
gdb/break-catch-throw.c

@ -300,7 +300,7 @@ print_one_detail_exception_catchpoint (const struct breakpoint *b,
if (!cp->exception_rx.empty ())
{
uiout->text (_("\tmatching: "));
uiout->field_string ("regexp", cp->exception_rx.c_str ());
uiout->field_string ("regexp", cp->exception_rx);
uiout->text ("\n");
}
}

2
gdb/cli/cli-setshow.c

@ -714,7 +714,7 @@ do_show_command (const char *arg, int from_tty, struct cmd_list_element *c)
versions of code to print the value out. */
if (uiout->is_mi_like_p ())
uiout->field_string ("value", val.c_str ());
uiout->field_string ("value", val);
else
{
if (c->show_value_func != NULL)

2
gdb/disasm.c

@ -244,7 +244,7 @@ gdb_pretty_print_disassembler::pretty_print_insn (const struct disasm_insn *insn
the future. */
m_uiout->text (" <");
if (!omit_fname)
m_uiout->field_string ("func-name", name.c_str (),
m_uiout->field_string ("func-name", name,
function_name_style.style ());
/* For negative offsets, avoid displaying them as +-N; the sign of
the offset takes the place of the "+" here. */

2
gdb/infcmd.c

@ -1539,7 +1539,7 @@ print_return_value_1 (struct ui_out *uiout, struct return_value_info *rv)
{
std::string type_name = type_to_string (rv->type);
uiout->text ("Value returned has type: ");
uiout->field_string ("return-type", type_name.c_str ());
uiout->field_string ("return-type", type_name);
uiout->text (".");
uiout->text (" Cannot determine contents\n");
}

2
gdb/inferior.c

@ -529,7 +529,7 @@ print_inferior (struct ui_out *uiout, const char *requested_inferiors)
uiout->field_string ("target-id", inferior_pid_to_str (inf->pid));
std::string conn = uiout_field_connection (inf->process_target ());
uiout->field_string ("connection-id", conn.c_str ());
uiout->field_string ("connection-id", conn);
if (inf->pspace->exec_filename != nullptr)
uiout->field_string ("exec", inf->pspace->exec_filename.get ());

2
gdb/linux-thread-db.c

@ -1935,7 +1935,7 @@ info_auto_load_libthread_db (const char *args, int from_tty)
i++;
}
uiout->field_string ("pids", pids.c_str ());
uiout->field_string ("pids", pids);
uiout->text ("\n");
}

22
gdb/mi/mi-cmd-var.c

@ -56,7 +56,7 @@ print_varobj (struct varobj *var, enum print_values print_values,
{
std::string exp = varobj_get_expression (var);
uiout->field_string ("exp", exp.c_str ());
uiout->field_string ("exp", exp);
}
uiout->field_signed ("numchild", varobj_get_num_children (var));
@ -64,12 +64,12 @@ print_varobj (struct varobj *var, enum print_values print_values,
{
std::string val = varobj_get_value (var);
uiout->field_string ("value", val.c_str ());
uiout->field_string ("value", val);
}
std::string type = varobj_get_type (var);
if (!type.empty ())
uiout->field_string ("type", type.c_str ());
uiout->field_string ("type", type);
thread_id = varobj_get_thread_id (var);
if (thread_id > 0)
@ -236,7 +236,7 @@ mi_cmd_var_set_format (const char *command, char **argv, int argc)
/* Report the value in the new format. */
std::string val = varobj_get_value (var);
uiout->field_string ("value", val.c_str ());
uiout->field_string ("value", val);
}
void
@ -423,7 +423,7 @@ mi_cmd_var_info_type (const char *command, char **argv, int argc)
var = varobj_get_handle (argv[0]);
std::string type_name = varobj_get_type (var);
uiout->field_string ("type", type_name.c_str ());
uiout->field_string ("type", type_name);
}
void
@ -461,7 +461,7 @@ mi_cmd_var_info_expression (const char *command, char **argv, int argc)
uiout->field_string ("lang", lang->natural_name ());
std::string exp = varobj_get_expression (var);
uiout->field_string ("exp", exp.c_str ());
uiout->field_string ("exp", exp);
}
void
@ -545,13 +545,13 @@ mi_cmd_var_evaluate_expression (const char *command, char **argv, int argc)
{
std::string val = varobj_get_formatted_value (var, format);
uiout->field_string ("value", val.c_str ());
uiout->field_string ("value", val);
}
else
{
std::string val = varobj_get_value (var);
uiout->field_string ("value", val.c_str ());
uiout->field_string ("value", val);
}
}
@ -582,7 +582,7 @@ mi_cmd_var_assign (const char *command, char **argv, int argc)
"expression to variable object"));
std::string val = varobj_get_value (var);
uiout->field_string ("value", val.c_str ());
uiout->field_string ("value", val);
}
/* Helper for mi_cmd_var_update - update each VAR. */
@ -692,7 +692,7 @@ varobj_update_one (struct varobj *var, enum print_values print_values,
{
std::string val = varobj_get_value (r.varobj);
uiout->field_string ("value", val.c_str ());
uiout->field_string ("value", val);
}
uiout->field_string ("in_scope", "true");
break;
@ -716,7 +716,7 @@ varobj_update_one (struct varobj *var, enum print_values print_values,
{
std::string type_name = varobj_get_type (r.varobj);
uiout->field_string ("new_type", type_name.c_str ());
uiout->field_string ("new_type", type_name);
}
if (r.type_changed || r.children_changed)

14
gdb/mi/mi-main.c

@ -738,12 +738,12 @@ list_available_thread_groups (const std::set<int> &ids, int recurse)
ui_out_emit_tuple tuple_emitter (uiout, NULL);
uiout->field_string ("id", pid->c_str ());
uiout->field_string ("id", *pid);
uiout->field_string ("type", "process");
if (cmd)
uiout->field_string ("description", cmd->c_str ());
uiout->field_string ("description", *cmd);
if (user)
uiout->field_string ("user", user->c_str ());
uiout->field_string ("user", *user);
if (cores)
output_cores (uiout, "cores", cores->c_str ());
@ -762,9 +762,9 @@ list_available_thread_groups (const std::set<int> &ids, int recurse)
const std::string *tid = get_osdata_column (child, "tid");
const std::string *tcore = get_osdata_column (child, "core");
uiout->field_string ("id", tid->c_str ());
uiout->field_string ("id", *tid);
if (tcore)
uiout->field_string ("core", tcore->c_str ());
uiout->field_string ("core", *tcore);
}
}
}
@ -1470,7 +1470,7 @@ mi_cmd_data_read_memory_bytes (const char *command, char **argv, int argc)
std::string data = bin2hex (read_result.data.get (),
(read_result.end - read_result.begin)
* unit_size);
uiout->field_string ("contents", data.c_str ());
uiout->field_string ("contents", data);
}
}
@ -2670,7 +2670,7 @@ mi_cmd_trace_frame_collected (const char *command, char **argv, int argc)
if (target_read_memory (r.start, data.data (), r.length) == 0)
{
std::string data_str = bin2hex (data.data (), r.length);
uiout->field_string ("contents", data_str.c_str ());
uiout->field_string ("contents", data_str);
}
else
uiout->field_skip ("contents");

3
gdb/osdata.c

@ -273,8 +273,7 @@ info_osdata (const char *type)
continue;
snprintf (col_name, 32, "col%d", ix_cols);
uiout->field_string (col_name,
item.columns[ix_cols].value.c_str ());
uiout->field_string (col_name, item.columns[ix_cols].value);
}
}

5
gdb/probe.c

@ -571,9 +571,8 @@ info_probes_for_spops (const char *arg, int from_tty,
ui_out_emit_tuple tuple_emitter (current_uiout, "probe");
current_uiout->field_string ("type", probe_type);
current_uiout->field_string ("provider",
probe.prob->get_provider ().c_str ());
current_uiout->field_string ("name", probe.prob->get_name ().c_str ());
current_uiout->field_string ("provider", probe.prob->get_provider ());
current_uiout->field_string ("name", probe.prob->get_name ());
current_uiout->field_core_addr ("addr", probe.prob->get_gdbarch (),
probe.prob->get_relocated_address
(probe.objfile));

2
gdb/target-connection.c

@ -133,7 +133,7 @@ print_connection (struct ui_out *uiout, const char *requested_connections)
uiout->field_signed ("number", t->connection_number);
uiout->field_string ("what", make_target_connection_string (t).c_str ());
uiout->field_string ("what", make_target_connection_string (t));
uiout->field_string ("description", t->longname ());

3
gdb/thread.c

@ -1184,8 +1184,7 @@ print_thread_info_1 (struct ui_out *uiout, const char *requested_threads,
}
else
{
uiout->field_string ("target-id",
thread_target_id_str (tp).c_str ());
uiout->field_string ("target-id", thread_target_id_str (tp));
}
if (tp->state == THREAD_RUNNING)

4
gdb/tracepoint.c

@ -3678,7 +3678,7 @@ print_one_static_tracepoint_marker (int count,
identifier! */
uiout->field_signed ("count", count);
uiout->field_string ("marker-id", marker.str_id.c_str ());
uiout->field_string ("marker-id", marker.str_id);
uiout->field_fmt ("enabled", "%c",
!tracepoints.empty () ? 'y' : 'n');
@ -3735,7 +3735,7 @@ print_one_static_tracepoint_marker (int count,
uiout->text ("\n");
uiout->text (extra_field_indent);
uiout->text (_("Data: \""));
uiout->field_string ("extra-data", marker.extra.c_str ());
uiout->field_string ("extra-data", marker.extra);
uiout->text ("\"\n");
if (!tracepoints.empty ())

5
gdb/ui-out.c

@ -528,9 +528,10 @@ ui_out::field_string (const char *fldname, const char *string,
}
void
ui_out::field_string (const char *fldname, const std::string &string)
ui_out::field_string (const char *fldname, const std::string &string,
const ui_file_style &style)
{
field_string (fldname, string.c_str ());
field_string (fldname, string.c_str (), style);
}
/* VARARGS */

3
gdb/ui-out.h

@ -191,7 +191,8 @@ class ui_out
CORE_ADDR address);
void field_string (const char *fldname, const char *string,
const ui_file_style &style = ui_file_style ());
void field_string (const char *fldname, const std::string &string);
void field_string (const char *fldname, const std::string &string,
const ui_file_style &style = ui_file_style ());
void field_stream (const char *fldname, string_file &stream,
const ui_file_style &style = ui_file_style ());
void field_skip (const char *fldname);

Loading…
Cancel
Save