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