[Info-vax] LLVM, volatile and async VMS I/O and system calls

Dave Froble davef at tsoft-inc.com
Mon Oct 4 12:21:04 EDT 2021


On 10/4/2021 3:04 AM, Lawrence D’Oliveiro wrote:
> On Monday, October 4, 2021 at 2:45:46 PM UTC+13, Dave Froble wrote:
>> On 10/3/2021 7:15 PM, Lawrence D’Oliveiro wrote:
>>> On Monday, October 4, 2021 at 7:20:00 AM UTC+13, Dave Froble wrote:
>>>> As an example, back in the day, the RSTS Basic+ interpreter had an
>>>> interesting quirk. For example:
>>>>
>>>> A = "abc"
>>>> B = A
>>>>
>>>> One would expect the value in A to be placed in the location where the
>>>> pointer to B points. However, Basic+ would change the pointer to B to
>>>> the value of the pointer to A, thus losing the old location of B. I
>>>> think this happened with strings, don't really remember, it has been a
>>>> very long time.
>>>>
>>>> Now consider that the pointer to B was in an I/O buffer. After the
>>>> operation, B would no longer be pointing into the I/O buffer. Perhaps
>>>> not such a good thing. (Actually a horrible thing!)
>>>
>>> Isn’t that what LSET and RSET were for?
>>>
>> Yes. Not much used anymore.
>
> But it is the correct solution, within the BASIC-PLUS family at least, to the problem of updating a string within an existing buffer, is it not? Rather than resorting to non-obvious hacky magic tricks like concatenating a null string.
>

Well, I don't know, it is not an issue, and hasn't been for a long time.

The point I was making is people still using the +"" thing when not 
needed, and quite likely something an optimizer might omit.  In at least 
some cases, optimization might be for poor programming practices.

-- 
David Froble                       Tel: 724-529-0450
Dave Froble Enterprises, Inc.      E-Mail: davef at tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA  15486



More information about the Info-vax mailing list