The default length of a Q-type constant is 4, although early PL/I compilers used QL2. I don't know whether Enterprise PL/I still uses QL2; I hope not.
-- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Assembler List [[email protected]] on behalf of Keven [[email protected]] Sent: Saturday, July 4, 2020 8:35 PM To: [email protected] Subject: Re: z390 RLD Entries ... Bug or Feature? Pretty sure that a 2-byte RLD entry results from a Q-Type AdCon and often represents a CXD or PRV offset. That’s to say, they have their uses still.Keven On Sat, Jul 4, 2020 at 7:11 PM -0500, "Seymour J Metz" <[email protected]> wrote: > And of course use of a length-2 RLD is kind of questionable ! constants (external dummies). > (unless a truncated value is what you are going after). In the case of PL/I they assumed that there would never be truncation; the code certainly wouldn't work correctly if the Q-constants were truncated. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Assembler List [[email protected]] on behalf of Peter Relson [[email protected]] Sent: Saturday, July 4, 2020 9:23 AM To: [email protected] Subject: Re: z390 RLD Entries ... Bug or Feature? I don't know anything about z390, but FWIW z/OS does not support 5/6/7-byte relocatable adcons (let alone use of 5 through 8 on ALn but they are supported on ADLn). Use of ADL5/6/7 is detected by the binder with the message: IEW2353E 243F SECTION TEST CONTAINS INVALID DATA. ERROR CODE IS 250008. where 250008 - RLD contains an invalid length field. Supported lengths are 2, 3, 4, and 8, where 8 is allowed only for type loader token. <> z/OS has never, to my knowledge, supported 1-byte relocatable adcons. And of course use of a length-2 RLD is kind of questionable (unless a truncated value is what you are going after). Peter Relson z/OS Core Technology Design
