Code containing NEW or BREAK commands compiled with -noline_entry runs correctly

Final Release Note

Certain cases of M code containing NEW or BREAK run when compiled with the -noline_entry option, whether specified on a shell command line or through $ZCOMPILE. Previously the code would crash with a segmentation violation (SIGSEGV / signal 11). [#901 (closed)]

Description

Here's a simple test case as test.m:

test
 S DMSQ(37470)=""
 I 0 B
 S X="" F  S X=$O(DMSQ(X))  Q:X=""  W X,! 
 QUIT

Crash:

$ $gtm_dist/yottadb -noline_entry ../r/test.m
$ $gtm_dist/yottadb -r test
%YDB-F-KILLBYSIGSINFO1, YottaDB process 33002 has been killed by a signal 11 at address 0x00007F863CFAC9BB (vaddr 0x0000000000000018)
%YDB-F-SIGMAPERR, Signal was caused by an address not mapped to an object

Draft Release Note

M code compiled with qualifier -noline_entry works correctly if a BREAK command is in the code. Previously, if a BREAK was preceded by an IF in the middle of an M line, and the IF path was not taken, the M runtime could crash with a SIG-11 at the first local variable reference in the following M lines.[#901 (closed)]

Edited by K.S. Bhaskar