34 lines
934 B
Fortran
34 lines
934 B
Fortran
|
! { dg-do compile }
|
||
|
! { dg-options "-fwhole-file" }
|
||
|
!
|
||
|
! Tests the fix PR40011 comment 17 in which the explicit interface was
|
||
|
! being ignored and the missing argument was not correctly handled, which
|
||
|
! led to an ICE.
|
||
|
!
|
||
|
! Contributed by Dominique d'Humieres <dominiq@lps.ens.fr
|
||
|
!
|
||
|
Implicit None
|
||
|
call sub(1,2)
|
||
|
call sub(1,2,3)
|
||
|
|
||
|
contains
|
||
|
|
||
|
subroutine sub(i,j,k)
|
||
|
Implicit None
|
||
|
Integer, Intent( In ) :: i
|
||
|
Integer, Intent( In ) :: j
|
||
|
Integer, Intent( In ), Optional :: k
|
||
|
intrinsic present
|
||
|
write(*,*)' 3 presence flag ',present(k)
|
||
|
write(*,*)' 1st arg ',i
|
||
|
write(*,*)' 2nd arg ',j
|
||
|
if (present(k)) then
|
||
|
write(*,*)' 3rd arg ',k
|
||
|
else
|
||
|
write(*,*)' 3rd arg is absent'
|
||
|
endif
|
||
|
return
|
||
|
end subroutine
|
||
|
|
||
|
end
|