1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
function diff_1_int32(n_) result(y)
integer, allocatable :: y(:)
integer :: size_work
integer, intent(in) :: n_
if (n_ <= 0) return
allocate(y(n_))
block
integer :: work(size_work)
y = 13
end block
end function diff_1_int32
program block_08
integer, allocatable :: x(:)
interface
function diff_1_int32(n_) result(y)
integer, allocatable :: y(:)
integer, intent(in) :: n_
end function diff_1_int32
end interface
allocate(x(10))
x = diff_1_int32(10)
print *, x
if (any(x /= 13)) error stop
end program
|