<div dir="ltr"><div><div><div><div>Hi,<br></div>I don&#39;t know if it was reported yet, but we&#39;ve got some nasty UB detected by C Compiler warning  in primitiveFindSubstring:<br><br>../../src/plugins/MiscPrimitivePlugin/MiscPrimitivePlugin.c:745:53: warning: unsequenced modification and access to &#39;index&#39; [-Wunsequenced]<br>                        while ((body[startIndex + index]) == (key[(index += 1)])) {<br><br></div>Effectively, the sequence is well defined in Smalltalk, not in C.<br>See String&gt;&gt;#findSubstring:in:startingAt:matchTable:<br><br></div><div>    (body at: startIndex + index) == (key at: (index := index + 1)) <br><br></div><div>Since the CCodeGenerator does not handle this,<br></div>we should better decompose the Smalltalk code into several instructions.<br><br></div><div>Hint: mind the C compiler warnings, some of them are true positive!<br></div><div>Half my changes/fixes are driven by them.<br></div><div><br></div>Nicolas<br></div>