"F2008 standard does not allow an internal procedure to be an actual argument procedure name."

"F2008 standard does not allow an internal procedure to be an actual argument procedure name."

The following gives a warning but seems to work correctly in my actual project.

$ cat main.f90 
  call a()
end program

subroutine a()
  call b(c)
contains
  subroutine c()
  end subroutine c
end subroutine a

subroutine b(x)
  interface
     subroutine x()
     end subroutine x
  end interface
end subroutine b
$ ifort -std08 main.f90 
main.f90(5): warning #7601: F2008 standard does not allow an internal procedure to be an actual argument procedure name. (R1214.4).   [C]
  call b(c)
---------^

2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Standards warnings never affect execution. But the warning is incorrect here - we have a lot of similar cases. I'll ask that it be fixed. This became standard-conforming in F08.

Retired 12/31/2016

Leave a Comment

Please sign in to add a comment. Not a member? Join today