[Info-vax] VMS Software Q1 '23 Update

Arne Vajhøj arne at vajhoej.dk
Wed Jan 25 17:35:18 EST 2023


On 1/25/2023 5:16 PM, John Reagan wrote:
> I wrote that sentence in the PDF file.  Vadim is less optimistic.  We'll see who is right.
> Depends on how often they change the water in my "head in a jar".
> 
> As I've said before, the issue is COMMON blocks.  When I first did the design of
> how to convert GEM CIL and GEM symbol table to LLVM, I didn't appreciate the
> difference in how COMMON blocks are described to LLVM and the UNIX environment
> in general.  It isn't just BASIC, you can see broken COMMON blocks in the Fortran
> cross-compiler if you look hard enough.  The problem is that the BASIC MAP statement
> doesn't work right and almost every BASIC program uses MAPs for something.  I have
> a BASIC cross-compiler.  If you don't use a MAP, it probably works (although the test
> system doesn't very far without MAP).
> 
> I also didn't appreciate the complexity of how BASIC uses (exploits?) the GEM interfaces.
> We already found one place where it relied on the GEM implementation in spite of the
> GEM documentation saying "don't do that".    We extended the G2L converter to emulate
> the GEM behavior about positioning of variables on the stack.
> 
> I'm actually code reviewing (well, I haven't started reviewing yet) a solution from one
> of my engineers.  It fixes the Fortran issues.  I hope it will help BASIC but I haven't
> looked.  We'll keep pounding on it.

I am surprised that Fortran COMMON is a problem given
flang, but the details tend to be full of little devils.

:-)

Do you need to fix everything in G2L or can you sometimes
get a change into the LLVM backend?

Arne




More information about the Info-vax mailing list