<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Sun, Nov 6, 2016 at 1:18 AM Michał Górny via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Fri, 14 Oct 2016 17:17:59 +0000<br class="gmail_msg">
Joshua Hurwitz via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org" class="gmail_msg" target="_blank">cfe-commits@lists.llvm.org</a>> wrote:<br class="gmail_msg">
<br class="gmail_msg">
> See attached.<br class="gmail_msg">
><br class="gmail_msg">
> Returning a bool from main is a special case of return type mismatch. The<br class="gmail_msg">
> common convention when returning a bool is that 'true' (== 1) indicates<br class="gmail_msg">
> success and 'false' (== 0) failure. But since main expects a return value<br class="gmail_msg">
> of 0 on success, returning a bool is usually unintended.<br class="gmail_msg">
<br class="gmail_msg">
This triggers a false positive if you use a boolean expression like:<br class="gmail_msg">
<br class="gmail_msg">
  return !foo;<br class="gmail_msg">
<br class="gmail_msg">
i.e. whenever user intentionally inverts a 'non-zero success' into 'zero<br class="gmail_msg">
success'.<br class="gmail_msg"></blockquote><div><br></div><div>I would imagine that not everybody's going to switch on that warning, but I wouldn't consider this a false positive on !foo, mainly because it still looks unclear whether the author thought about the semantics of the return value.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br class="gmail_msg">
--<br class="gmail_msg">
Best regards,<br class="gmail_msg">
Michał Górny<br class="gmail_msg">
<<a href="http://dev.gentoo.org/~mgorny/" rel="noreferrer" class="gmail_msg" target="_blank">http://dev.gentoo.org/~mgorny/</a>><br class="gmail_msg">
_______________________________________________<br class="gmail_msg">
cfe-commits mailing list<br class="gmail_msg">
<a href="mailto:cfe-commits@lists.llvm.org" class="gmail_msg" target="_blank">cfe-commits@lists.llvm.org</a><br class="gmail_msg">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br class="gmail_msg">
</blockquote></div></div>