* valprint.c (value_check_printable): Add one parameter OPTIONS.
	Honor OPTIONS and VAL's type.
	(common_val_print, value_print): Update to pass one more parameter.
This commit is contained in:
Yao Qi 2011-10-10 02:50:48 +00:00
parent 66f8d9935e
commit 6501578cfe
2 changed files with 16 additions and 6 deletions

View File

@ -1,3 +1,9 @@
2011-10-09 Yao Qi <yao@codesourcery.com>
* valprint.c (value_check_printable): Add one parameter OPTIONS.
Honor OPTIONS and VAL's type.
(common_val_print, value_print): Update to pass one more parameter.
2011-10-09 Doug Evans <dje@google.com> 2011-10-09 Doug Evans <dje@google.com>
Add new "alias" command. Add new "alias" command.

View File

@ -399,11 +399,12 @@ val_print (struct type *type, const gdb_byte *valaddr, int embedded_offset,
} }
/* Check whether the value VAL is printable. Return 1 if it is; /* Check whether the value VAL is printable. Return 1 if it is;
return 0 and print an appropriate error message to STREAM if it return 0 and print an appropriate error message to STREAM according to
is not. */ OPTIONS if it is not. */
static int static int
value_check_printable (struct value *val, struct ui_file *stream) value_check_printable (struct value *val, struct ui_file *stream,
const struct value_print_options *options)
{ {
if (val == 0) if (val == 0)
{ {
@ -413,6 +414,9 @@ value_check_printable (struct value *val, struct ui_file *stream)
if (value_entirely_optimized_out (val)) if (value_entirely_optimized_out (val))
{ {
if (options->summary && !scalar_type_p (value_type (val)))
fprintf_filtered (stream, "...");
else
val_print_optimized_out (stream); val_print_optimized_out (stream);
return 0; return 0;
} }
@ -441,7 +445,7 @@ common_val_print (struct value *val, struct ui_file *stream, int recurse,
const struct value_print_options *options, const struct value_print_options *options,
const struct language_defn *language) const struct language_defn *language)
{ {
if (!value_check_printable (val, stream)) if (!value_check_printable (val, stream, options))
return 0; return 0;
if (language->la_language == language_ada) if (language->la_language == language_ada)
@ -467,7 +471,7 @@ int
value_print (struct value *val, struct ui_file *stream, value_print (struct value *val, struct ui_file *stream,
const struct value_print_options *options) const struct value_print_options *options)
{ {
if (!value_check_printable (val, stream)) if (!value_check_printable (val, stream, options))
return 0; return 0;
if (!options->raw) if (!options->raw)