[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