[geany/geany] 3ec664: Merge Fortran fixes from Alexander Eberspächer

Colomban Wendling git-noreply at xxxxx
Mon Jun 24 21:09:36 UTC 2013


Branch:      refs/heads/master
Author:      Colomban Wendling <ban at herbesfolles.org>
Committer:   Colomban Wendling <ban at herbesfolles.org>
Date:        Mon, 24 Jun 2013 21:09:36 UTC
Commit:      3ec664f544d940b470ed09e2351a9e1de4966bfa
             https://github.com/geany/geany/commit/3ec664f544d940b470ed09e2351a9e1de4966bfa

Log Message:
-----------
Merge Fortran fixes from Alexander Eberspächer

Closes PR#145 and PR#146 by cherry-picking their commits.


Modified Paths:
--------------
    tagmanager/ctags/fortran.c
    tests/ctags/Makefile.am
    tests/ctags/forall_module.f90
    tests/ctags/forall_module.f90.tags

Modified: tagmanager/ctags/fortran.c
9 files changed, 8 insertions(+), 1 deletions(-)
===================================================================
@@ -84,6 +84,7 @@
 	KEYWORD_equivalence,
 	KEYWORD_extends,
 	KEYWORD_external,
+	KEYWORD_forall,
 	KEYWORD_format,
 	KEYWORD_function,
 	KEYWORD_if,
@@ -107,6 +108,7 @@
 	KEYWORD_pointer,
 	KEYWORD_precision,
 	KEYWORD_private,
+	KEYWORD_procedure,
 	KEYWORD_program,
 	KEYWORD_public,
 	KEYWORD_pure,
@@ -249,6 +251,7 @@
 	{ "equivalence",    KEYWORD_equivalence  },
 	{ "extends",        KEYWORD_extends      },
 	{ "external",       KEYWORD_external     },
+	{ "forall",         KEYWORD_forall       },
 	{ "format",         KEYWORD_format       },
 	{ "function",       KEYWORD_function     },
 	{ "if",             KEYWORD_if           },
@@ -272,6 +275,7 @@
 	{ "pointer",        KEYWORD_pointer      },
 	{ "precision",      KEYWORD_precision    },
 	{ "private",        KEYWORD_private      },
+	{ "procedure",      KEYWORD_procedure    },
 	{ "program",        KEYWORD_program      },
 	{ "public",         KEYWORD_public       },
 	{ "pure",           KEYWORD_pure         },
@@ -1123,6 +1127,7 @@ static boolean isTypeSpec (tokenInfo *const token)
 		case KEYWORD_logical:
 		case KEYWORD_record:
 		case KEYWORD_type:
+		case KEYWORD_procedure:
 			result = TRUE;
 			break;
 		default:
@@ -1185,6 +1190,7 @@ static void parseTypeSpec (tokenInfo *const token)
 		case KEYWORD_integer:
 		case KEYWORD_logical:
 		case KEYWORD_real:
+		case KEYWORD_procedure:
 			readToken (token);
 			if (isType (token, TOKEN_PAREN_OPEN))
 				skipOverParens (token);  /* skip kind-selector */
@@ -2045,7 +2051,8 @@ static boolean parseExecutionPart (tokenInfo *const token)
 				if (isSecondaryKeyword (token, KEYWORD_do) ||
 					isSecondaryKeyword (token, KEYWORD_if) ||
 					isSecondaryKeyword (token, KEYWORD_select) ||
-					isSecondaryKeyword (token, KEYWORD_where))
+					isSecondaryKeyword (token, KEYWORD_where) ||
+					isSecondaryKeyword (token, KEYWORD_forall))
 				{
 					skipToNextStatement (token);
 					result = TRUE;


Modified: tests/ctags/Makefile.am
2 files changed, 2 insertions(+), 0 deletions(-)
===================================================================
@@ -120,6 +120,7 @@ test_sources = \
 	enum.java						\
 	events.cs						\
 	extern_variable.h				\
+	forall_module.f90				\
 	format.pl						\
 	func_typedef.h					\
 	general.cs						\
@@ -184,6 +185,7 @@ test_sources = \
 	objectivec_property.mm			\
 	objectivec_protocol.mm			\
 	Package.pm						\
+	procedure_pointer_module.f90	\
 	property.cs						\
 	prototype.h						\
 	pure_elem.f95					\


Modified: tests/ctags/forall_module.f90
26 files changed, 26 insertions(+), 0 deletions(-)
===================================================================
@@ -0,0 +1,26 @@
+! a module that uses a forall block
+
+module with_forall
+
+  real :: a
+
+contains
+
+  subroutine sub_with_forall(x)
+    real, intent(inout) :: x(:)
+
+    integer :: i
+
+    forall(i=1:size(x))
+       x(i) = 0.5**i
+    end forall
+  end subroutine sub_with_forall
+
+
+  function two() result(res)
+    real :: res
+
+    res = 2.0
+  end function two
+
+end module with_forall


Modified: tests/ctags/forall_module.f90.tags
5 files changed, 5 insertions(+), 0 deletions(-)
===================================================================
@@ -0,0 +1,5 @@
+# format=tagmanager
+a�16384�with_forall�0
+sub_with_forall�64�with_forall�0
+two�16�with_forall�0
+with_forall�256�0



--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).


More information about the Commits mailing list