Joseph, I don't think your question has been understood. If so, then your
question hasn't been answered.
My interpretation of your question is that you have real code that has LCLC
&FOO in open code that is behaving like GBLC &FOO.
MACRO TESTMAC , GBLC &FOO
&FOO SETC "MACRO"
MEND
LCLC &FOO&FOO SETC "OPEN CODE"
TESTMAC ,
MNOTE *,"FOO=&FOO"
Are you saying that your testing shows &FOO is "MACRO" instead of "OPEN CODE"?
On Tuesday, June 27, 2023 at 10:37:36 AM PDT, Charles Mills
<[email protected]> wrote:
IOW LCLC &FOO in open code and LCLC &FOO in a macro are different variables.
GBLC &FOO in open code and GBLC &FOO in a macro are the same variable.
Charles
-----Original Message-----
From: IBM Mainframe Assembler List [mailto:[email protected]]
On Behalf Of Jonathan Scott
Sent: Tuesday, June 27, 2023 10:05 AM
To: [email protected]
Subject: Re: Conditional assembly variable scope
> Would any know the difference in scope
> Of a local used in open code and a global used
> In a macro the both seem to have a scope of the entire assembly
A local variable is unique to the context where it is defined,
so a local variable defined in open code applies to all open
code, and a local variable in a macro is defined only in that
macro. If the same name is used for a local variable in a
different context, it refers to a separate variable.
A global variable is the same variable in all contexts where it
is defined.
Jonathan Scott, HLASM
IBM Hursley, UK