------- Comment #3 from dominiq at lps dot ens dot fr 2009-04-29 14:19 ------- I have modified the code referenced in pr36683 as:
PROGRAM calls IMPLICIT NONE INTEGER :: a(2), b(3), c(6), n , i c = myfunc(a,b) WRITE(*,*) "c:",c !! gives "c: 1 2 3 4 5 6" n = 5 c = 0 c(1:n) = (/(i+2,i=0,n)/)/myfunc(a,b) WRITE(*,*) "c:",c !! gives "c: 1 2 3 4 5 0" CONTAINS FUNCTION myfunc(v1,v2) RESULT(v3) IMPLICIT NONE INTEGER, INTENT(IN) :: v1(:), v2(:) INTEGER :: v3(SIZE(v1,1)*SIZE(v2,1)) INTEGER :: i, j, k DO i=1,SIZE(v1,1) DO j=1,SIZE(v2,1) k = (i-1)*SIZE(v2,1) + j v3(k) = k ENDDO ENDDO WRITE(*,*) "myfunc: v3:",v3 !! always gives "v3: 1 2 3 4 5 6" END FUNCTION myfunc END PROGRAM calls and I don't get any run time error even with '-fbounds-check'. This confirms that this pr is a duplicate of pr36683. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39286