The CHECK option specifies whether
the compiler should generate special code to detect various programming
errors.

.-NOCONFORMANCE-.
>>-CHECK--(-+-CONFORMANCE---+-)--------------------------------><
Specifying CHECK(CONFORMANCE) causes
the compiler to generate, under the following circumstances, code
that checks at run time if the attributes of the arguments passed
to a procedure match those of the declared parameters:
- If a parameter is a string (or
an array of strings) declared with a constant length, then the STRINGSIZE
condition will be raised if the argument passed does not have matching
length.
- If a parameter is a string (or
an array of strings), then the STRINGSIZE condition will be raised
if the argument does not have the same length type (VARYING, NONVARYING
or VARYINGZ).
- If a parameter is an array (of
scalars or structures), then the SUBSCRIPTRANGE condition will be
raised if any constant bounds do not match those of the passed argument.
The SUBSCRIPTRANGE condition will also be raised if all the extents
are constant and the size and spacing of the array elements in the
argument do not match those in the parameter. Arrays inside a structure
are not checked.
- If a parameter is a structure or
union with constant extents, then the SUBSCRIPTRANGE condition will
be raised if the offset of the last element does not match that of
the passed argument.
- If the procedure has the RETURNS BYADDR attribute and that attribute
specifies a string type, then the STRINGSIZE condition will be raised
if the string passed for the RETURNS value does not have matching
length.
This extra code will not be generated
if the NODESCRIPTOR option applies to the procedure or if the block
contains ENTRY statements or if the CMPAT(LE) option is in effect.
|
This information center is powered by Eclipse technology. (http://www.eclipse.org)