<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">On Aug 19, 2018, at 10:33 PM, Craig Topper via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:<div><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="">The language requires both sides of the | need to be evaluated. The compiler can't remove the function call if it has side effects.</div></div></div></blockquote><div><br class=""></div><div>Correct.  If you are somehow really bothered by this, we could also use:</div><div><br class=""></div><div><span style="font-family: Verdana, serif; font-size: 13.333333015441895px;" class="">bool bar() {</span><br style="font-family: Verdana, serif; font-size: 13.333333015441895px;" class=""><span style="font-family: Verdana, serif; font-size: 13.333333015441895px;" class="">  return foo(), true;</span></div><div><span style="font-family: Verdana, serif; font-size: 13.333333015441895px;" class="">}</span></div><div><span style="font-family: Verdana, serif; font-size: 13.333333015441895px;" class=""><br class=""></span></div><div><font face="Verdana, serif" size="2" class="">-Chris</font></div></div></body></html>