summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/minmaxval_1.f90
blob: bb16d2e5f0fd17538823e26844c472ccf53399ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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