blob: 505b3b06b137922cb60aa6f83fd4ca3eb284f618 [file] [log] [blame]
! RUN: %python %S/test_errors.py %s %flang_fc1 -Werror
! Catch discrepancies between implicit result types and a global definition
complex function zbefore()
zbefore = (0.,0.)
end
program main
!ERROR: Implicit declaration of function 'zbefore' has a different result type than in previous declaration
print *, zbefore()
print *, zafter()
print *, zafter2()
print *, zafter3()
end
subroutine another
implicit integer(z)
!ERROR: Implicit declaration of function 'zafter' has a different result type than in previous declaration
print *, zafter()
end
!ERROR: Function 'zafter' has a result type that differs from the implicit type it obtained in a previous reference
complex function zafter()
zafter = (0.,0.)
end
function zafter2()
!ERROR: Function 'zafter2' has a result type that differs from the implicit type it obtained in a previous reference
complex zafter2
zafter2 = (0.,0.)
end
function zafter3() result(res)
!ERROR: Function 'zafter3' has a result type that differs from the implicit type it obtained in a previous reference
complex res
res = (0.,0.)
end