<div>Hi,<br></div><div><br></div><div>Yep, that seems to be the problem.<br></div><div><br></div><div>So Gcc 7 (and I guess gcc 8) with -O2 and our code seems to optimise into a problem.<br></div><div><br></div><div>Thanks.<br></div><div><br></div><div>bruce</div><div><br></div><div id="editorUserSignature" style="display:none;"><br></div><div><br></div><div><br></div><div><i>21 October 2019 01:46 Levente Uzonyi <leves@caesar.elte.hu> wrote:</i><br></div><blockquote class="infmailquote"><div>Hi Bruce,<br></div><div> <br></div><div> You're probably seeing the issue described here:<br></div><div> http://forum.world.st/Primitive-40-asFloat-fails-for-me-td5095689.html<br></div><div> <br></div><div> You may want to check if this part applies to your build as well:<br></div><div> <br></div><div> > Actually the returned float object is -100.0 (-100 asFloat < 0.0 returns<br></div><div> > true), but the code used for printing doesn't work properly, because<br></div><div> > #basicAt: returns 0 (when the argument is 1 or 2), and the method used to<br></div><div> > print the number uses #signBit to print the negative sign, and #signBit<br></div><div> > relies on #basicAt: returning a non-zero value when the number is<br></div><div> > negative.<br></div><div> <br></div><div> > So, we're back to the original issue I found: #basicAt: (primitive 38)<br></div><div> > doesn't work with newer gcc versions<br></div><div> <br></div><div> Levente<br></div></blockquote><div><br></div>