Specifies the size of the RETURN-CODE special register and its alignment in memory.
Syntax:
>>-.---.--RTNCODE-SIZE--"integer"----------><
+-/-+
Parameters:
-
integer
- One of:
- 2
- PIC S9(4) COMP: size 2 bytes, aligned on a two-byte boundary.
- 4
- PIC S9(9) COMP: size 4 bytes, aligned on a four-byte boundary.
- 8
- PIC S9(18) COMP: size 8 bytes, aligned on an eight-byte boundary.
Properties:
Default:
|
RTNCODE-SIZE"4"
|
Phase:
|
Syntax check
|
$SET:
|
Initial
|
Dependencies:
Set to RTNCODE-SIZE"4" immediately by XOPEN.
If a program with a four-byte RETURN-CODE calls a program with a two-byte RETURN-CODE, on return the value from the called program is in the lower two bytes of the four-byte RETURN-CODE. The content of the upper two bytes is undefined.
If a program with an eight-byte RETURN-CODE calls a program with a four-byte RETURN-CODE, on return the value from the called program is in the lower four bytes of the eight-byte RETURN-CODE. The content of the upper four bytes is undefined.
When one program calls another, it is not necessary that the size of their RETURN-CODE registers match. If the calling program's RETURN-CODE register is larger than the called program's RETURN-CODE register, then any remaining bytes the calling program's register are undefined. For example, if a program with a two-byte RETURN-CODE calls a program with a four-byte RETURN-CODE, on return the lower two bytes of the value from the called program are in the two-byte RETURN-CODE. The content of the upper two bytes is lost.
If the calling program's RETURN-CODE register is smaller than the called program's RETURN-CODE register, then any bytes that cannot fit into the calling program's register are lost. For example, if a program with a four-byte RETURN-CODE calls a program with a eight-byte RETURN-CODE, on return the lower four bytes of the value from the called program are in the four-byte RETURN-CODE. The content of the upper four bytes is lost.