aboutsummaryrefslogtreecommitdiff
path: root/gdb/f-typeprint.c
diff options
context:
space:
mode:
authorMarkus Deuling <deuling@de.ibm.com>2008-04-22 06:53:18 +0000
committerMarkus Deuling <deuling@de.ibm.com>2008-04-22 06:53:18 +0000
commit9eec4d1e39028b54f54638c90b2c628b958162fe (patch)
tree01ab148246a55aa0a0bf1b48c8956d0e42a40094 /gdb/f-typeprint.c
parent68837c9d8d2b2fed53f1232a82d333b23d01e320 (diff)
downloadfsf-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.c14
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 ");