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
