As per the Fortran 2003 standard, declaring a procedure pointer also requires that you initialise it by pointing it to null, i.e.
procpointer => NULL() (see attached source file for an example).
When this occurs in a module (i.e. before the
contains statement), the '>' part of '=>' causes variables and subroutines below it to either disappear from the symbol browser, or get "pushed outside" the module (see screenshots).
I'm currently trying to work out how to fix this in
tagmanager/ctags/fortran.c. My guess is that I want the part that handles
type() :: variable STUFF STUFF STUFF to accept '=>' as well as '=', but my first reading suggests that it only handles single-character operators; in which case the solution would be some additional logic in the '=' case to cause it to also skip over '>'? I'm really not sure, though.
Any comments would be most welcome. I found this using a git build of Geany from yesterday, just after b4n committed my/our other F2003/8 patches.
Log in to post a comment.