- The CICS preprocessor now supports block-scoping and consequently
will add the needed local CICS declares to all non-nested procedures.
- The SQL preprocessor now supports the PL/I rules for the scope of declarations when
resolving host variable references through the new SCOPE option. NOSCOPE is the
default for compatibility with previous releases.
- The MACRO preprocessor will now leave %include, %xinclude, %inscan,
and %xinscan statements in the compiler listing as comments.
- The MACRO preprocessor now provides via the %DO SKIP; statement
an easy and clear way to omit sections of code from a compile.
- The MACRO preprocessor now supports an option called NAMEPREFIX
which allows the user to force macro procedures and variables to start with a specified character.
- The IGNORE compiler option provides the ability to suppress PUT FILE and/or
DISPLAY statements (either of which may have been used for debug purposes
but which should be compiled out of the production version).
- The NULLSTRPTR suboption of the DEFAULT compiler option provides
user control of whether sysnull or null is assigned to a pointer
when the source in the assignment is a null string.
- The new MAXGEN option specifies the maximum number of intermediate language
statements that should be generated for any one user statement and will
cause the compiler to flag any statement where this maximum is exceeded.
- The new ONSNAP option will allow the user to request the compiler to insert
an ON STRINGRANGE SNAP; or an ON STRINGSIZE SNAP; statement into the
prologue of a MAIN or FROMALIEN proc.
- The new SHORT suboption of the INITAUTO option will
limit the INITAUTO option so that it does not duplicate all of the runtime STORAGE
option, but does initialize variables that might be optimized to registers.
- The new RTCHECK option will generate code to test for the dereferencing of null pointers.
- The compiler will now flag various statements that may be risky:
- code where the result of a FIXED operation has a scale factor less than zero
- ENTRYs used as functions but declared without the RETURNS attribute
- parameters declared as BYVALUE when doing so is ill-advised, e.g. declaring a FIXED DEC parameter BYVALUE
- FIXED DECIMAL add and multiply operations that might raise FIXEDOVERFLOW
- The RULES option has been expanded to allow more control over and flagging of poor code:
- NOPROCENDONLY will flag END statements for PROCs that don't name the PROC they are closing
- NOSTOP will flag the use of STOP and EXIT
- NOLAXQUAL(STRICT) will flag variables not qualified with their level-1 name
- NOLAXSCALE will flag declares of FIXED DEC(p,q) and FIXED BIN(p,q) where q < 0 or q > p
- NOGOTO(LOOSE) will allow GOTOs only if in the same block
- More than one DELAY STATEMENTS can be concurrently executed in different procedures.
|
This information center is powered by Eclipse technology. (http://www.eclipse.org)