This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/40461] Interface mismatch in dummy procedure



------- Comment #1 from burnus at gcc dot gnu dot org  2009-06-16 17:36 -------
I think the error is a valid error. For comparison, NAG f95 5.1 shows the
following error message:

Error: line 19: Dummy proc DERIV arg 1 has different INTENT from actual proc
LOGISTIC4 arg
Error: line 19: Incompatible procedure argument for DERIV (no. 1) of HALPRN

 * * *

Independent from what the standard says, I think the error message makes sense:

If one calls in "SUBROUTINE halprn" the dummy "subroutine deriv" as, e.g.,
  call deriv(5)
that is perfectly correct. But the actual argument is "Logistic4" and as its
first argument is INTENT(OUT), the argument needs to be definable, which "5"
clearly isn't.

I think there is no other solution than to fix it. A work around is to use no
INTENT at either place, but I think arithmetically either INTENT(IN) or
INTENT(OUT) is correct (or INTENT(INOUT)) but having once IN and once OUT is
really bug in your program.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40461


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]