[Info-vax] Userland programming languages on VMS.

Bill Gunshannon bill.gunshannon at gmail.com
Fri Jan 28 18:38:27 EST 2022


On 1/28/22 16:38, Arne Vajhøj wrote:
> On 1/28/2022 3:44 PM, Bill Gunshannon wrote:
>> On 1/28/22 14:46, Arne Vajhøj wrote:
>>> On 1/28/2022 12:37 PM, John Reagan wrote:
>>>> On Friday, January 28, 2022 at 8:51:57 AM UTC-5, Arne Vajhøj wrote:
>>>>> On 1/28/2022 4:06 AM, cao... at pitbulluk.org wrote:
>>>>>> On Friday, January 28, 2022 at 6:29:10 AM UTC, Steven Schweda wrote:
>>>>>>>> Which I do not consider exotic.
>>>>>>> Sure, fine, but look at the results from the current blend of (what
>>>>>>> are, I assume) defaults. Whether or not better results are so 
>>>>>>> "easy",
>>>>>>> the existing situation (mess) is the existing situation (mess).
>>>>>>>
>>>>>>> As I said, "unrealistic". That was an inference, not a postulate.
>>>>>>
>>>>>> Aren't C/C++ the only VMS languages capable of using the full 64 
>>>>>> bit address space?
>>>>>> Perhaps some others are (partially) capable but it doesn't look at 
>>>>>> all convenient.
>>>>>> Pascal has IADDRESS64 in addition to IADDRESS but why bother to 
>>>>>> call a _64 system service when you can't really do much else with it?
>>>>> I believe Fortran supports usage of P2 space.
>>>>>
>>>> Fortran lets you allocate COMMON in P2 and it has the CDEC$ 
>>>> POINTER64 (or however it is spelled)
>>>> attribute.   You can have "top level" 64-bit pointers but you can't 
>>>> get 64-bit pointers as fields in a structure.
>>>
>>> Real Fortran programmer does not use pointers.
>>>
>>> :-)
>>>
>>> Example with common:
>>>
>>> $ type f64.for
>>>        program f64
>>>        implicit none
>>>        real*8 x(10),y(10)
>>>        common /cx/x
>>>        !DEC$ATTRIBUTES ADDRESS64::cy
>>>        common /cy/y
>>>        write(*,'(1x,z16.16)') %loc(x)
>>>        write(*,'(1x,z16.16)') %loc(y)
>>>        end
>>> $ for f64
>>> $ link f64
>>> $ run f64
>>> 0000000000040000
>>> 0000000080000000
>>>
>>
>> I ran that thru every FORTRAN compiler I had.  Sorry, it's not
>> FORTRAN.
> 
> It should work with Fortran on VMS Alpha and VMS I64.
> 
> Above test is on VMS Alpha.
> 

And which Fortran standard includes "!DEC$ATTRIBUTES ADDRESS64::cy"?

bill





More information about the Info-vax mailing list