Suppress error and warning messages.
Restriction: This topic applies to Windows environments only.
Build Settings:
Type directly into the
Additional Directives field on the
Assembler tab of your project properties
Assembler page.
Comments:
The purpose of the ALLOW option is to provide compatibility with the mainframe, which does not generate error or warning messages
for these cases. You may choose to use NOALLOW to improve the quality of your code. One particular benefit is that you can
identify all undefined macro labels at macro compile time rather than only when a branch to a label is attempted at execution
time.
Enables the following compilation behavior:
- Allow duplicate variable definitions within macros and ignore all but the first one (that is, allow definitions in a macro
that duplicate earlier definitions; whether the earlier definition is in the same macro or is a parameter it overrides the
later definition).
- Allow branches to undefined labels in AIF instructions. (Such branches cause errors during execution). Allow fullword and
halfword definitions to have values enclosed in parentheses as well as single quotes; for example you can code F(D0) or F'D0'
- Allow the instruction DROP for registers with no current USING.
- Suppress string sublist function and return entire string; for example, &T SETC '(ABC)'(1) returns (ABC), not ABC.
- Allow literal pool references across CSECT boundaries. This works on the PC, but on the mainframe the Assembler Linker may
replace or reorder CSECTS, thereby rendering some literal pool references invalid. Under these circumstances specify NOALLOW.
- Allow conditional assembly macro references to the length (L' operator) of symbols defined on EQU statements with no third
operand that explicitly defines the length; during the macro pre-process stage the length defaults to one, but during the
assembly phase it is set to its actual value, and the code generated is incorrect.
- Issue no warning about the presence of blank lines.
- Issue no warning about the presence of dead code, that is code that can never be executed.
- Issue no warning about a POP instruction without a preceding PUSH.
When NOALLOW is specified, error or warning messages are issued for the above.