PL/I Syntax
- In the AIX version of Open PL/I, the ABS function returns incorrect values for very small floating point operands.
- The internal representations of floating point constants on the Sun versions of Open PL/I are sometimes different from those on the IBM RS6000.
- The compiler does not diagnose a mismatch between actual parameters and the parameter list in the entry declaration when the dimension attribute is used in the parameter list.
- DO j = 1 to 6 while(...), j = 1 to 6 while(...); fails because the second set of iterations starts at 0 instead of 1.
- DO j = 1 repeat j+1 while(...), j = j repeat j-I while(...); fails because the second set of iterations begins at 1 instead of j.
- The compiler is confused by the declaration of an ENTRY whose RETURNS type is specified by the TYPE attribute referring to a structure whose members are declared using the TYPE attribute.
- No diagnostic is generated when you pass an array argument to a non-array parameter.
- If the length operand for COPY of a bit-string is less than the length of the target to which the COPY is assigned, the trailing bits of the target are not always zeroed.
- Assignment of a shorter bit-string to a longer target does not always obtain padding with zeros on the right as it should.
- Static initialization of a pointer to the address of a static data item is not supported.
- The TRUNC built-in causes an runtime error if its argument is a double precision floating point value whose integer value is greater than 2**31.
- The PUT FILE statement adds an extra character in front of the data being written into a file.