diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_matmul.f90 | 8 |
2 files changed, 15 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7aacd2f..ef8a58f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2005-06-07 Thomas Koenig <Thomas.Koenig@online.de> + + PR libfortran/21926 + * gfortran.fortran-torture/execute/intrinsic_matmul.f90: + Test case where the return array has lowest stride one, + but isn't packed. + 2005-06-07 Adrian Straetling <straetling@de.ibm.com> * lib/target-supports.exp (check_effective_target_sync_int_long): diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_matmul.f90 b/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_matmul.f90 index 4b195d26..9364f1e 100644 --- a/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_matmul.f90 +++ b/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_matmul.f90 @@ -7,6 +7,8 @@ program intrinsic_matmul integer, dimension(3) :: y integer, dimension(2, 2) :: r integer, dimension(3) :: v + real, dimension (2,2) :: aa + real, dimension (4,2) :: cc a = reshape((/1, 2, 2, 3, 3, 4/), (/2, 3/)) b = reshape((/1, 2, 3, 3, 4, 5/), (/3, 2/)) @@ -21,4 +23,10 @@ program intrinsic_matmul v(1:2) = matmul(a, y) if (any(v(1:2) .ne. (/14, 20/))) call abort + + aa = reshape((/ 1.0, 1.0, 0.0, 1.0/), shape(aa)) + cc = 42. + cc(1:2,1:2) = matmul(aa, transpose(aa)) + if (any(cc(1:2,1:2) .ne. reshape((/ 1.0, 1.0, 1.0, 2.0 /), (/2,2/)))) call abort + if (any(cc(3:4,1:2) .ne. 42.)) call abort end program |