aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2017-12-11 17:57:38 +0000
committerThomas Koenig <tkoenig@gcc.gnu.org>2017-12-11 17:57:38 +0000
commit5e20aef8df76663e5b8507114db9ca28ce76abae (patch)
treed282f8cb255e5e93ad1aaab972c75987233a1a1a /gcc
parent317fa0647833daa24c3b82333a75f64814cda8b5 (diff)
downloadgcc-5e20aef8df76663e5b8507114db9ca28ce76abae.zip
gcc-5e20aef8df76663e5b8507114db9ca28ce76abae.tar.gz
gcc-5e20aef8df76663e5b8507114db9ca28ce76abae.tar.bz2
re PR fortran/83379 (Intermittent failure of min/maxval_char*.f90 test cases)
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog9
-rw-r--r--gcc/testsuite/gfortran.dg/maxval_char_1.f908
-rw-r--r--gcc/testsuite/gfortran.dg/maxval_char_2.f906
-rw-r--r--gcc/testsuite/gfortran.dg/minval_char_1.f906
-rw-r--r--gcc/testsuite/gfortran.dg/minval_char_2.f904
5 files changed, 21 insertions, 12 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index c51c200..acd4578 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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.
diff --git a/gcc/testsuite/gfortran.dg/maxval_char_1.f90 b/gcc/testsuite/gfortran.dg/maxval_char_1.f90
index 24b5336..2e52900 100644
--- a/gcc/testsuite/gfortran.dg/maxval_char_1.f90
+++ b/gcc/testsuite/gfortran.dg/maxval_char_1.f90
@@ -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.
diff --git a/gcc/testsuite/gfortran.dg/maxval_char_2.f90 b/gcc/testsuite/gfortran.dg/maxval_char_2.f90
index 750d18e..c9ba125 100644
--- a/gcc/testsuite/gfortran.dg/maxval_char_2.f90
+++ b/gcc/testsuite/gfortran.dg/maxval_char_2.f90
@@ -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.
diff --git a/gcc/testsuite/gfortran.dg/minval_char_1.f90 b/gcc/testsuite/gfortran.dg/minval_char_1.f90
index 6ffab4e..4d2598e 100644
--- a/gcc/testsuite/gfortran.dg/minval_char_1.f90
+++ b/gcc/testsuite/gfortran.dg/minval_char_1.f90
@@ -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
diff --git a/gcc/testsuite/gfortran.dg/minval_char_2.f90 b/gcc/testsuite/gfortran.dg/minval_char_2.f90
index 82661f0..93ea4f6 100644
--- a/gcc/testsuite/gfortran.dg/minval_char_2.f90
+++ b/gcc/testsuite/gfortran.dg/minval_char_2.f90
@@ -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