Ref:  Your note of Thu, 6 Nov 2014 18:41:34 -0500

Tony H wrote:
> On 6 November 2014 17:20, Jonathan Scott <[email protected]>
> wrote:
> > When all else is equal a new dependent USING for a given location
> > should supersede any older one for the same location and base
> > USING.
>
> 1) This is not the way non-dependent USINGs work. There can be multiple
> "right-part"s  (registers, =bases, in some sense) with at worst a warning.
> Why should this be different?

There are existing rules about priority of USING which have to
remain unchanged.  That's why I said "when all else is equal".
Also, when I say "same location" I'm talking about alternative
active USING statements which could be used to resolve the same
name.

> 2) Having multiple overlapping dependent USINGs can be useful. For example:
>
> xCBAREA  DS  XL...
> ...
>          USING IHADCB,xCBAREA
>          USING IFGACB,xCBAREA
> ...
>
>          MVC   DCBDDNAM,some_ddname Works for DCB or ACB
> ...
>          TM    DCBOFLGS,DCBOPEN     Works for DCB or ACB
> ...
>          TM    ACBDSOR2,ACBDORGA    Is this an ACB?
>          JO    Handle_ACB           Go do ACB-only stuff
> ...
>          DROP  ???
>
> I'm not claiming this is the "right" technique -- clearly there are other
> ways of doing it -- but it's a use case.
>
> Tony H.

That's fine.  The only case which might need a new rule is when
the same name can be resolved using multiple USING statement and
other USING priority rules (for example about smallest
displacement or base register numbers) are not sufficient to
make a definite choice.

It is obviously necessary to ensure that any case which is already
supported by HLASM should continue to be processed in exactly the
same way for complete compatibility.

Jonathan Scott
IBM Hursley, UK

Reply via email to