------- Comment #6 from jaydub66 at gmail dot com 2008-05-15 21:48 -------
I noticed that while the test case from comment #1 still fails, the following
variation actually works with the patch from comment #2:
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)) &
call abort()
print *, a
if (any(a /= [1,2,3])) call abort()
end subroutine one
end module m
program test
use m
implicit none
call foo(one)
contains
subroutine foo(f)
interface
subroutine f(a)
integer a(:)
end subroutine
end interface
call f([1,2,3])
end subroutine foo
end program test
The only difference being that f is specified by an INTERFACE statement instead
of a PROCEDURE statement.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35830