blob: bd6d299f4b6f059dc6dc73a251a01ba14f19bf55 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
! { dg-do run }
! PR 27980 - We used to allocate negative amounts of memory
! for functions returning arrays if lbound > ubound-1.
! Based on a test case by beliavsky@aol.com posted to
! comp.lang.fortran.
program xint_func
implicit none
integer, parameter :: n=3,ii(n)=(/2,0,-1/)
integer :: i
character(len=80) :: line
do i=1,n
write (line,'(10I5)') int_func(ii(i))
end do
contains
function int_func(n) result(ivec)
integer, intent(in) :: n
integer :: ivec(n)
integer :: i
if (n > 0) then
forall (i=1:n) ivec(i) = i
end if
end function int_func
end program xint_func
|