diff options
author | Andrew Burgess <andrew.burgess@embecosm.com> | 2021-02-25 16:15:52 +0000 |
---|---|---|
committer | Andrew Burgess <andrew.burgess@embecosm.com> | 2021-03-09 09:51:23 +0000 |
commit | 7ba155b37073a3512c85f1d7f12dbaed9a6db3e2 (patch) | |
tree | 41e98c0082c4cae7c641a83851708fef750eec8e /bfd | |
parent | e14816a8ba5ecf8d7c0125a08afe87fb7d1a6bba (diff) | |
download | gdb-7ba155b37073a3512c85f1d7f12dbaed9a6db3e2.zip gdb-7ba155b37073a3512c85f1d7f12dbaed9a6db3e2.tar.gz gdb-7ba155b37073a3512c85f1d7f12dbaed9a6db3e2.tar.bz2 |
gdb/fortran: add support for 'SIZE' keyword
Add support for the 'SIZE' keyword to the Fortran expression parser.
This returns the number of elements either in an entire array (passing
a single argument to SIZE), or in a particular dimension of an
array (passing two arguments to SIZE).
At this point I have not added support for the optional third argument
to SIZE, which controls the exact integer type of the result.
gdb/ChangeLog:
* f-exp.y (eval_op_f_array_size): Declare 1 and 2 argument forms
of this function.
(expr::fortran_array_size_1arg): New type.
(expr::fortran_array_size_2arg): Likewise.
* f-exp.y (exp): Handle FORTRAN_ARRAY_SIZE after parsing
UNOP_OR_BINOP_INTRINSIC.
(f77_keywords): Add "size" keyword.
* f-lang.c (fortran_array_size): New function.
(eval_op_f_array_size): New function, has a 1 arg and 2 arg form.
* std-operator.def (FORTRAN_ARRAY_SIZE): New operator.
gdb/testsuite/ChangeLog:
* gdb.fortran/size.exp: New file.
* gdb.fortran/size.f90: New file.
Diffstat (limited to 'bfd')
0 files changed, 0 insertions, 0 deletions