<div dir="auto"><div><div class="gmail_extra"><div class="gmail_quote">On 20 Dec 2017 03:51, "John McCall via cfe-dev" <<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><br><div><blockquote type="cite"><div class="quoted-text"><div>On Dec 19, 2017, at 6:02 PM, Shoaib Meenai <<a href="mailto:smeenai@fb.com" target="_blank">smeenai@fb.com</a>> wrote:</div><br class="m_71067781195746921Apple-interchange-newline"></div><div><div class="m_71067781195746921WordSection1" style="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;background-color:rgb(255,255,255)"><div class="quoted-text"><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:Calibri,sans-serif"><span style="font-size:11pt">Hi all (CC some people who have been involved in this discussion already and Hans for clang 6 release discussion),<u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:Calibri,sans-serif"><span style="font-size:11pt"><u></u> <u></u></span></div></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:Calibri,sans-serif"><span style="font-size:11pt">-Wtautological-constant-<wbr>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" target="_blank">https://reviews.llvm.org/<wbr>D39149</a><span class="m_71067781195746921Apple-converted-space"> </span>for my initial attempt to work around the warning, and then<span class="m_71067781195746921Apple-converted-space"> </span><a href="https://reviews.llvm.org/D41368" style="color:rgb(149,79,114);text-decoration:underline" target="_blank">https://reviews.llvm.org/<wbr>D41368</a>, which just silences the warning where it's problematic.<u></u><u></u></span></div><div class="quoted-text"><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:Calibri,sans-serif"><span style="font-size:11pt"><u></u> <u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:Calibri,sans-serif"><span style="font-size:11pt">Unfortunately, this appears to be a pretty widespread problem. For example, Petr Hosek reported in<span class="m_71067781195746921Apple-converted-space"> </span><a href="https://reviews.llvm.org/D39462" style="color:rgb(149,79,114);text-decoration:underline" target="_blank">https://reviews.llvm.org/<wbr>D39462</a><span class="m_71067781195746921Apple-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="m_71067781195746921Apple-converted-space"> </span><a href="https://reviews.llvm.org/D39462" style="color:rgb(149,79,114);text-decoration:underline" target="_blank">https://reviews.llvm.org/<wbr>D39462</a>, but that's tricky to implement and hit some implementation roadblocks.<u></u><u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:Calibri,sans-serif"><span style="font-size:11pt"><u></u> <u></u></span></div><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:Calibri,sans-serif"><span style="font-size:11pt">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></div></blockquote><div><br></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></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">I agree. I think we currently have -Wtautological-out-of-range-constant-compare (or similar? not near a computer right now...) as a subgroup; that should remain in -Wall as it predates this new warning, and we should make sure we have a dedicated flag for just the "in the range of the type" portion of the warning.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>John.</div></div><br>______________________________<wbr>_________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br></div></div></div>