blob: a1ecebf992579f39f8b324b1a6e7086d88ea47bb [file] [log] [blame]
! RUN: %python %S/test_errors.py %s %flang_fc1
! Test that the interface of specific intrinsics passed as dummy arguments
! are correctly validated against actual arguments explicit interface.
intrinsic :: abs, dabs
interface
subroutine foo(f)
interface
function f(x)
real :: f
real, intent(in) :: x
end function
end interface
end subroutine
subroutine foo2(f)
interface
function f(x)
double precision :: f
double precision, intent(in) :: x
end function
end interface
end subroutine
end interface
! OK
call foo(abs)
! OK
call foo2(dabs)
!ERROR: Actual procedure argument has interface incompatible with dummy argument 'f=': function results have distinct types: REAL(4) vs REAL(8)
call foo(dabs)
!ERROR: Actual procedure argument has interface incompatible with dummy argument 'f=': function results have distinct types: REAL(8) vs REAL(4)
call foo2(abs)
end