I've noticed that the IBM CELQPRLG macro emits the following
statements unconditionally (the numbers in parens at the start of
each line below are for reference; they are not an actual portion
of the emitted statement).

(1) ENTRY &CEEEPNM
(2) &CEEEPNM DS 0H
(3) &CEEEPNM AMODE 64
(4) &CEEEPNM RMODE ANY

I'm trying to understand why the High Level Assembler doesn't flag
statement 4 as being in error, since specifying RMODE for a symbol
defined as an ENTRY point (which was done on statement 1) is not
supposedly valid.

Here is what the HLASM Language Reference (SC26-4940-06) states
about the RMODE statement:

RMODE instruction

The RMODE instruction specifies the residence mode to be
associated with control sections in the object deck.

name RMODE 24
31
64
ANY

name
Is the name field that associates the residence mode with a
control section. If there is a symbol in the name field, it
must also appear in the name field of a START, CSECT, RSECT,
or COM instruction in this assembly. If the name field is
space-filled, there must be an unnamed control section in
this assembly. If the name field contains a sequence symbol
(see “Symbols” on page 25 for details), it is treated as a
blank name field.

Reply via email to