> Hello,
> 
> this was reported at
> http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/635192e11beadb93#
> 
> The problem is the line 47:
> 
> 47:       IF( M.EQ.0 .OR. A(M, 1).NE.ZERO .OR. A(M, N).NE.ZERO ) THEN
> 
> If M == 0 the one accesses A(0,1) which is invalid as the lower bound is 1
> and not 0.
> 
> Note: Contrary to C there is no left-to-right evaluation of expressions in
> Fortran; the order is left to the compiler. One might assume that a smart
> compiler does not evaluate "A(M,1)" if "M==0", however, there is nothing in
> the standard guarantees this.
> 
> If bounds checks are turned on (see post at the URL above), gfortran aborts
> with an out-of-bounds error.