Warning and Error Options

Note: The -w is an existing compiler option to turn warnings off. The -w option will negate the effects of -Wa and -Wl. To use the previous -w option, it must be specified alone (as the -v option is).
-a This flag is now obsolete and should not be used.
-Wl This option generates the following 01-level item warning:
USING parameter <name> is not an 01-level item

The ANSI COBOL standard requires that parameters passed to subprograms be 01-level items. ACUCOBOL-GT does not restrict them as such; however, there are valid reasons for restricting their use. For example, starting in version 7.0.0, the compiler can generate better code for certain moves and comparisons, based on the alignment of the underlying data types. When those data types are in LINKAGE, the alignment rules that the compiler assumes may not be valid. Making all of the passed parameters be 01-level items ensures that the compiler's assumptions about alignment of the data items are valid. Note that the compiler can generate incorrect code when the assumptions are invalid. In such situations, it is possible to get a MAV at run time.

-Wa Ths option generates the following alignment warning:
USING parameter <name> not aligned and may cause problems in the called subprogram

To be less restrictive, the compiler also includes an alignment warning. This is generated whenever a passed parameter is a group or is binary, and whose alignment is not an even multiple of the alignment specified by the -Da# option.

-Wr This option displays warning messages for 01 level redefined zones if they are smaller than the redefiner.
-Wu This option displays a warning if any of the following verbs are missing an explicit scope terminator: ACCEPT, ADD, CALL, COMPUTE, DELETE, DISPLAY, DIVIDE, EVALUATE, IF, MODIFY, MOVE, MULTIPLY, PERFORM, READ, RECEIVE, RETURN, REWRITE, SEARCH, START, STRING, SUBTRACT, UNSTRING, USE, WAIT, WRITE, and XML GENERATE and PARSE.
Note: Only complex constructs are reported; simple constructs, such as MOVE a TO b, are ignored if the terminator is missing.
-Qm This option specifies the number of errors the compiler reports before it exits. The option must be followed by a positive numeric argument, which is the maximum number of errors the compiler reports before it exits. The default value is 100.
-Qp This option allows the compiler to skip entire sections of code when it finds an error. In particular, when this option is used, the compiler skips to the next period (.) when an error is detected.