------- Comment #7 from pault at gcc dot gnu dot org 2008-06-18 07:15 ------- (In reply to comment #6)
> However, this is not different from 4.3. Using NAG f95, I get: > Warning: line 26: REAL value for INTEGER PARAMETER > Error:Explicit interface required for CHECK_INTEGER4_RANK1 from ARRAY_TEST - > argument EXPECTED (no. 1) is an assumed-shape array duuuh! Lahey... Compiling program unit CHECK_INTEGER4_RANK1 at line 1: Compiling program unit array_test at line 19: 2615-S: "SOURCE.F90", line 29: The procedure 'CHECK_INTEGER4_RANK1' shall have an explicit interface, because it contains the assumed shape array 'EXPECTED'. The previous definition is in 'line 14'. 2615-S: "SOURCE.F90", line 29: The procedure 'CHECK_INTEGER4_RANK1' shall have an explicit interface, because it contains the assumed shape array 'COMPUTED'. The previous definition is in 'line 14'. Encountered 2 errors, 0 warnings, 0 informations in file SOURCE.F90. Compiling file SOURCE.F90. Another case where same file checking would come in handy. Compiling with -m32 on my system reproduces the bus error. Adding the interface, thusly: !module CHECK_SEM ! Submitted by Walt Brainerd, The Fortran Company ! GNU Fortran 95 (GCC 4.1.0 20050322 (experimental)) ! Windows XP ! Produces "a.exe has encountered a problem" window. ! Same problem if comments are removed so that ! the function is in a module. ! contains function CHECK_INTEGER4_RANK1 (EXPECTED, COMPUTED) integer(4), dimension(:), intent(in) :: EXPECTED, COMPUTED logical :: CHECK_INTEGER4_RANK1 CHECK_INTEGER4_RANK1 = all(COMPUTED == EXPECTED) end function CHECK_INTEGER4_RANK1 !end module CHECK_SEM program array_test !use CHECK_SEM logical :: CHECK_INTEGER4_RANK1 integer,dimension(-1:1,-1:1) :: mis1=1 logical,dimension(-1:1,-1:1) :: ml2=.true. interface function CHECK_INTEGER4_RANK1 (EXPECTED, COMPUTED) integer(4), dimension(:), intent(in) :: EXPECTED, COMPUTED logical :: CHECK_INTEGER4_RANK1 end function CHECK_INTEGER4_RANK1 end interface print *, CHECK_INTEGER4_RANK1 (sum(mis1,dim=1,mask=ml2), (/8,5,12/)) end program array_test Makes it work fine for -m32 and -m64. Dominique, if that does not do it for you, remodify the summary line and keywords as appropriate. Cheers Paul PS Jerry, sorry for fingering you falsely! :) -- pault at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |pault at gcc dot gnu dot org Keywords| |diagnostic, ice-on-invalid- | |code Summary|[4.4 Regression] regression |Missing interface not |due to revision 136821 |detected in call to same | |file function http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36553