------- Comment #2 from jaydub66 at gmail dot com 2008-04-09 18:23 ------- Here is a modified version of the original test case, which is also accepted by gfortran, while it is rejected by ifort:
module m contains subroutine one(a) integer a(1:2) end subroutine one subroutine two(a) integer a(2:3) end subroutine two end module program test use m implicit none ! PROCEDURE dummy !call foo(two) ! Interface dummy call bar(two) contains ! subroutine foo(f) ! procedure(one) :: f ! end subroutine foo subroutine bar(f) interface subroutine f(a) integer a(1:2) end subroutine f end interface end subroutine bar end program test In this test case both arrays are explicit-sized, and even have the same size, but their upper and lower bounds are shifted. gfortran currently does not even check if both arrays have the same size, only their ranks are compared. ifort gives the following error message: fortcom: Error: test35831.f90, line 23: The characteristics of dummy argument 1 of the associated actual procedure differ from the characteristics of dummy argument 1 of the dummy procedure. (12.2) [TWO] call bar(two) -----------^ I would change this bug's status from UNCONFIRMED to NEW, but apparently I don't have the "canconfirm" permission. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35831