BUGFIX: Fortran module regex handle more edge cases
This commit is contained in:
parent
9042130e9a
commit
ef53107f14
|
@ -38,10 +38,10 @@ from ..mesonlib import get_compiler_for_source, has_path_sep
|
||||||
from .backends import CleanTrees
|
from .backends import CleanTrees
|
||||||
from ..build import InvalidArguments
|
from ..build import InvalidArguments
|
||||||
|
|
||||||
FORTRAN_INCLUDE_PAT = r"#?include\s*['\"](\w+\.\w+)['\"]"
|
FORTRAN_INCLUDE_PAT = r"^\s*#?include\s*['\"](\w+\.\w+)['\"]"
|
||||||
FORTRAN_MODULE_PAT = r"\s*\bmodule\b\s+(?!procedure)(\w+)"
|
FORTRAN_MODULE_PAT = r"^\s*\bmodule\b\s+(\w+)\s*(?:!+.*)*$"
|
||||||
FORTRAN_SUBMOD_PAT = r"\s*submodule\s*\((\w+:?\w+)\)\s*(\w+)"
|
FORTRAN_SUBMOD_PAT = r"^\s*\bsubmodule\b\s*\((\w+:?\w+)\)\s*(\w+)"
|
||||||
FORTRAN_USE_PAT = r"\s*use,?\s*(?:non_intrinsic)?\s*(?:::)?\s*(\w+)"
|
FORTRAN_USE_PAT = r"^\s*use,?\s*(?:non_intrinsic)?\s*(?:::)?\s*(\w+)"
|
||||||
|
|
||||||
if mesonlib.is_windows():
|
if mesonlib.is_windows():
|
||||||
quote_func = lambda s: '"{}"'.format(s)
|
quote_func = lambda s: '"{}"'.format(s)
|
||||||
|
|
|
@ -6,5 +6,9 @@ module procedure pi2tau
|
||||||
pi2tau = 2*pi
|
pi2tau = 2*pi
|
||||||
end procedure pi2tau
|
end procedure pi2tau
|
||||||
|
|
||||||
|
module procedure good
|
||||||
|
print *, 'Good!'
|
||||||
|
end procedure good
|
||||||
|
|
||||||
end submodule parent
|
end submodule parent
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,9 @@ interface
|
||||||
module elemental real function pi2tau(pi)
|
module elemental real function pi2tau(pi)
|
||||||
real, intent(in) :: pi
|
real, intent(in) :: pi
|
||||||
end function pi2tau
|
end function pi2tau
|
||||||
|
|
||||||
|
module subroutine good()
|
||||||
|
end subroutine good
|
||||||
end interface
|
end interface
|
||||||
|
|
||||||
end module parent
|
end module parent
|
||||||
|
@ -17,4 +20,6 @@ tau = pi2tau(pi)
|
||||||
|
|
||||||
print *,'pi=',pi, 'tau=', tau
|
print *,'pi=',pi, 'tau=', tau
|
||||||
|
|
||||||
|
call good()
|
||||||
|
|
||||||
end program
|
end program
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
! module circle to be sure module regex doesn't allow commented modules
|
||||||
|
|
||||||
module circle
|
module circle
|
||||||
implicit none
|
implicit none
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue