[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