diff options
author | Andrew Burgess <andrew.burgess@embecosm.com> | 2019-01-21 15:10:55 +0000 |
---|---|---|
committer | Andrew Burgess <andrew.burgess@embecosm.com> | 2019-03-06 18:11:31 +0000 |
commit | efbecbc143f19cb308ae220fb386505f41ff4bc3 (patch) | |
tree | cebdb407c56dac4baba4aa7c55815d752baa6b72 /gdb/f-exp.y | |
parent | 0841c79a3dc1cfa382164a6bb2c1ee41af3ab0a9 (diff) | |
download | gdb-efbecbc143f19cb308ae220fb386505f41ff4bc3.zip gdb-efbecbc143f19cb308ae220fb386505f41ff4bc3.tar.gz gdb-efbecbc143f19cb308ae220fb386505f41ff4bc3.tar.bz2 |
gdb/fortran: Handle older TYPE*SIZE typenames
This patch adds support for the older TYPE*SIZE typenames that are
still around in older code.
For implementation this currently reuses the kind mechanism, as under
gFortran the kind number is equivalent to the size, however, this is
not necessarily true for all compilers. If the rules for other
compilers are better understood then this code might need to be
improved slightly to allow for a distinction between size and kind,
however, adding this extra complexity now seems pointless.
gdb/ChangeLog:
* f-exp.y (direct_abs_decl): Handle TYPE*SIZE type names.
gdb/testsuite/ChangeLog:
* gdb.fortran/type-kinds.exp: Extend to cover TYPE*SIZE cases.
Diffstat (limited to 'gdb/f-exp.y')
-rw-r--r-- | gdb/f-exp.y | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gdb/f-exp.y b/gdb/f-exp.y index 88c685a..7e838b0 100644 --- a/gdb/f-exp.y +++ b/gdb/f-exp.y @@ -570,6 +570,8 @@ direct_abs_decl: '(' abs_decl ')' { $$ = $2; } | '(' KIND '=' INT ')' { push_kind_type ($4.val, $4.type); } + | '*' INT + { push_kind_type ($2.val, $2.type); } | direct_abs_decl func_mod { push_type (tp_function); } | func_mod |