Predefined compilation variables

There are compilation variables that are defined automatically by the compiler. These compilation variables listed in this topic can be referenced in conditional compilation directives wherever a compilation variable is allowed.

Table 1. Predefined compilation variables
Predefined compilation variable name1 Description Value
IGY-ARCH Indicates the target architecture for which the source code is being compiled. The value of the ARCH option that was used to compile the program: Start of change10, 11, 12, 13, or 14.End of change
IGY-CICS Indicates whether embedded CICS statements are accepted. B'1' if the CICS compiler option is in effect; B'0' otherwise.
IGY-COMPILER-VRM Indicates the version of the compiler. An integer in the format VVRRMM, where:
  • VV represents the version number.
  • RR represents the release number.
  • MM represents the modification number.

Start of changeFor example, compiler version 6.4.0 has an IGY-COMPILER-VRM value of 060400.End of change

IGY-DLL Indicates whether the program is compiled as DLL code. B'1' if the DLL compiler option is in effect; B'0' otherwise.
IGY-DYNAM Indicates whether programs invoked through the CALL literal statement will be loaded or deleted dynamically at run time. B'1' if the DYNAM compiler option is in effect; B'0' otherwise.
IGY-LP Indicates whether an AMODE 31 or AMODE 64 program should be generated with the related language features enabled. The value of the LP option that is used to compile the program: 32 or 64.
IGY-OPTIMIZE Indicates the optimization level. The optimization level that was used to compile the program: 0, 1 or 2.
IGY-SQL Indicates whether processing of embedded SQL statements is enabled. B'1' if the SQL compiler option is in effect; B'0' otherwise.
IGY-SQLIMS Indicates whether processing of embedded SQLIMS statements is enabled. B'1' if the SQLIMS compiler option is in effect; B'0' otherwise.
IGY-THREAD Indicates whether the program is compiled with multithread support enabled. B'1' if the THREAD compiler option is in effect; B'0' otherwise.
Start of change1. The older predefined compilation variables without the IGY- prefix are tolerated. It is suggested that the IGY- prefixed names be used. Do not use the IGY- prefix when you define your own compilation variables.End of change

Related references  
DEFINE  
DEFINE (Enterprise COBOL Programming Guide)