BIFPREC

The BIFPREC option controls the precision of the FIXED BIN result returned by various built-in functions.

Read syntax diagramSkip visual syntax diagram
               .-15-.      
>>-BIFPREC--(--+-31-+--)---------------------------------------><

For best compatibility with PL/I for MVS™ & VM, OS PL/I V2R3, and earlier compilers, use BIFPREC(15).

BIFPREC affects the following built-in functions:

The effect of the BIFPREC compiler option is most visible when the result of one of the above built-in functions is passed to an external function that has been declared without a parameter list. For example, consider the following code fragment:

  dcl parm char(40) var;
  dcl funky ext entry( pointer, fixed bin(15) );
  dcl beans ext entry;
  call beans( addr(parm), verify(parm), ' ' );

Suppose that the function beans actually declares its parameters as POINTER and FIXED BIN(15). If the preceding code is compiled with the option BIFPREC(31) and if it is run on a big-endian system such as z/OS®, the compiler will pass a 4-byte integer as the second argument and the second parameter will be zero.

Note that the function funky will work on all systems with either option.

The BIFPREC option does not affect the built-in functions DIM, HBOUND and LBOUND. The CMPAT option determines the precision of the FIXED BIN result returned by these three functions: