! RUN: %python %S/test_errors.py %s %flang_fc1 -Werror !WARNING: Function result is never defined function basic() end function defdByIntentOut() call intentout(defdByIntentOut) contains subroutine intentout(x) real, intent(out) :: x end end function defdByIntentInOut() call intentinout(defdByIntentInOut) contains subroutine intentInout(x) real, intent(out) :: x end end function defdByIntentInPtr() real, target :: defdByIntentInPtr call intentInPtr(defdByIntentInPtr) contains subroutine intentInPtr(p) real, intent(in), pointer :: p end end !WARNING: Function result is never defined function notDefdByCall() call intentin(notDefdByCall) contains subroutine intentin(n) integer, intent(in) :: n end end !WARNING: Function result is never defined function basicAlloc() real, allocatable :: basicAlloc allocate(basicAlloc) end function allocPtr() real, pointer :: allocPtr allocate(allocPtr) ! good enough for pointer end function sourcedAlloc() real, allocatable :: sourcedAlloc allocate(sourcedAlloc, source=0.) end function defdByEntry() entry entry1 entry1 = 0. end function defdByEntry2() entry entry2() result(entryResult) entryResult = 0. end function usedAsTarget() real, target :: usedAsTarget real, pointer :: p p => usedAsTarget end function entryUsedAsTarget() real, target :: entryResult real, pointer :: p entry entry5() result(entryResult) p => entryResult end function defdByCall() call implicitInterface(defdByCall) end function defdInInternal() contains subroutine internal defdInInternal = 0. end end function defdByEntryInInternal() entry entry3() result(entryResult) contains subroutine internal entryResult = 0. end end type(defaultInitialized) function defdByDefault() type defaultInitialized integer :: n = 123 end type end integer function defdByDo() do defdByDo = 1, 10 end do end function defdByRead() read(*,*) defdByRead end function function defdByNamelist() namelist /nml/ defdByNamelist read(*,nml=nml) end character(4) function defdByWrite() write(defdByWrite,*) 'abcd' end integer function defdBySize() real arr(10) read(*,size=defdBySize) arr end character(40) function defdByIomsg() !WARNING: IOMSG= is useless without either ERR= or IOSTAT= write(123,*,iomsg=defdByIomsg) end character(20) function defdByInquire() inquire(6,status=defdByInquire) end !WARNING: Function result is never defined character(20) function notDefdByInquire() inquire(file=notDefdByInquire) end integer function defdByNewunit() open(newunit=defdByNewunit, file="foo.txt") end function defdByAssociate() associate(s => defdByAssociate) s = 1. end associate end function defdByElementArgToImplicit() result(r) real r(1) call define(r(1)) end