Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gfortran.dg/optional_absent_2.f90 @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
! { dg-do run } ! ! PR fortran/51758 ! ! Contributed by Mikael Morin ! ! Check whether passing NULL() to an elemental procedure works, ! where NULL() denotes an absent optional argument. ! program p integer :: a(2) integer :: b a = 0 a = foo((/ 1, 1 /), null()) ! print *, a if (any(a /= 2)) STOP 1 a = 0 a = bar((/ 1, 1 /), null()) ! print *, a if (any(a /= 2)) STOP 2 b = 0 b = bar(1, null()) ! print *, b if (b /= 2) STOP 3 contains function foo(a, b) integer :: a(:) integer, optional :: b(:) integer :: foo(size(a)) if (present(b)) STOP 4 foo = 2 end function foo elemental function bar(a, b) integer, intent(in) :: a integer, intent(in), optional :: b integer :: bar bar = 2 if (present(b)) bar = 1 end function bar end program p