I would like a bare end statement at the end of a subroutine, function, program, or module to be replaced by a statement with end followed by the name. For example, the linter leaves the code
module m
implicit none
contains
real function twice(x)
real, intent(in) :: x
twice = 2 * x
end
subroutine sub(x, y)
implicit none
real, intent(in) :: x
real, intent(out) :: y
y = 2 * x + 4.5
end
end
program main
use m
implicit none
real :: x, y
x = 10.0
call sub(x, y)
print *, y
print *, twice(y)
end
I would like it to be changed to
module m
implicit none
contains
real function twice(x)
real, intent(in) :: x
twice = 2 * x
end function twice
subroutine sub(x, y)
implicit none
real, intent(in) :: x
real, intent(out) :: y
y = 2 * x + 4.5
end subroutine sub
end module m
program main
use m
implicit none
real :: x, y
x = 10.0
call sub(x, y)
print *, y
print *, twice(y)
end program main
I would like a bare
end
statement at the end of a subroutine, function, program, or module to be replaced by a statement withend
followed by the name. For example, the linter leaves the codeI would like it to be changed to