aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2008-04-23 05:50:54 +0000
committerThomas Koenig <tkoenig@gcc.gnu.org>2008-04-23 05:50:54 +0000
commit7edc89d4c168867a240e54533b2214bbc2a1987c (patch)
treebd46eec170f8c0e3cf03ec5971a682da2e37e83a /gcc/testsuite/gfortran.dg
parentd5555b955d4a769168475e623597cf822d8fd82a (diff)
downloadgcc-7edc89d4c168867a240e54533b2214bbc2a1987c.zip
gcc-7edc89d4c168867a240e54533b2214bbc2a1987c.tar.gz
gcc-7edc89d4c168867a240e54533b2214bbc2a1987c.tar.bz2
re PR fortran/35988 (run-time abort for MATMUL of run-time zero sized array)
2008-04-23 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/35988 * m4/matmul.m4: Only issue a runtime error if extents are non-zero. * generated/matmul_i1.c: Regenerated. * generated/matmul_i2.c: Regenerated. * generated/matmul_i4.c: Regenerated. * generated/matmul_i8.c: Regenerated. * generated/matmul_i16.c: Regenerated. * generated/matmul_r4.c: Regenerated. * generated/matmul_r8.c: Regenerated. * generated/matmul_r10.c: Regenerated. * generated/matmul_r16.c: Regenerated. * generated/matmul_c4.c: Regenerated. * generated/matmul_c8.c: Regenerated. * generated/matmul_c10.c: Regenerated. * generated/matmul_c16.c: Regenerated. 2008-04-23 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/35988 * gfortran.dg/matmul_7.f90: New test. From-SVN: r134579
Diffstat (limited to 'gcc/testsuite/gfortran.dg')
-rw-r--r--gcc/testsuite/gfortran.dg/matmul_7.f9040
1 files changed, 40 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/matmul_7.f90 b/gcc/testsuite/gfortran.dg/matmul_7.f90
new file mode 100644
index 0000000..b3f925a
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/matmul_7.f90
@@ -0,0 +1,40 @@
+! { dg-do run }
+! PR 35988 - failure on some zero-sized matmuls.
+! Test case contributed by Dick Hendrickson.
+
+ program try_gf1003
+
+ call gf1003a( 9, 8, 6)
+ call gf1003b( 9, 8, 6)
+ call gf1003c( 9, 8, 6) !fails
+ call gf1003d( 9, 8, 6) !fails
+ end program
+
+
+ SUBROUTINE GF1003a(nf9,nf8,nf6)
+ REAL RDA(3,2)
+ REAL RDA1(3,5)
+ REAL RDA2(5,2)
+ RDA = MATMUL(RDA1(:, 9:8),RDA2( 8:6,:))
+ END SUBROUTINE
+
+ SUBROUTINE GF1003b(nf9,nf8,nf6)
+ REAL RDA(3,2)
+ REAL RDA1(3,0)
+ REAL RDA2(0,2)
+ RDA = MATMUL(RDA1(:,NF9:NF8),RDA2(NF9:NF8,:))
+ END SUBROUTINE
+
+ SUBROUTINE GF1003c(nf9,nf8,nf6)
+ REAL RDA(3,2)
+ REAL RDA1(3,0)
+ REAL RDA2(0,2)
+ RDA = MATMUL(RDA1(:,NF9:NF8),RDA2(NF8:NF6,:))
+ END SUBROUTINE
+
+ SUBROUTINE GF1003d(nf9,nf8,nf6)
+ REAL RDA(3,2)
+ REAL RDA1(3,5)
+ REAL RDA2(5,2)
+ RDA = MATMUL(RDA1(:,NF9:NF8),RDA2(NF8:NF6,:))
+ END SUBROUTINE