blob: 86e1019d7af9aeafc4c092d3ae4405067ea56c55 [file] [log] [blame]
! { dg-do compile }
! { dg-options "-pedantic-errors" }
!
! Contributed by Martin Diehl <m.diehl@mpie.de>
program elemental_optional
implicit none
integer :: m(5), r(5)
m = 1
r = outer()
r = outer(m)
contains
function outer(o) result(l)
integer, intent(in), optional :: o(:)
integer :: u(5), l(5)
l = inner(o,u)
end function outer
elemental function inner(a,b) result(x)
integer, intent(in), optional :: a
integer, intent(in) :: b
integer :: x
if(present(a)) then
x = a*b
else
x = b
endif
end function inner
end program elemental_optional