blob: 986a0e7e509d537e8013e3bac81bcce6b328a8b9 [file] [log] [blame]
! { dg-do run }
! PR fortran/35830
!
module m
contains
subroutine one(a)
integer a(:)
print *, lbound(a), ubound(a), size(a)
if ((lbound(a,dim=1) /= 1) .or. (ubound(a,dim=1) /= 3)) &
STOP 1
print *, a
if (any(a /= [1,2,3])) STOP 2
end subroutine one
end module m
program test
use m
implicit none
call foo1(one)
call foo2(one)
contains
subroutine foo1(f)
! The following interface block is needed
! for NAG f95 as it wrongly does not like
! use-associated interfaces for PROCEDURE
! (It is not needed for gfortran)
interface
subroutine bar(a)
integer a(:)
end subroutine
end interface
procedure(bar) :: f
call f([1,2,3]) ! Was failing before
end subroutine foo1
subroutine foo2(f)
interface
subroutine f(a)
integer a(:)
end subroutine
end interface
call f([1,2,3]) ! Works
end subroutine foo2
end program test