[Info-vax] VMS port to x86
Paul Sture
paul.nospam at sture.ch
Thu May 31 10:13:24 EDT 2012
On Wed, 30 May 2012 20:43:20 +0000, glen herrmannsfeldt wrote:
> 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 am pretty sure that externally called routines saw these as VAX calling
standard descriptors.
> I never tried it for Alpha or IA64.
>
Ditto.
--
Paul Sture
More information about the Info-vax
mailing list