Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28456 Discussions

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

Laasner__Raul
Beginner
295 Views

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

[fortran]$ 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).  
  call b(c)
---------^
[/fortran]

0 Kudos
1 Reply
Steven_L_Intel1
Employee
295 Views

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.

0 Kudos
Reply