subroutine prob(m, n)
        implicit none
        integer, intent(in) :: m
        integer, intent(out) :: n
        integer, save :: saved = 10
        target :: saved
        integer, pointer :: p_saved
        integer, parameter :: ROWS = 5, COLS = 7
        real :: matrix(ROWS, COLS)
        p_saved => saved
        call new_procedure(COLS, ROWS, m, matrix, n, saved)
        print *, n, m, saved, p_saved
end subroutine

subroutine new_procedure(COLS, ROWS, m, matrix, n, saved)
    implicit none
    integer :: COLS
    integer :: ROWS
    integer, intent(in) :: m
    real :: matrix(ROWS, COLS)
    integer, intent(out) :: n
    integer, target :: saved
    matrix(:, :) = 0.0           !<<<<<START
    n = 5 * m
    saved = 2
    !p_saved => saved
    !p_saved = p_saved + 1
    print *, n, m, saved !<<<<<END
end subroutine


program main; call prob(3, n); call prob(3, n); print *, n; call flush; stop; end program
