The main documentation of the Finalize_Status_Vector Procedure contains additional explanation of this code listing.
subroutine Finalize_Status_Vector (S)
! Input/Output variable.
! Status vector to be finalized:
type(Status_type), dimension(:), intent(inout) :: S
! Internal variable.
type(integer) :: i ! Loop counter.
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! Verify requirements.
VERIFY(Valid_State(S),1) ! S is valid.
! Finalizations.
do i = 1, SIZE(S)
call Finalize (S(i))
end do
! Verify guarantees.
VERIFY(.not.(Valid_State(S)),1) ! S is no longer valid.
return
end subroutine Finalize_Status_Vector