------- 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

Reply via email to