[Info-vax] Moving away from OpenVMS

Bob Koehler koehler at eisner.nospam.encompasserve.org
Thu May 24 09:53:34 EDT 2012


In article <jpjm9q$ru2$1 at speranza.aioe.org>, glen herrmannsfeldt <gah at ugcs.caltech.edu> writes:
> 
> Also, VAX (I believe VAX, and not VMS) included a common calling
> convention so that it would be easier for one language to call
> routines in another. That should reduce the need for so many
> different runtimes, though there are likely language specific
> parts.

   VAX has a calling standard.  VMS obeys it.  I suspect ULTRIX and
   VAXeln obey it, but I'm not so sure about or all the other UNIX 
   variants that run on VAX.  It was changed when VAX C shipped.

   Alpha has a calling standard.  VMS obeys it.  I'm fairly sure 
   OSF-1/digital UNIX/Tru64 UNIX obeys it.  I'm not so sure about 
   Cray OS or any other OS.

   IA64 has a calling standard.  VMS has trouble with it and I'm not
   sure the exact state, but VMS does follow a standard and all native
   languages for VMS on IA64 can be mixed.

   The calling standards used by VMS are published for all three
   architectures.

   Despite this, language RTLs vary greatly.  There is no printf() in
   Fortran, COBOL, Pascal, ..., there is no TYPE statement in C, COBOL,
   Pascal, ...

   There are common OTS$ routines and all the RTLs take advantage of all 
   the VMS APIs, but I've never seen a compiler generate a direct call to 
   any OTS$ routine that wasn't written in the source.




More information about the Info-vax mailing list