Skip to content

v0.9.47

Choose a tag to compare

@github-actions github-actions released this 06 Oct 20:01
· 74 commits to main since this release
Fixes for the four known issues in v0.9.46. Every fix is checked on a
real IBM i (PUB400): it gives the same diagnostics, and the programs
print the same output.

- A %SUBST start or length written as a number must fit the field's
  declared length, as on IBM i: %SUBST(s : 9 : 5) of a CHAR(10) is now a
  compile error (RNF0365; a start outside the field is RNF0364). This
  applies to %SUBST in expressions too. A start or length known only at
  run time is still checked then (status 100).

- %SUBST as an assignment target: %SUBST(s : 2 : 3) = 'XYZ' puts the
  value into that part of the field, padded with blanks or cut to fit,
  for a CHAR or VARCHAR field, an array element or a subfield, in free
  and fixed form.
- A name declared twice in one scope is reported by rpgc (RNF3316)
  instead of failing in the C++ compiler. A procedure's local may still
  hide a global of the same name.
- A call to a name that is no procedure, prototype or array is reported
  by rpgc (RNF7030) instead of failing in the C++ compiler.
- Fixed-format source may open with a compiler directive (/IF, /DEFINE,
  /COPY) or a /FREE block; it used to be read as free-format.

394 OpenRPG tests, 45 dspfc tests and 31 interactive display-file tests
pass.