In the first case below, a warning should be emitted just the same as the
second case... Types other than character are not affected, because for them
the middle-end will do the job anyway.
$ cat s.f90
function pop() result(item)
character(len=0) :: item
end function pop
$ gfortran s.f90 -c
$ cat t.f90
function pop()
character(len=1) :: pop
end function pop
$ gfortran t.f90 -c
t.f90: In function pop:
t.f90:1: warning: Function does not return a value
--
Summary: Warning missing for function result not set
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Keywords: diagnostic
Severity: enhancement
Priority: P3
Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: fxcoudert at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33950