I apologize for this very tardy response...

On Sun, 14 Sep 2008 10:01:15 -0400 Andreas Gdissbuhler suggested:

> Baseless SPM expansions still need labels. But how about
> asking IBM for double-dot (":LABEL") labels, having the
> scope of "Macro-Generated-Code-Only", like this:
>          MACRO
>          XYZ   ...
>          . . .
>          B     :STMT130
>          MEND
>
> blah     CSECT
>          B     STMT130
> *ASMERR* undefined label STMT130
>          B     :STMT130
> *ASMERR* macro-internal label :STMT130 being used outside macros
>
> This would eliminate a lot of dangerous labels being abused
> intentionally or otherwise. To implement, it could be as easy as
> recognizing the ':'-prefix being valid only in macro-generated
> lines of code (any statement generated by ANY macro).

An interesting idea. I can see that this would work if a macro using
such labels does not invoke any inner macros using the same technique.
Since HLASM has a "flat" name space, I can't see how this could be
implemented and still avoid possible ":-label" collisions unless all
are generated using &SYSNDX to ensure uniqueness. Even then, there is
still a possibility that an outer macro could accidentally refer to
such a label generated by an inner macro, or vice versa.

I'll add it to the HLASM "Wish List".
John Ehrman

Reply via email to