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: 8, 9, 10, 11, 12 or 13.
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.

For example, compiler version 6.3.0 has an IGY-COMPILER-VRM value of 060300.

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 a 31-bit or 64-bit 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.
1. 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.

Related references  
DEFINE  
DEFINE (Enterprise COBOL Programming Guide)