The standard includes in the library SYSLNK.CRTE contain the prototype declarations for all C library functions which the C runtime system provides. Approx. 50 of these library functions are not defined in the ANSI standard, but are BS2000-specific (e.g. bs2fstat
, _edt
) or UNIX-specific extensions (e.g. open
, gamma
).
The define _STRICT_STDC
is provided to permit applications that conform to the ANSI standard to be programmed.
This define can be set with the following option at compilation time:
For version V2.2 of the C and C++ compilers:
SOURCE-PROPERTIES = PAR(LANGUAGE-STANDARD = STRICT-ANSI)
For the C/C++ compiler from V3.0 to V3.2:
MODIFY-SOURCE-PROPERTIES LANGUAGE=*C(MODE=*STRICT-ANSI)
For the C/C++ compiler as of V4.0:
MODIFY-SOURCE-PROPERTIES LANGUAGE=*C(MODE={*LATEST|1990|2011},STRICT=*YES)
If the define _STRICT_STDC
is set, the prototype declarations for all functions in the standard includes that are not defined in the ANSI standard are deactivated or bypassed. The names of these functions are then freely available as user-defined names.
The define _STRICT_STDC
relates only to prototype declarations within ANSI-defined standard includes. The BS2000-specific include headers do not contain a query for this define.