Skip to content

v0.9.52

Latest

Choose a tag to compare

@github-actions github-actions released this 27 Oct 19:01
· 10 commits to main since this release
More fixed-format and indicator support, and several rules brought in
line with IBM i. Every change was checked against a real IBM i (PUB400).

- Data structures: a LIKEDS or LIKE subfield can have DIM, written before
  or after it. %SIZE of a data structure is its length in bytes (it was
  the C++ object's size), and CLEAR takes a subfield or an element.
- BASED data structures, free and fixed format, with LEN. The indicators
  are now held as IBM i holds them, '1' and '0', so a data structure based
  on %ADDR(*IN) gives them names. A pointer's INZ(%ADDR(x)) or INZ(*NULL)
  is no longer dropped.
- The *IN array: *IN(i), *IN = value, CLEAR *IN and %LOOKUP over *IN.
- SETON and SETOFF in fixed-format calculations.
- An indicator the program refers to but never sets is an error
  (RNF7030), as on IBM i; so is a fixed-format factor 1, factor 2 or
  result field that is not left-adjusted (RNF0262).
- The RPG cycle: a program whose calculations end with LR off runs them
  again, as IBM i does.
- A called program that returns with a halt indicator on is status 231 in
  its caller, and rpgc's own halt-indicator message carries RNX0233.

The IBM i execution run now builds the programs the tests call, so the
CALL tests are compared too: 225 tests give the same output on IBM i.
CTL-OPT USRPRF and VALIDATE are not planned; they are accepted and ignored.