aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorThomas Koenig <Thomas.Koenig@online.de>2005-06-07 20:46:17 +0000
committerThomas Koenig <tkoenig@gcc.gnu.org>2005-06-07 20:46:17 +0000
commitae740ccecdd59110782f3c0623486df14a57d7b7 (patch)
treefb2ff4924c094e8ef8e3cd32eee95a36428e940f /gcc
parent108267cd5609ef326744e1593f878a36e3c09675 (diff)
downloadgcc-ae740ccecdd59110782f3c0623486df14a57d7b7.zip
gcc-ae740ccecdd59110782f3c0623486df14a57d7b7.tar.gz
gcc-ae740ccecdd59110782f3c0623486df14a57d7b7.tar.bz2
re PR libfortran/21926 ([4.0 only] matmul does not deal with non-packed result)
2005-06-07 Thomas Koenig <Thomas.Koenig@online.de> PR libfortran/21926 * m4/matmul.m4: Correct zeroing of result for non-packed arrays with lowest stride is one. * generated/matmul_c4.c: Regenerated. * generated/matmul_c8.c: Regenerated. * generated/matmul_i4.c: Regenerated. * generated/matmul_i8.c: Regenerated. * generated/matmul_r4.c: Regenerated. * generated/matmul_r8.c: Regenerated. 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. From-SVN: r100721
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_matmul.f908
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