diff options
author | Markus Deuling <deuling@de.ibm.com> | 2008-04-22 06:53:18 +0000 |
---|---|---|
committer | Markus Deuling <deuling@de.ibm.com> | 2008-04-22 06:53:18 +0000 |
commit | 9eec4d1e39028b54f54638c90b2c628b958162fe (patch) | |
tree | 01ab148246a55aa0a0bf1b48c8956d0e42a40094 /gdb/f-typeprint.c | |
parent | 68837c9d8d2b2fed53f1232a82d333b23d01e320 (diff) | |
download | fsf-binutils-gdb-9eec4d1e39028b54f54638c90b2c628b958162fe.zip fsf-binutils-gdb-9eec4d1e39028b54f54638c90b2c628b958162fe.tar.gz fsf-binutils-gdb-9eec4d1e39028b54f54638c90b2c628b958162fe.tar.bz2 |
* eval.c (evaluate_subexp_standard): Use value_subscripted_rvalue for
multi_f77_subscript to support values from registers.
* valarith.c (value_subscripted_rvalue): Remove prototype and static.
* value.h (value_subscripted_rvalue): Add prototype.
* f-typeprint.c (f_type_print_base): Add support for TYPE_CODE_UNION.
Fix output.
* f-valprint.c (f_val_print): Likewise.
Diffstat (limited to 'gdb/f-typeprint.c')
-rw-r--r-- | gdb/f-typeprint.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/gdb/f-typeprint.c b/gdb/f-typeprint.c index d55c165..ad93152 100644 --- a/gdb/f-typeprint.c +++ b/gdb/f-typeprint.c @@ -368,14 +368,22 @@ f_type_print_base (struct type *type, struct ui_file *stream, int show, break; case TYPE_CODE_STRUCT: - fprintfi_filtered (level, stream, "Type "); + case TYPE_CODE_UNION: + if (TYPE_CODE (type) == TYPE_CODE_UNION) + fprintfi_filtered (level, stream, "Type, C_Union :: "); + else + fprintfi_filtered (level, stream, "Type "); fputs_filtered (TYPE_TAG_NAME (type), stream); fputs_filtered ("\n", stream); for (index = 0; index < TYPE_NFIELDS (type); index++) { - f_print_type (TYPE_FIELD_TYPE (type, index), "", stream, show, level + 4); + f_type_print_base (TYPE_FIELD_TYPE (type, index), stream, show, + level + 4); fputs_filtered (" :: ", stream); - fputs_filtered (TYPE_FIELD_NAME (type, index), stream); + fprintfi_filtered (level, stream, "%s", + TYPE_FIELD_NAME (type, index)); + f_type_print_varspec_suffix (TYPE_FIELD_TYPE (type, index), + stream, 0, 0, 0); fputs_filtered ("\n", stream); } fprintfi_filtered (level, stream, "End Type "); |