diff options
author | Andrew Burgess <andrew.burgess@embecosm.com> | 2020-11-13 18:27:42 +0000 |
---|---|---|
committer | Andrew Burgess <andrew.burgess@embecosm.com> | 2020-11-14 21:19:27 +0000 |
commit | 9dd02fc063284f59994c095ce525e1b8934b0dc1 (patch) | |
tree | 54b999286c860db72841595efeeb35f80dd85724 /gdb/valarith.c | |
parent | 758cb81029440efad398f1aba4789a18e59daee2 (diff) | |
download | gdb-9dd02fc063284f59994c095ce525e1b8934b0dc1.zip gdb-9dd02fc063284f59994c095ce525e1b8934b0dc1.tar.gz gdb-9dd02fc063284f59994c095ce525e1b8934b0dc1.tar.bz2 |
gdb: add tab completion of type field names for Fortran
Add support for tab-completion on Fortran field names. Consider this
test case:
program test
type my_type
integer :: field_a
integer :: other_field
integer :: last_field
end type my_type
type(my_type) :: var
print *, var
end program test
And the GDB session before this patch:
(gdb) start
...
(gdb) p var% <- Trigger TAB completion here.
Display all 200 possibilities? (y or n) n
(gdb) p var%
And the GDB session with this patch:
(gdb) start
...
(gdb) p var% <- Trigger TAB completion here.
field_a last_field other_field
(gdb) p var%
The implementation for this is basically copied from c-exp.y, I
tweaked the parser patterns to be appropriate for Fortran, and it
"just worked".
gdb/ChangeLog:
PR cli/26879
* f-exp.y (COMPLETE): New token.
(exp): Two new rules for tab-completion.
(saw_name_at_eof): New static global.
(last_was_structop): Likewise.
(yylex): Set new variables, and return COMPLETE token at the end
of the input stream in some cases.
gdb/testsuite/ChangeLog:
PR cli/26879
* gdb.fortran/completion.exp: New file.
* gdb.fortran/completion.f90: New file.
Diffstat (limited to 'gdb/valarith.c')
0 files changed, 0 insertions, 0 deletions