Report syntax error for SET command where first setleft is an invalid ISV and later setleft uses indirection
Final Release Note
Indirection in a setleft correctly generates a compilation error if it is preceded by a setleft which has an invalid ISV usage (e.g. set ($iv,@y(2))=1
). Previously such a usage would cause process termination with a fatal GTMASSERT2 error during compilation. [#372 (closed)]
Description
In the below test case, the first setleft is $iv
which is an invalid ISV. And the second setleft is @y(2)
which is an indirection usage. Together they cause a fatal GTMASSERT2 error while compiling. This is a regression introduced in GT.M V6.3-002 (most likely http://tinco.pair.com/bhaskar/gtm/doc/articles/GTM_V6.3-002_Release_Notes.html#GTM-8720).
> mumps test.m
set ($iv,@y(2))=1
^-----
At column 8, line 1, source module test.m
%YDB-E-INVSVN, Invalid special variable name
%YDB-F-GTMASSERT2, YottaDB r999 Linux x86_64 - Assert failed sr_port/emit_code.c line 1157 for expression (FALSE && ct->opcode)
Draft Release Note
Using indirection in a setleft works correctly even if it is preceded by a setleft which has an invalid ISV usage (e.g. set ($iv,@y(2))=1
). Previously such a usage would fail with a fatal GTMASSERT2 error during compilation.