------- Comment #3 from janus at gcc dot gnu dot org 2008-08-27 19:52 ------- Also the following version of Dominique's test case gives the same error, using PROCEDURE statements without the POINTER attribute:
real function proc3( arg1 ) integer :: arg1 proc3 = arg1+7 end function proc3 program myProg PROCEDURE () :: proc3 call proc4( proc3 ) CONTAINS subroutine proc4( arg1 ) PROCEDURE(real) :: arg1 print*, 'the func: ', arg1(0) end subroutine proc4 end program myProg The error also appears for PROCEDURE() :: arg1. It goes away, however, if proc3 is declared as PROCEDURE(real), regardless of whether arg1 has an explicit or implicit return type. -- janus at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Reject valid (?) procedure |Reject valid PROCEDURE |pointer |statement with implicit | |interface http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37254