diff options
author | Yao Qi <yao@codesourcery.com> | 2011-10-10 02:50:48 +0000 |
---|---|---|
committer | Yao Qi <yao@codesourcery.com> | 2011-10-10 02:50:48 +0000 |
commit | 6501578cfe95e4a0db9f37305c7f25c1fd383929 (patch) | |
tree | 229b0784e2d29c899dbf7e891bafdf22d4a929f3 /gdb/valprint.c | |
parent | 66f8d9935ef451a7e9a6caec300190cc99b9a948 (diff) | |
download | gdb-6501578cfe95e4a0db9f37305c7f25c1fd383929.zip gdb-6501578cfe95e4a0db9f37305c7f25c1fd383929.tar.gz gdb-6501578cfe95e4a0db9f37305c7f25c1fd383929.tar.bz2 |
gdb/
* 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.
Diffstat (limited to 'gdb/valprint.c')
-rw-r--r-- | gdb/valprint.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/gdb/valprint.c b/gdb/valprint.c index b26924a..b4ac4ec 100644 --- a/gdb/valprint.c +++ b/gdb/valprint.c @@ -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; - return 0 and print an appropriate error message to STREAM if it - is not. */ + return 0 and print an appropriate error message to STREAM according to + OPTIONS if it is not. */ 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) { @@ -413,7 +414,10 @@ value_check_printable (struct value *val, struct ui_file *stream) if (value_entirely_optimized_out (val)) { - val_print_optimized_out (stream); + if (options->summary && !scalar_type_p (value_type (val))) + fprintf_filtered (stream, "..."); + else + val_print_optimized_out (stream); 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 language_defn *language) { - if (!value_check_printable (val, stream)) + if (!value_check_printable (val, stream, options)) return 0; if (language->la_language == language_ada) @@ -467,7 +471,7 @@ int value_print (struct value *val, struct ui_file *stream, const struct value_print_options *options) { - if (!value_check_printable (val, stream)) + if (!value_check_printable (val, stream, options)) return 0; if (!options->raw) |