Commit ea0daf5f by Mikael Morin

Forward-port test generic_31.f90 from the 5 branch.

gcc/testsuite/
	PR fortran/66929
	* gfortran.dg/generic_31.f90: New.

From-SVN: r227010
parent 255520e0
2015-08-19 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/66929
* gfortran.dg/generic_31.f90: New.
2015-08-19 Marek Polacek <polacek@redhat.com> 2015-08-19 Marek Polacek <polacek@redhat.com>
PR middle-end/67133 PR middle-end/67133
......
! { dg-do run }
!
! PR fortran/66929
! Check that the specific FIRST symbol is used for the call to FOO,
! so that the J argument is not assumed to be present
module m
interface foo
module procedure first
end interface foo
contains
elemental function bar(j) result(r)
integer, intent(in), optional :: j
integer :: r, s(2)
! We used to have NULL dereference here, in case of a missing J argument
s = foo(j, [3, 7])
r = sum(s)
end function bar
elemental function first(i, j) result(r)
integer, intent(in), optional :: i
integer, intent(in) :: j
integer :: r
if (present(i)) then
r = i
else
r = -5
end if
end function first
end module m
program p
use m
integer :: i
i = bar()
if (i /= -10) call abort
end program p
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment