<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Jan 23, 2013, at 11:57 AM, Daniel Dunbar <<a href="mailto:daniel@zuster.org">daniel@zuster.org</a>> wrote:</div><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Jan 23, 2013 at 11:44 AM, Chandler Carruth <span dir="ltr"><<a href="mailto:chandlerc@google.com" target="_blank">chandlerc@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="im"><br><div class="gmail_quote">On Wed, Jan 23, 2013 at 11:07 AM, John McCall <span dir="ltr"><<a href="mailto:rjmccall@apple.com" target="_blank">rjmccall@apple.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">A significant part of the problem, I believe, is that there's a lot of mostly-externally-maintained C code which, at Apple, happens to need to be compiled as C++.</blockquote>

</div><br></div>FWIW, this makes perfect sense, and also makes perfect sense out of a flag to essentially get C's return semantics in a C++ compilation in order to support such code.</div></div></blockquote><div><br>
</div><div style="">This is still the wrong direction of the flag. I just haven't seen good justification for changing the compiler in this way to merit the possibility of breaking working code.</div></div></div></div></blockquote><br></div><div>Every change can break working code.  Warning changes can break working code if it's compiled with -Werror.  "Show me a whole-percentage speedup or take the optimization out" is not really a reasonable response to every last proposal.  In LLVM and clang, we have a lot of places where we use unreachable annotations;  I think Chandler's argument is quite correct that these situations come up all the time for many users and that it's ultimately not reasonable to expect non-compiler people to use those annotations pervasively.</div><div><br></div><div>Our specific internal problem that makes this seem like a non-starter is that we have a pool of known code that's very awkward to fix.  We do control the build environment for that code, though.  For purposes of investigation, we can reasonably assume that any project that turns off -Wreturn-value should probably also disable the optimization.  Any stragglers can be tracked down and fixed just like we would with any other compiler change.</div><div><br></div><div>John.</div></body></html>