diff options
author | Per Bothner <per@bothner.com> | 1995-11-30 02:32:29 +0000 |
---|---|---|
committer | Per Bothner <per@bothner.com> | 1995-11-30 02:32:29 +0000 |
commit | bcbf388e993d206027da59f87014ca561ebdd6fc (patch) | |
tree | a8b686f6b38bff9aceb548ac1ea5465320c7f544 /gdb/f-typeprint.c | |
parent | 940d596798931962895918454d2ca6bd14b83b1b (diff) | |
download | fsf-binutils-gdb-bcbf388e993d206027da59f87014ca561ebdd6fc.zip fsf-binutils-gdb-bcbf388e993d206027da59f87014ca561ebdd6fc.tar.gz fsf-binutils-gdb-bcbf388e993d206027da59f87014ca561ebdd6fc.tar.bz2 |
* f-typeprint.c, valarith.c, valprint.c, typeprint.c, eval.c:
Add check_typedef/CHECK_TYPEDEF as needed.
* f-typeprint.c: Various cleaning up.
* valarith.c (value_subscript): Also subscript bitstrings (for Chill).
* typeprint.c (print_type_scalar): Also support TYPE_CODE_RANGE.
* eval.c (evaluate_subexp_standard case OP_ARRAY): Implement
support for labelled array tuples and ranges in powerset tuples.
(init_array_element): New function.
Diffstat (limited to 'gdb/f-typeprint.c')
-rw-r--r-- | gdb/f-typeprint.c | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/gdb/f-typeprint.c b/gdb/f-typeprint.c index b090e0b..7a160bc 100644 --- a/gdb/f-typeprint.c +++ b/gdb/f-typeprint.c @@ -314,16 +314,7 @@ print_equivalent_f77_float_type (type, stream) appropriate real. XLC stupidly outputs -12 as a type for real when it really should be outputting -18 */ - switch (TYPE_LENGTH (type)) - { - case 4: - fprintf_filtered (stream, "real*4"); - break; - - case 8: - fprintf_filtered(stream,"real*8"); - break; - } + fprintf_filtered (stream, "real*%d", TYPE_LENGTH (type)); } /* Print the name of the type (or the ultimate pointer target, @@ -370,19 +361,23 @@ f_type_print_base (type, stream, show, level) return; } + if (TYPE_CODE (type) != TYPE_CODE_TYPEDEF) + CHECK_TYPEDEF (type); + switch (TYPE_CODE (type)) { - case TYPE_CODE_ARRAY: - f_type_print_base (TYPE_TARGET_TYPE (type), stream, show, level); + case TYPE_CODE_TYPEDEF: + f_type_print_base (TYPE_TARGET_TYPE (type), stream, 0, level); break; + case TYPE_CODE_ARRAY: case TYPE_CODE_FUNC: f_type_print_base (TYPE_TARGET_TYPE (type), stream, show, level); break; case TYPE_CODE_PTR: fprintf_filtered (stream, "PTR TO -> ( "); - f_type_print_base (TYPE_TARGET_TYPE (type), stream, show, level); + f_type_print_base (TYPE_TARGET_TYPE (type), stream, 0, level); break; case TYPE_CODE_VOID: @@ -419,8 +414,7 @@ f_type_print_base (type, stream, show, level) break; case TYPE_CODE_COMPLEX: - fprintf_filtered (stream, "complex*"); - fprintf_filtered (stream, "%d", TYPE_LENGTH (type)); + fprintf_filtered (stream, "complex*%d", TYPE_LENGTH (type)); break; case TYPE_CODE_FLT: |