binutils-gdb/gdb/mi
Tom Tromey 7f6aba03b9 Introduce metadata style
This introduces a new "metadata" style and changes many places in gdb
to use it.  The idea here is to let the user distinguish gdb output
from output that (conceptually at least) comes directly from the
inferior.  The newly-styled category includes text that gdb
traditionally surrounds in "<...>", like "<unavailable>".

I only added a single test for this.  In many cases this output is
difficult to test.  Also, while developing this errors in the
implementation of the new printf formats showed up as regressions.

gdb/ChangeLog
2019-10-01  Tom Tromey  <tom@tromey.com>

	* p-lang.c (pascal_printstr): Use metadata style.
	* value.c (show_convenience): Use metadata style.
	* valprint.c (valprint_check_validity, val_print_optimized_out)
	(val_print_not_saved, val_print_unavailable)
	(val_print_invalid_address, generic_val_print, val_print)
	(value_check_printable, val_print_array_elements): Use metadata
	style.
	* ui-out.h (class ui_out) <field_fmt>: New overload.
	<do_field_fmt>: Add style parameter.
	* ui-out.c (ui_out::field_fmt): New overload.
	* typeprint.c (type_print_unknown_return_type)
	(val_print_not_allocated, val_print_not_associated): Use metadata
	style.
	* tui/tui-out.h (class tui_ui_out) <do_field_fmt>: Add style
	parameter.
	* tui/tui-out.c (tui_ui_out::do_field_fmt): Update.
	* tracepoint.c (tvariables_info_1): Use metadata style.
	* stack.c (print_frame_arg, print_frame_info, print_frame)
	(info_frame_command_core): Use metadata style.
	* skip.c (info_skip_command): Use metadata style.
	* rust-lang.c (rust_print_enum): Use metadata style.
	* python/py-prettyprint.c (print_stack_unless_memory_error): Use
	metadata style.
	* python/py-framefilter.c (py_print_single_arg): Use metadata
	style.
	* printcmd.c (do_one_display, print_variable_and_value): Use
	metadata style.
	* p-valprint.c (pascal_val_print)
	(pascal_object_print_value_fields): Use metadata style.
	* p-typeprint.c (pascal_type_print_base): Use metadata style.
	* mi/mi-out.h (class mi_ui_out) <do_field_fmt>: Add style
	parameter.
	* mi/mi-out.c (mi_ui_out::do_field_fmt): Update.
	* m2-valprint.c (m2_print_long_set): Use metadata style.
	* m2-typeprint.c (m2_print_type): Use metadata style.
	* infcmd.c (print_return_value_1): Use metadata style.
	* gnu-v3-abi.c (print_one_vtable): Use metadata style.
	* f-valprint.c (info_common_command_for_block): Use metadata
	style.
	* f-typeprint.c (f_type_print_base): Use metadata style.
	* expprint.c (print_subexp_standard): Use metadata style.
	* cp-valprint.c (cp_print_value_fields): Use metadata style.
	* cli/cli-style.h (class cli_style_option): Add constructor.
	(metadata_style): Declare.
	* cli/cli-style.c (metadata_style): New global.
	(_initialize_cli_style): Register metadata style.
	* cli-out.h (class cli_ui_out) <do_field_fmt>: Add style
	parameter.
	* cli-out.c (cli_ui_out::do_field_fmt): Update.
	* c-typeprint.c (c_type_print_base_struct_union)
	(c_type_print_base_1): Use metadata style.
	* breakpoint.c (watchpoint_value_print)
	(print_one_breakpoint_location): Use metadata style.
	* break-catch-syscall.c (print_one_catch_syscall): Use metadata
	style.
	* break-catch-sig.c (signal_catchpoint_print_one): Use metadata
	style.
	* ada-valprint.c (val_print_packed_array_elements, printstr)
	(print_field_values, ada_val_print_ref, ada_val_print): Use
	metadata style.
	* ada-typeprint.c (print_array_type, ada_print_type): Use metadata
	style.
	* ada-tasks.c (print_ada_task_info, info_task): Use metadata
	style.
	* ada-lang.c (user_select_syms): Use metadata style.

gdb/testsuite/ChangeLog
2019-10-01  Tom Tromey  <tom@tromey.com>

	* lib/gdb-utils.exp (style): Handle "metadata" argument.
	* gdb.base/style.exp: Add metadata style test.
2019-10-01 15:12:40 -06:00
..
ChangeLog-1999-2003
mi-cmd-break.c Rename gdb exception types 2019-04-08 09:05:40 -06:00
mi-cmd-break.h Rename common to gdbsupport 2019-07-09 07:45:38 -06:00
mi-cmd-catch.c gdb/mi: New commands to catch C++ exceptions 2019-06-15 23:22:22 +01:00
mi-cmd-disas.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
mi-cmd-env.c Rename common to gdbsupport 2019-07-09 07:45:38 -06:00
mi-cmd-file.c Rename field_int to field_signed 2019-07-17 10:34:05 -06:00
mi-cmd-info.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
mi-cmd-stack.c Make struct frame_arg self-managing 2019-08-07 06:37:21 -06:00
mi-cmd-target.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
mi-cmd-var.c Rename field_int to field_signed 2019-07-17 10:34:05 -06:00
mi-cmds.c gdb/mi: New commands to catch C++ exceptions 2019-06-15 23:22:22 +01:00
mi-cmds.h gdb/mi: New commands to catch C++ exceptions 2019-06-15 23:22:22 +01:00
mi-common.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
mi-common.h Add debug redirect option 2019-05-17 14:21:47 +01:00
mi-console.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
mi-console.h Normalize include guards in gdb 2019-02-07 03:27:23 -07:00
mi-getopt.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
mi-getopt.h Normalize include guards in gdb 2019-02-07 03:27:23 -07:00
mi-interp.c bfd_section_* macros 2019-09-19 09:40:13 +09:30
mi-interp.h Normalize include guards in gdb 2019-02-07 03:27:23 -07:00
mi-main.c Change boolean options to bool instead of int 2019-09-18 09:35:12 +09:00
mi-main.h Fix GDB build when using --disable-gdbmi 2019-05-10 17:22:09 -04:00
mi-out.c Introduce metadata style 2019-10-01 15:12:40 -06:00
mi-out.h Introduce metadata style 2019-10-01 15:12:40 -06:00
mi-parse.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
mi-parse.h Rename common to gdbsupport 2019-07-09 07:45:38 -06:00
mi-symbol-cmds.c Rename field_int to field_signed 2019-07-17 10:34:05 -06:00