From: "Ulrich Weigand" <uweigand@de.ibm.com>
To: tromey@redhat.com
Cc: brobecker@adacore.com (Joel Brobecker), gdb-patches@sourceware.org
Subject: Re: [RFC/RFA] add struct parse_context to all command functions
Date: Tue, 28 Oct 2008 16:27:00 -0000 [thread overview]
Message-ID: <200810281624.m9SGOxVt015677@d12av02.megacenter.de.ibm.com> (raw)
In-Reply-To: <m34p2yrqtc.fsf@fleche.redhat.com> from "Tom Tromey" at Oct 27, 2008 09:38:39 AM
Tom Tromey wrote:
> 2008-10-27 Tom Tromey <tromey@redhat.com>
>
> * varobj.c (value_get_print_value): Include valprint.h.
> (value_get_print_value): Use get_formatted_print_options.
> * value.h (struct value_print_options): Declare.
> (value_print, val_print, common_val_print, val_print_string):
> Update.
> * value.c: Include valprint.h.
> (show_values): Use get_user_print_options.
> (show_convenience): Likewise.
> * valprint.h (prettyprint_arrays, prettyprint_structs): Don't
> declare.
> (struct value_print_options): New type.
> (vtblprint, unionprint, addressprint, objectprint, print_max,
> inspect_it, repeat_count_threshold, output_format,
> stop_print_at_null): Don't declare.
> (user_print_options, get_user_print_options,
> get_raw_print_options, get_formatted_print_options): Declare.
> (print_array_indexes_p): Don't declare.
> (maybe_print_array_index, val_print_array_elements): Update.
> * valprint.c (print_max): Remove.
> (user_print_options): New global.
> (get_user_print_options, get_raw_print_options,
> get_formatted_print_options): New functions.
> (print_array_indexes, repeat_count_threshold, stop_print_at_null,
> prettyprint_structs, prettyprint_arrays, unionprint,
> addressprint): Remove.
> (val_print): Remove format, deref_ref, pretty arguments; add
> options. Update.
> (common_val_print): Likewise.
> (print_array_indexes_p): Remove.
> (maybe_print_array_index): Remove format, pretty arguments; add
> options. Update.
> (val_print_array_elements): Remove format, deref_ref, pretty
> arguments; add options. Update.
> (val_print_string): Add options argument. Update.
> (_initialize_valprint): Use user_print_options.
> (output_format): Remove.
> (set_output_radix_1): Use user_print_options.
> * typeprint.c: Include valprint.h.
> (objectprint): Don't declare.
> (whatis_exp): Use get_user_print_options.
> * tui/tui-regs.c: Include valprint.h.
> (tui_register_format): Use get_formatted_print_options.
> * tracepoint.c: Include valprint.h.
> (addressprint): Don't declare.
> (trace_mention): Use get_user_print_options.
> (tracepoints_info): Likewise.
> * stack.c (print_frame_args): Use get_raw_print_options.
> (print_frame_info): Use get_user_print_options.
> (print_frame): Likewise.
> * sh64-tdep.c: Include valprint.h
> (sh64_do_register): Use get_formatted_print_options.
> * scm-valprint.c (scm_inferior_print): Remove format, deref_ref,
> pretty arguments; add options.
> (scm_scmlist_print): Likewise. Update.
> (scm_scmval_print): Likewise.
> (scm_val_print): Likewise.
> (scm_value_print): Remove format, pretty arguments; add options.
> Update.
> * scm-lang.h (scm_value_print, scm_val_print, scm_scmval_print):
> Update.
> * scm-lang.c (scm_printstr): Add options argument.
> * python/python-value.c: Include valprint.h.
> (valpy_str): Use get_user_print_options.
> * printcmd.c: Include valprint.h.
> (addressprint): Don't declare.
> (inspect_it): Remove.
> (print_formatted): Remove format option; add options. Update.
> (print_scalar_formatted): Likewise.
> (print_address_demangle): Use get_user_print_options.
> (do_examine): Use get_formatted_print_options.
> (print_command_1): Likewise.
> (output_command): Use get_formatted_print_options.
> (do_one_display): Likewise.
> (print_variable_value): Use get_user_print_options.
> * p-valprint.c (pascal_val_print): Remove format, deref_ref,
> pretty arguments; add options. Update.
> (pascal_value_print): Remove format, pretty arguments; add
> options. Update.
> (vtblprint, objectprint): Don't declare.
> (pascal_static_field_print): Remove.
> (pascal_object_print_value_fields): Remove format, pretty
> arguments; add options. Update.
> (pascal_object_print_static_field): Likewise.
> (_initialize_pascal_valprint): Use user_print_options. Update.
> * p-lang.h (pascal_val_print, pascal_value_print,
> pascal_printstr, pascal_object_print_value_fields): Update.
> (vtblprint, static_field_print): Don't declare.
> * p-lang.c (pascal_printstr): Add options argument. Update.
> * objc-lang.c (objc_printstr): Add options argument. Update.
> * mt-tdep.c: Include valprint.h.
> (mt_registers_info): Use get_raw_print_options.
> * mips-tdep.c: Include valprint.h.
> (mips_print_fp_register): Use get_formatted_print_options.
> (mips_print_register): Likewise.
> * mi/mi-main.c: Include valprint.h.
> (get_register): Use get_user_print_options.
> (mi_cmd_data_evaluate_expression): Likewise.
> (mi_cmd_data_read_memory): Use get_formatted_print_options.
> * mi/mi-cmd-stack.c: Include valprint.h.
> (list_args_or_locals): Use get_raw_print_options.
> * m2-valprint.c (print_function_pointer_address): Add addressprint
> argument.
> (m2_print_long_set): Remove format, pretty arguments.
> (m2_print_unbounded_array): Remove format, deref_ref, pretty
> arguments; add options. Update.
> (print_unpacked_pointer): Remove format argument; add options.
> Now static. Update.
> (print_variable_at_address): Remove format, deref_ref, pretty
> arguments; add options. Update.
> (m2_print_array_contents): Likewise.
> (m2_val_print): Likewise.
> * m2-lang.h (m2_val_print): Update.
> * m2-lang.c (m2_printstr): Add options argument. Update.
> * language.h (struct value_print_options): Declare.
> (struct language_defn) <la_printstr>: Add options argument.
> <la_val_print>: Remove format, deref_ref, pretty argument; add
> options.
> <la_value_print>: Remove format, pretty arguments; add options.
> <la_print_array_index>: Likewise.
> (LA_VAL_PRINT, LA_VALUE_PRINT, LA_PRINT_STRING,
> LA_PRINT_ARRAY_INDEX): Update.
> (default_print_array_index): Update.
> * language.c (default_print_array_index): Remove format, pretty
> arguments; add options. Update.
> (unk_lang_printstr): Add options argument.
> (unk_lang_val_print): Remove format, deref_ref, pretty arguments;
> add options.
> (unk_lang_value_print): Remove format, pretty arguments; add
> options.
> * jv-valprint.c (java_value_print): Remove format, pretty
> arguments; add options. Update.
> (java_print_value_fields): Likewise.
> (java_val_print): Remove format, deref_ref, pretty arguments; add
> options. Update.
> * jv-lang.h (java_val_print, java_value_print): Declare.
> * infcmd.c: Include valprint.h.
> (print_return_value): Use get_raw_print_options.
> (default_print_registers_info): Use get_user_print_options,
> get_formatted_print_options.
> (registers_info): Use get_formatted_print_options.
> * gdbtypes.h (struct value_print_options): Declare.
> (print_scalar_formatted): Update.
> * f-valprint.c (f77_print_array_1): Remove format, deref_ref,
> pretty arguments; add options. Update.
> (f77_print_array): Likewise.
> (f_val_print): Likewise.
> * f-lang.h (f_val_print): Update.
> * f-lang.c (f_printstr): Add options argument. Update.
> (c_value_print): Update declaration.
> * expprint.c: Include valprint.h.
> (print_subexp_standard): Use get_raw_print_options,
> get_user_print_options.
> * eval.c: Include valprint.h.
> (objectprint): Don't declare.
> (evaluate_subexp_standard): Use get_user_print_options.
> * cp-valprint.c (vtblprint, objectprint, static_field_print):
> Remove.
> (cp_print_value_fields): Remove format, pretty arguments; add
> options. Update.
> (cp_print_value): Likewise.
> (cp_print_static_field): Likewise.
> (_initialize_cp_valprint): Use user_print_options. Update.
> * c-valprint.c (print_function_pointer_address): Add addressprint
> argument.
> (c_val_print): Remove format, deref_ref, pretty arguments; add
> options. Update.
> (c_value_print): Add options argument. Update.
> * c-lang.h (c_val_print, c_value_print, c_printstr): Update.
> (vtblprint, static_field_print): Don't declare.
> (cp_print_value_fields): Update.
> * c-lang.c (c_printstr): Add options argument. Update.
> * breakpoint.c: Include valprint.h.
> (addressprint): Don't declare.
> (watchpoint_value_print): Use get_user_print_options.
> (print_one_breakpoint_location): Likewise.
> (breakpoint_1, print_it_catch_fork, print_it_catch_vfork, mention,
> print_exception_catchpoint): Likewise.
> * auxv.c (fprint_target_auxv): Don't declare addressprint. Use
> get_user_print_options.
> * ada-valprint.c (struct ada_val_print_args): Remove format,
> deref_ref, and pretty; add options.
> (print_optional_low_bound): Add options argument.
> (val_print_packed_array_elements): Remove format and pretty
> arguments; add options. Update.
> (printstr): Add options argument. Update.
> (ada_printstr): Likewise.
> (ada_val_print): Remove format, deref_ref, pretty arguments; add
> options argument. Update.
> (ada_val_print_stub): Update.
> (ada_val_print_array): Remove format, deref_ref, pretty arguments;
> add options. Update.
> (ada_val_print_1): Likewise.
> (print_variant_part): Likewise.
> (ada_value_print): Remove format, pretty arguments; add options.
> Update.
> (print_record): Likewise.
> (print_field_values): Likewise.
> * ada-lang.h (ada_val_print, ada_value_print, ada_printstr):
> Update.
> * ada-lang.c (ada_print_array_index): Add options argument; remove
> format and pretty arguments.
> (print_one_exception): Use get_user_print_options.
>
> 2008-10-27 Tom Tromey <tromey@redhat.com>
>
> * gdb.base/exprs.exp (test_expr): Add enum formatting tests.
This is OK, thanks!
I've noticed couple of things that might still be cleaned up somewhat,
but this can be done as a follow-up patch (if at all):
- As all the top-level val_print callers set deref_ref to 1, maybe the
default user_print_options should have that value, making most (all?)
of the explicit opts.deref_ref = 1 statements obsolete.
- Maybe the "size" argument (to the print_formatted routines) should
also move into the struct, together with "format"?
- In some cases (e.g. print_subexp_standard) you have multiple instances
within the same function where a local "opts" variable is created;
maybe it would be clearer to have a common "opts" initialized once
for the whole function?
Bye,
Ulrich
--
Dr. Ulrich Weigand
GNU Toolchain for Linux on System z and Cell BE
Ulrich.Weigand@de.ibm.com
next prev parent reply other threads:[~2008-10-28 16:25 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-09 14:05 Joel Brobecker
2008-10-09 16:13 ` Tom Tromey
2008-10-09 22:20 ` Joel Brobecker
2008-10-20 16:16 ` Joel Brobecker
2008-10-20 19:03 ` Thiago Jung Bauermann
2008-10-21 0:47 ` Daniel Jacobowitz
2008-10-21 18:06 ` Ulrich Weigand
2008-10-21 18:18 ` Daniel Jacobowitz
2008-10-22 1:40 ` Joel Brobecker
2008-10-22 20:15 ` Tom Tromey
2008-10-22 20:36 ` Joel Brobecker
2008-10-21 1:22 ` Tom Tromey
2008-10-21 7:07 ` Joel Brobecker
2008-10-21 18:12 ` Ulrich Weigand
2008-10-21 18:58 ` Tom Tromey
2008-10-21 19:33 ` Tom Tromey
2008-10-22 18:03 ` Ulrich Weigand
2008-10-22 18:54 ` Tom Tromey
2008-10-22 22:24 ` Ulrich Weigand
2008-10-23 1:02 ` Tom Tromey
2008-10-23 19:50 ` Ulrich Weigand
2008-10-23 21:29 ` Tom Tromey
2008-10-24 13:01 ` Ulrich Weigand
2008-10-25 16:05 ` Tom Tromey
2008-10-27 17:07 ` Tom Tromey
2008-10-28 16:27 ` Ulrich Weigand [this message]
2008-10-28 18:17 ` Tom Tromey
2008-10-28 20:00 ` Ulrich Weigand
2008-10-25 16:25 ` Joel Brobecker
2008-10-25 16:46 ` Tom Tromey
2008-10-26 15:19 ` Joel Brobecker
2008-10-21 18:05 ` Ulrich Weigand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200810281624.m9SGOxVt015677@d12av02.megacenter.de.ibm.com \
--to=uweigand@de.ibm.com \
--cc=brobecker@adacore.com \
--cc=gdb-patches@sourceware.org \
--cc=tromey@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox