You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.