aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/matmul_2.f9021
2 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index c3cccc5..277f767 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2006-05-05 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/26985
+ * gfortran.dg/matmul_2.f90: New test.
+
2005-05-05 Laurent GUERBY <laurent@guerby.net>
* ada/acats/run_all.sh: Use sync when main not found.
diff --git a/gcc/testsuite/gfortran.dg/matmul_2.f90 b/gcc/testsuite/gfortran.dg/matmul_2.f90
new file mode 100644
index 0000000..fb678af
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/matmul_2.f90
@@ -0,0 +1,21 @@
+!{ dg-do run }
+! PR libfortran/26985
+program matmul_2
+ implicit none
+ integer :: a(2,9), b(9,7), c(2,7)
+ integer :: i, j
+
+ a = 1
+ b = 2
+ c = 1789789
+ c(:,1:7:2) = matmul(a,b(:,1:7:2))
+
+ if (c(1,1) /= 18 .or. c(2,1) /= 18 .or. &
+ c(1,2) /= 1789789 .or. c(2,2) /= 1789789 .or. &
+ c(1,3) /= 18 .or. c(2,3) /= 18 .or. &
+ c(1,4) /= 1789789 .or. c(2,4) /= 1789789 .or. &
+ c(1,5) /= 18 .or. c(2,5) /= 18 .or. &
+ c(1,6) /= 1789789 .or. c(2,6) /= 1789789 .or. &
+ c(1,7) /= 18 .or. c(2,7) /= 18) call abort
+
+end program matmul_2