Menu

#1030 F2003: Procedure pointers break the symbol list

v1.24
closed-fixed
v1.24
5
2014-08-14
2014-02-17
Adam
No

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.

3 Attachments

Discussion

  • Colomban Wendling

    • labels: fortran --> fortran, parser
    • status: open --> closed-fixed
    • assigned_to: Colomban Wendling
    • Fixed in: None --> v1.24
     

Log in to post a comment.