diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/minmaxval_1.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/minmaxval_1.f90 | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/minmaxval_1.f90 b/gcc/testsuite/gfortran.dg/minmaxval_1.f90 new file mode 100644 index 000000000..bb16d2e5f --- /dev/null +++ b/gcc/testsuite/gfortran.dg/minmaxval_1.f90 @@ -0,0 +1,29 @@ +! { dg-do compile } +! Tests the fix for PR37836 in which the specification expressions for +! y were not simplified because there was no simplifier for minval and +! maxval. +! +! Contributed by Tobias Burnus <burnus@gcc.gnu.org> +! +! nint(exp(3.0)) is equal to 20 :-) +! + function fun4a() + integer fun4a + real y(minval([25, nint(exp(3.0)), 15])) + + fun4a = size (y, 1) + end function fun4a + + function fun4b() + integer fun4b + real y(maxval([25, nint(exp(3.0)), 15])) + save + + fun4b = size (y, 1) + end function fun4b + + EXTERNAL fun4a, fun4b + integer fun4a, fun4b + if (fun4a () .ne. 15) call abort + if (fun4b () .ne. 25) call abort + end |