rt_gccstream/gcc/testsuite/gfortran.dg/matmul_bounds_4.f90

17 lines
567 B
Fortran

! { dg-do run }
! { dg-options "-fbounds-check" }
! { dg-shouldfail "Fortran runtime error: Incorrect extent in return array in MATMUL intrinsic: is 3, should be 2" }
program main
real, dimension(3) :: a
real, dimension(3,2) :: b
real, dimension(:), allocatable :: ret
allocate (ret(2))
a = 1.0
b = 2.3
ret = matmul(a,b) ! This is OK
deallocate(ret)
allocate(ret(3))
ret = matmul(a,b) ! This should throw an error.
end program main
! { dg-output "Fortran runtime error: Incorrect extent in return array in MATMUL intrinsic: is 3, should be 2" }