aboutsummaryrefslogtreecommitdiff
path: root/gdb/valarith.c
diff options
context:
space:
mode:
authorAndrew Burgess <andrew.burgess@embecosm.com>2020-11-13 18:27:42 +0000
committerAndrew Burgess <andrew.burgess@embecosm.com>2020-11-14 21:19:27 +0000
commit9dd02fc063284f59994c095ce525e1b8934b0dc1 (patch)
tree54b999286c860db72841595efeeb35f80dd85724 /gdb/valarith.c
parent758cb81029440efad398f1aba4789a18e59daee2 (diff)
downloadgdb-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