[Info-vax] VMS port to x86
glen herrmannsfeldt
gah at ugcs.caltech.edu
Wed May 30 16:43:20 EDT 2012
Bob Koehler <koehler at eisner.nospam.encompasserve.org> wrote:
(snip)
> Fortran builds fixed length text descriptors for you every time
> you pass CHARACTER type.
And under certain conditions (at least for VAX) the linker will
remove those descriptors. (That is, convert to %REF.)
In Fortran 66 you can use a string (Hollerith constant) as a
subroutine actual argument, where the dummy argument is a
variable or array (usually INTEGER, but not always).
To make that work, the linker fixes things up.
It is more usual for Fortran 77 compilers to pass the length
of CHARACTER expressions as extra arguments on the end of
the argument list. They are then ignored if the called routine
doesn't use CHARACTER dummy variables. That wasn't consistent
with the VAX/VMS calling convention, though.
I never tried it for Alpha or IA64.
-- glen
More information about the Info-vax
mailing list