[Info-vax] C troubles: BADSTATICCVT

John Reagan xyzzy1959 at gmail.com
Fri Feb 2 17:52:04 EST 2018


On Friday, February 2, 2018 at 4:43:49 PM UTC-5, DaveFroble wrote:
> John Reagan wrote:
> > I'll also remind folks that the Macro-32 compiler was originally intended to
> > be a SHORT-TERM product to aid in the initial porting but the compiler was
> > going to be retired in a few years once everybody had a chance to recode into
> > a higher level language.
> 
> Yeah, funny that.
> 
> A simple question in a not so simple environment.
> 
> Considering anything VAX as a different environment, and ignoring it, Macro-32 
> is now a compiled language.  What good, if any, would there be in making it a 
> strictly 64 bit language?

The Macro-32 compiler has lots of 64-bit additions.  It lets you touch all 32 Alpha registers.  It has several dozen EVAX_ instructions to access the 64-bit instruction set.  You have EVAX_STQ and EVAX_LDQ to do 64-bit loads and stores.  You can write 64-bit code today.

The trouble is that unlike a language like C where you can change a typedef, add a command qualifier, etc. and expand a 32-bit thingy into a 64-bit thingy, it isn't as easy in Macro.  You might have to go change 50% of all your instructions to go from VAX-style longword instructions (ie, CMPL/BEQ and MOVL) to Alpha-style quadword instruction (ie, EVAX_CMPEQ/EVAX_BEQ and EVAX_BIC).  And none of the 64-bit instructions impact the VAX condition codes so switching a few instructions from VAX to EVAX might break the program's logic.

> 
> There is that 1/3 of VMS still in Macro-32 code, and who knows how many others 
> have substantial Macro-32 code.  So there is a valid argument for it continuing 
> to exist.

Which is why we keep it.  Nobody has made any substantial recoding over the years.  A few modules here, a few modules there, but still lots of Macro code.




More information about the Info-vax mailing list