<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Jun 7, 2015 at 8:58 AM, tim Rowledge <span dir="ltr">&lt;<a href="mailto:tim@rowledge.org" target="_blank">tim@rowledge.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class=""><div class="h5"><br>
<br>
On 07-06-2015, at 12:32 AM, Holger Freyther &lt;<a href="mailto:holger@freyther.de">holger@freyther.de</a>&gt; wrote:<br>
&gt;&gt; On 07 Jun 2015, at 01:25, tim Rowledge &lt;<a href="mailto:tim@rowledge.org">tim@rowledge.org</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; GCC is such fun.<br>
&gt;<br>
&gt; given the amount of warnings emitted during compilation, have you considered<br>
&gt; that it might be the input given to gcc that is the issue here? ;)<br>
<br>
</div></div>I dunno; I get a total of 59 warnings when compiling the ARM Cog VM, none in the core vm code. I’d love to see it be 0. I rather suspect the world would come to an end if that happened.<br>
<br>
On the other hand, I can’t see how it is acceptable for a compiler to produce code that blows up at one level of optimisation but not at another. Come to that I’m not sure why there are different levels; I can sort of see asking to optimise in different ways  - the NorCroft compiler for ARM can be asked to optimise for runtime speed or executable size, for example.<br></blockquote><div><br></div><div>I&#39;m inclined to believe Cog is relying on undefined behavior somewhere, and this isn&#39;t gcc&#39;s fault. I&#39;ve not built functional Newspeak VMs on modern compilers since ~1317, but this overlaps with the VM being broken on old compilers for other reasons so I haven&#39;t figured out what change is responsible.</div></div><br></div></div>