re PR fortran/83379 (Intermittent failure of min/maxval_char*.f90 test cases)
authorThomas Koenig <tkoenig@gcc.gnu.org>
Mon, 11 Dec 2017 17:57:38 +0000 (17:57 +0000)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Mon, 11 Dec 2017 17:57:38 +0000 (17:57 +0000)
2017-12-11  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/83379
* gfortran.dg/minval_char_1.f90: Correct logic for mask
calculation.
* gfortran.dg/minval_char_2.f90: Likewise.
* gfortran.dg/maxval_char_1.f90: Likewise.
* gfortran.dg/maxval_char_2.f90: Likewise.

From-SVN: r255543

gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/maxval_char_1.f90
gcc/testsuite/gfortran.dg/maxval_char_2.f90
gcc/testsuite/gfortran.dg/minval_char_1.f90
gcc/testsuite/gfortran.dg/minval_char_2.f90

index c51c200..acd4578 100644 (file)
@@ -1,5 +1,14 @@
 2017-12-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
 
+       PR fortran/83379
+       * gfortran.dg/minval_char_1.f90: Correct logic for mask
+       calculation.
+       * gfortran.dg/minval_char_2.f90: Likewise.
+       * gfortran.dg/maxval_char_1.f90: Likewise.
+       * gfortran.dg/maxval_char_2.f90: Likewise.
+
+2017-12-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
        PR fortran/45689
        * gfortran.dg/minval_parameter_1.f90: New test.
        * gfortran.dg/maxval_parameter_1.f90: New test.
index 24b5336..2e52900 100644 (file)
@@ -19,10 +19,10 @@ program main
   res = maxval(a,dim=1)
   if (res /= '00030') call abort
   do
-    call random_number(r)
-    if (count(r>0.2) > 1) exit
+     call random_number(r)
+     v = int(r * 100)
+     if (count (v>20) > 1) exit
   end do
-  v = int(r * 100)
   write (unit=b,fmt='(I5.5)') v
   write (unit=res,fmt='(I5.5)') maxval(v)
   if (res /= maxval(b)) call abort
@@ -31,7 +31,7 @@ program main
   smask = .false.
   if (all_zero /= maxval(b, smask)) call abort
 
-  mask = v < 30
+  mask = v > 20
   write (unit=res,fmt='(I5.5)') maxval(v,mask)
   if (res /= maxval(b, mask)) call abort
   mask = .false.
index 750d18e..c9ba125 100644 (file)
@@ -18,9 +18,9 @@ program main
   if (res /= 4_'00030') call abort
   do
      call random_number(r)
-     if (count(r>0.2) > 1) exit
+     v = int(r * 100)
+     if (count(v > 20) > 1) exit
   end do
-   v = int(r * 100)
   write (unit=b,fmt='(I5.5)') v
   write (unit=res,fmt='(I5.5)') maxval(v)
   if (res /= maxval(b)) call abort
@@ -29,7 +29,7 @@ program main
   smask = .false.
   if (all_zero /= maxval(b, smask)) call abort
 
-  mask = v < 30
+  mask = v > 20
   write (unit=res,fmt='(I5.5)') maxval(v,mask)
   if (res /= maxval(b, mask)) call abort
   mask = .false.
index 6ffab4e..4d2598e 100644 (file)
@@ -17,10 +17,10 @@ program main
   res = minval(a)
   if (res /= '00026') call abort
   do
-    call random_number(r)
-    if (count(r<0.2) > 1) exit
+     call random_number(r)
+     v = int(r * 100)
+     if (count(v < 30) > 1) exit
   end do
-  v = int(r * 100)
   write (unit=b,fmt='(I5.5)') v
   write (unit=res,fmt='(I5.5)') minval(v)
   if (res /= minval(b)) call abort
index 82661f0..93ea4f6 100644 (file)
@@ -20,9 +20,9 @@ program main
   if (res /= 4_'00026') call abort
   do
      call random_number(r)
-     if (count(r>0.2) > 1) exit
+     v = int(r * 100)
+     if (count(v<30) > 1) exit
   end do
-  v = int(r * 100)
   write (unit=b,fmt='(I5.5)') v
   write (unit=res,fmt='(I5.5)') minval(v)
   if (res /= minval(b)) call abort