[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