aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2008-04-24 03:55:05 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2008-04-24 03:55:05 +0000
commit6412ecdc939b8abdc3c713a83b38928b3567b2ce (patch)
treefee94ca48621e429ccae3f3d7b99f1ab91bffd7b /gcc
parent4e77ad242f46c1dcbebca2fc2f63ec4f40269d46 (diff)
downloadgcc-6412ecdc939b8abdc3c713a83b38928b3567b2ce.zip
gcc-6412ecdc939b8abdc3c713a83b38928b3567b2ce.tar.gz
gcc-6412ecdc939b8abdc3c713a83b38928b3567b2ce.tar.bz2
re PR fortran/35994 (MAXLOC and MINLOC off by one with mask)
2008-04-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/35994 * gfortran.dg/minmaxloc_5.f90: New test. * gfortran.dg/minmaxloc_6.f90: New test. From-SVN: r134616
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gfortran.dg/minmaxloc_5.f9018
-rw-r--r--gcc/testsuite/gfortran.dg/minmaxloc_6.f9011
3 files changed, 35 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index b03b011..b73ce75 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2008-04-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/35994
+ * gfortran.dg/minmaxloc_5.f90: New test.
+ * gfortran.dg/minmaxloc_6.f90: New test.
+
2008-04-23 Steve Ellcey <sje@cup.hp.com>
* gcc.dg/array-init-1.c: Add big-endian number to check.
diff --git a/gcc/testsuite/gfortran.dg/minmaxloc_5.f90 b/gcc/testsuite/gfortran.dg/minmaxloc_5.f90
new file mode 100644
index 0000000..92e2103
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/minmaxloc_5.f90
@@ -0,0 +1,18 @@
+! { dg-do run }
+! PR35994 [4.3/4.4 regression] MAXLOC and MINLOC off by one with mask
+program GA4076
+ REAL DDA(100)
+ dda = (/(J1,J1=1,100)/)
+ IDS = MAXLOC(DDA,1)
+ if (ids.ne.100) call abort !expect 100
+
+ IDS = MAXLOC(DDA,1, (/(J1,J1=1,100)/) > 50)
+ if (ids.ne.100) call abort !expect 100
+
+ IDS = minLOC(DDA,1)
+ if (ids.ne.1) call abort !expect 1
+
+ IDS = MinLOC(DDA,1, (/(J1,J1=1,100)/) > 50)
+ if (ids.ne.51) call abort !expect 51
+
+END
diff --git a/gcc/testsuite/gfortran.dg/minmaxloc_6.f90 b/gcc/testsuite/gfortran.dg/minmaxloc_6.f90
new file mode 100644
index 0000000..c61fab4
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/minmaxloc_6.f90
@@ -0,0 +1,11 @@
+! { dg-do run }
+! PR35994 [4.3/4.4 regression] MAXLOC and MINLOC off by one with mask
+ REAL DDA(5:104)
+ dda = (/(J1,J1=1,100)/)
+
+ IDS = MAXLOC(DDA,1)
+ if (ids.ne.100) call abort !expect 100
+ IDS = MAXLOC(DDA,1, (/(J1,J1=1,100)/) > 50)
+ if (ids.ne.100) call abort !expect 100
+
+ END