<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Wed, Dec 12, 2018 at 1:30 AM Andy Gibbs <<a href="mailto:andyg1001@hotmail.co.uk">andyg1001@hotmail.co.uk</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><font style="font-size:11pt" face="Calibri, sans-serif" color="#000000">On 10 December 2018 18:17, David Blaikie wrote:</font>
<blockquote style="border-color:rgb(200,200,200);border-left:3px solid rgb(200,200,200);padding-left:1ex;margin-left:0.8ex;color:rgb(102,102,102)">
<div dir="ltr">Possible that the online one isn't built with assertions enabled (you could test this with other known crashers to see if they reproduce on godbolt with assertion crash dumps or only with raw segfaults)? If that's the case,t hen it's possible
 that the codepath that should assert continues on and perhaps either has unexpected or even undefined behavior but not a crash.</div>
</blockquote>
</div></div><div dir="ltr"><div><div dir="ltr">Yes, it seems this is right.  I have done a number of further tests and it seems that the godbolt compilers are built without asserts.</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">This, however, is a possible problem generally, isn't it?  I build my compilers always with release-asserts but I would guess it common that compiler builds are simply release builds.  And this means, if there is a bug in the compiler, it may
 generate invalid code with no warning at all (my bug report gives an example of this) where in fact, if it were built with asserts then the bug would have been made visible (and maybe fixed!).</div>
<div dir="ltr"><br>
</div>
<div dir="ltr">I know there can always be bugs which still act invisibly, but given that clang is good at sticking asserts everywhere in its code :o) isn't it worth ensuring asserts are always enabled?  i.e. build 'release-asserts' even when asked to do a release
 build?</div></div></div></blockquote><div><br>Assertions are expensive (at one point the LLVM build system had a warning about builds with assertions enabled, that they may be 10x slower than without assertions) - so it's not practical for most folks to run with them enabled for all their builds.<br><br>- Dave<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>
<div dir="ltr"><br>
</div>
<div dir="ltr">Cheers,</div>
<div dir="ltr">Andy<br>
</div>
<div></div>
</div>
</div>

</blockquote></div></div>