sorry, my previous message got sent too early<div><br></div><div>I think the macro should look something like this:<br><div><br></div><div>#define ASSERT_STRM(cond,expr) \</div><div> do {</div><div>  if (cond) {</div><div>
    std::cerr << expr << std::end;</div><div>    assertion_trap ();</div><div>  }</div><div> } while (false)<br><br><div class="gmail_quote">On Tue, Jul 26, 2011 at 7:57 PM, Nathan Jeffords <span dir="ltr"><<a href="mailto:blunted2night@gmail.com">blunted2night@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">wrapping the macro's body in:<div><br></div><div>do { ... } while (false)</div><div><br></div><div>would make the the macro a proper statement so that:</div>
<div><br></div><div>if (cond)</div><div>  ASSERT(some_other_cond);</div>
<div>else</div><div>  do_something_cool ();</div><div><br></div><div>compiles as expected.</div><div><br></div><div>IMO, it would work as such</div><div><br></div><div>#define ASSERT_STM(cond,expr)</div><div><div></div><div class="h5">
<div><br></div><div>
<br><div class="gmail_quote">On Tue, Jul 26, 2011 at 6:36 PM, Reid Kleckner <span dir="ltr"><<a href="mailto:reid.kleckner@gmail.com" target="_blank">reid.kleckner@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

He wants to be able to resume execution from the debugger after<br>
assertion failure.<br>
<font color="#888888"><br>
Reid<br>
</font><div><div></div><div><br>
On Tue, Jul 26, 2011 at 8:07 PM, Alistair Lynn <<a href="mailto:arplynn@gmail.com" target="_blank">arplynn@gmail.com</a>> wrote:<br>
> Hi-<br>
><br>
>> Yep, but tripping the debugger is highly non-portable.<br>
><br>
> You're suggesting that inline asm is more portable than calling abort?<br>
><br>
> Alistair<br>
><br>
> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
><br>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div></div>