<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 19, 2017, at 6:02 PM, Shoaib Meenai <<a href="mailto:smeenai@fb.com" class="">smeenai@fb.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="WordSection1" style="page: WordSection1; font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);"><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 11pt;" class="">Hi all (CC some people who have been involved in this discussion already and Hans for clang 6 release discussion),<o:p class=""></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 11pt;" class=""><o:p class=""> </o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 11pt;" class="">-Wtautological-constant-compare was introduced in r315614 to diagnose tautological comparisons against a type's maximum and minimum bounds. However, this warning can fire spuriously when a type's size is platform-dependent. For example, libc++ has some generic code for which the warning fires on platforms where int and long have the same size; see<a href="https://reviews.llvm.org/D39149" style="color: rgb(149, 79, 114); text-decoration: underline;" class="">https://reviews.llvm.org/D39149</a><span class="Apple-converted-space"> </span>for my initial attempt to work around the warning, and then<span class="Apple-converted-space"> </span><a href="https://reviews.llvm.org/D41368" style="color: rgb(149, 79, 114); text-decoration: underline;" class="">https://reviews.llvm.org/D41368</a>, which just silences the warning where it's problematic.<o:p class=""></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 11pt;" class=""><o:p class=""> </o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 11pt;" class="">Unfortunately, this appears to be a pretty widespread problem. For example, Petr Hosek reported in<span class="Apple-converted-space"> </span><a href="https://reviews.llvm.org/D39462" style="color: rgb(149, 79, 114); text-decoration: underline;" class="">https://reviews.llvm.org/D39462</a><span class="Apple-converted-space"> </span>that he had to globally disable the warning when they rolled out a newer clang. Roman attempted to address this problem by having the warning take type size differences into account in<span class="Apple-converted-space"> </span><a href="https://reviews.llvm.org/D39462" style="color: rgb(149, 79, 114); text-decoration: underline;" class="">https://reviews.llvm.org/D39462</a>, but that's tricky to implement and hit some implementation roadblocks.<o:p class=""></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 11pt;" class=""><o:p class=""> </o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: Calibri, sans-serif;" class=""><span style="font-size: 11pt;" class="">I think shipping the warning in its current state in clang 6 is going to be problematic, because there are going to be many instances of generic code running into spurious warnings. At the very least, I think the warning as-is shouldn't be part of -Wall. What are other people's thoughts on this issue?</span></div></div></div></blockquote><div><br class=""></div></div>If there's significant community concern about this, and to me that standard has been met, then I think the only reasonable solution is to take it out of -Wall until we feel more confident in it.<div class=""><br class=""></div><div class="">John.</div></body></html>