- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Good day. This is not specifically a Fortran compiler question, however, it's close. Perhaps someone knows the answer to this question.
In ml64, I can no longer use INVOKE, I must use CALL. Does the CALL instruction still use the stack (i.e. PUSH)? I cannot get this to work. Thanks for any help.
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
First 4 arguments are register, room for this made on stack, remaining args on stack
Default argument passing by reference.
Use BIND(C) for calling convention:
SUBROUTINE INTEROP_SUB (ARG) BIND(C,NAME="InteropSub")
FUNCTION INTEROP_FUN (ARG) BIND(C,NAME="InteropFun") RESULT (IAMFUN)
Suggest you make an exemplative shell function in Fortran, enable assembly output with source, edit that down to minimal code, then fill-in the body of the function.
Jim Dempsey

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page