This actual argument must be the name of a user subroutine or the name of intrinsic subroutine.

This actual argument must be the name of a user subroutine or the name of intrinsic subroutine.

milenko@milenkons:~/fcm10/bcg2$ ifort -c mvm.f90
mvm.f90(33): error #6636: This actual argument must be the name of a user subroutine or the name of intrinsic subroutine.   [MATVEC]
call bicgstab2 (okprint,l, n, x, rhs,matvec, nonzero, tol,typestop,mxmv, work, ldw, info)
-------------------------------------^
compilation aborted for mvm.f90 (code 1)

I have problem with external function,I am attaching the code.

AttachmentSize
Downloadapplication/octet-stream mvm.f90567 bytes
Downloadapplication/octet-stream m1.f908.18 KB
Downloadapplication/octet-stream m2.f90365 bytes
3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

The message is pretty clear to me. In m2, you declare matvec as a function that returns an array. But in bicgstab2, you call the matvec argument as a subroutine, which is a conflict. These need to be consistent.

Retired 12/31/2016

Thanks Steve,I will try to fix this.

Leave a Comment

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