! { dg-do compile } ! { dg-options "-Og -ffrontend-optimize -fcheck=bounds -fdump-tree-optimized" } ! Check that bounds checking is done only before the matrix ! multiplication. module y contains subroutine x(a,b,c) real, dimension(:,:) :: a, b, c c = matmul(a,b) end subroutine x end module y ! { dg-final { scan-tree-dump-times "_runtime_error" 3 "optimized" } }