The following options can be used to influence runtime behavior when compiling the module containing the main
function. When compiling other modules These options have no effect.
-K
arg1[,arg2...]
General input rules for the -K
option can be found on "Calling syntax and general rules".
The following entries are possible as arg arguments to control the runtime behavior:
integer_overflow
no_integer_overflow
-K integer_overflow
(default)
By default, the program mask is set to X‘0C‘ in compliance with the ILCS convention.
-K no_integer_overflow
The program mask is set to X’00’.
The two program masks have the following effect:
X‘0C‘ | X‘00‘ | |
Fixed point overflow | allowed | suppressed |
Notes
The ILCS program mask may not be changed with mixed code!
The -K integer_overflow
option does not affect he selection of generated commands. The result is that permitting INTEGER-OVERFLOW does not necessarily mean that an overflow is triggered in all cases.
prompting
no_prompting
-K prompting
(default)
If the program is called from the BS2000 environment (SDF), a prompt line is output in which parameters can be specified for the main
function or for redirecting the standard I/O stream.
-K no_prompting
No prompt line is output.
This option has no effect if the program is started from the POSIX shell as the parameters are always specified in the command line in this case.
statistics
no_statistics
-K statistics
(default)
The used CPU time is output when a program generated with this option is terminated. However, this only occurs when the program is transferred to BS2000 and is started there.
-K no_statistics
The used CPU time is not output.
stacksize=
n
The -K stacksize
option can be used to input a number n (8 to 99999) which defines the number of kilobytes to be reserved for the first segment of the C runtime stack. The default is 64 kilobytes.
environment_encoding_std
environment_encoding_ebcdic
These options enable the encoding of external strings, such as arguments of main and environment variables, to be controlled.
–K environment_encoding_std
(default).
The external strings are encoded in the way specified in the options -K literal_encoding_ascii
, -K literal_encoding_ascii_full
, -K literal_encoding_ebcdic
or -K literal_encoding_ebcdic_full
(see "Common frontend options in C and C+").
-K literal_encoding_ebcdic_full
This option is offered for reasons of compatibility. Despite -K literal_encoding_ascii
or –K literal_encoding_ascii_full
being specified, external strings are encoded in EBCDIC.
The table below explains the option combinations and the encoding of the external strings:
environment_encoding_std | environment_encoding_ebcdic | |
literal_encoding_ebcdic* | EBCDIC | EBCDIC |
literal_encoding_ascii* | ASCII | EBCDIC |