<div dir="ltr">Forgot to CC dev<div><br><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Rodrigo Kumpera</b> <span dir="ltr"><<a href="mailto:kumpera@gmail.com">kumpera@gmail.com</a>></span><br>Date: Thu, Oct 30, 2014 at 1:57 PM<br>Subject: Re: [Mono-dev] [eglib] Warning: assertion function returning<br>To: Alex J Lennon <<a href="mailto:ajlennon@dynamicdevices.co.uk">ajlennon@dynamicdevices.co.uk</a>><br><br><br><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class="">On Thu, Oct 30, 2014 at 12:34 PM, Alex J Lennon <span dir="ltr"><<a href="mailto:ajlennon@dynamicdevices.co.uk" target="_blank">ajlennon@dynamicdevices.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    Hi Rodrigo,<span><br>
    <br>
    <div>On 30/10/2014 17:28, Rodrigo Kumpera
      wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">Since the noreturn behavior is not verifiable by
        the compiler (it's part of the API contract) we can a hack to
        silence the warning.</div>
      <div class="gmail_extra"><br>
      </div>
    </blockquote>
    <br></span>
    If that's what's wanted that's fine by me of course. Easily done.<br>
    <br>
    But I don't understand: Surely the fact the compiler is complaining
    shows that it does know that the function is returning, when it has
    been told via the attributing that the function should not?<br>
    <br>
    As a test, if I add a while(1); at the bottom of the function then
    the complaint goes away as the compiler knows that the return is
    unreachable.<br>
    <br>
    I am guessing I am misunderstanding your point?<br>
    <br>
    More importantly, should the assertion handler return or not... ?<br></div></blockquote><div><br></div></span><div>The problem is that the abort happens through the logging callback and that can't be verified by the compiler.</div><div><br></div><div>Any well behaved implementation must make sure it does not return. I think adding a while (1); at the end is a good enough solution.</div><div>We want the noreturn semantics there.</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div></div></div>
</div><br></div></div>