Branch: refs/heads/master Author: Colomban Wendling ban@herbesfolles.org Committer: Colomban Wendling ban@herbesfolles.org Date: Mon, 17 Feb 2014 22:17:35 UTC Commit: 7d760632824efacd44231f89d46de3a1deac64ec https://github.com/geany/geany/commit/7d760632824efacd44231f89d46de3a1deac64...
Log Message: ----------- Fortran: fix handling of pointer association operator
Test case contributed by Adam Hirst, thanks.
Closes #1030.
Modified Paths: -------------- tagmanager/ctags/fortran.c tests/ctags/Makefile.am tests/ctags/procpoint.f90 tests/ctags/procpoint.f90.tags
Modified: tagmanager/ctags/fortran.c 3 files changed, 2 insertions(+), 1 deletions(-) =================================================================== @@ -1371,7 +1371,8 @@ static void parseEntityDecl (tokenInfo *const token) readToken (token); skipPast (token, TOKEN_OPERATOR); } - else if (strcmp (vStringValue (token->string), "=") == 0) + else if (strcmp (vStringValue (token->string), "=") == 0 || + strcmp (vStringValue (token->string), "=>") == 0) { while (! isType (token, TOKEN_COMMA) && ! isType (token, TOKEN_STATEMENT_END))
Modified: tests/ctags/Makefile.am 1 files changed, 1 insertions(+), 0 deletions(-) =================================================================== @@ -193,6 +193,7 @@ test_sources = \ Package.pm \ php5_5_class_kw.php \ procedure_pointer_module.f90 \ + procpoint.f90 \ property.cs \ prototype.h \ pure_elem.f95 \
Modified: tests/ctags/procpoint.f90 32 files changed, 32 insertions(+), 0 deletions(-) =================================================================== @@ -0,0 +1,32 @@ +module Test + implicit none + + procedure(ProcOne), pointer :: MyProc => null(), & + MyOtherProc => ProcTwo + real, parameter :: myparameter + +contains + + function ProcOne(arg1, optformat) + ! not relevant + end function ProcOne + + function ProcTwo(arg1, optformat) + ! not relevant + end function ProcTwo + +end module Test + +program Main + implicit none + + ! deliberately break up the line to make sure the tagparser doesn't choke on awkward cases + procedure(:), pointer :: ProcPointOne & + => null(), ProcPointTwo => & + null() + real :: variable, variable_two + integer :: variable_three + + ProcPointOne => ProcTwo + +end program Main
Modified: tests/ctags/procpoint.f90.tags 13 files changed, 13 insertions(+), 0 deletions(-) =================================================================== @@ -0,0 +1,13 @@ +# format=tagmanager +MainÌ512Ö0 +MyOtherProcÌ16384ÎTestÖ0 +MyProcÌ16384ÎTestÖ0 +ProcOneÌ16ÎTestÖ0 +ProcPointOneÌ16384ÎMainÖ0 +ProcPointTwoÌ16384ÎMainÖ0 +ProcTwoÌ16ÎTestÖ0 +TestÌ256Ö0 +myparameterÌ16384ÎTestÖ0 +variableÌ16384ÎMainÖ0 +variable_threeÌ16384ÎMainÖ0 +variable_twoÌ16384ÎMainÖ0
-------------- This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).