OSDN Git Service

2008-04-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
authorjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 24 Apr 2008 03:55:05 +0000 (03:55 +0000)
committerjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 24 Apr 2008 03:55:05 +0000 (03:55 +0000)
PR fortran/35994
* gfortran.dg/minmaxloc_5.f90: New test.
* gfortran.dg/minmaxloc_6.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134616 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/minmaxloc_5.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/minmaxloc_6.f90 [new file with mode: 0644]

index b03b011..b73ce75 100644 (file)
@@ -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 (file)
index 0000000..92e2103
--- /dev/null
@@ -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 (file)
index 0000000..c61fab4
--- /dev/null
@@ -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