| call sub1(); call flush; stop |
| contains |
| |
| subroutine sub1 |
| integer :: a, b |
| dimension a(3, 4:5) |
| do b = 1, 3; a(b, :) = b*10; enddo; implicit1 = 20; implicit2 = 30 |
| call new_procedure(a, b, implicit1, implicit2) |
| end subroutine |
| |
| subroutine new_procedure(a, b, implicit1, implicit2) |
| implicit none |
| integer :: a(3, 4:5) |
| integer :: b |
| integer :: implicit1 |
| integer :: implicit2 |
| print *, a !<<<<<START |
| print *, b |
| print *, implicit1 |
| print *, implicit2 |
| if (implicit2 .gt. 3) then |
| print *, "OK" |
| end if !<<<<<END |
| end subroutine |
| |
| |
| subroutine x |
| end subroutine x |
| end program |