<div dir="ltr">Would it be better/possible to improve the warning to not have this false positive, rather than suppressing it?</div><br><div class="gmail_quote"><div dir="ltr">On Sun, Oct 15, 2017 at 1:12 PM Roman Lebedev 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">Author: lebedevri<br>
Date: Sun Oct 15 13:12:42 2017<br>
New Revision: 315874<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=315874&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=315874&view=rev</a><br>
Log:<br>
Silence clang's -Wtautological-constant-compare in last_write_time.pass.cpp<br>
<br>
Previously this broke the builders, when D38101 was committed.<br>
Silence the warning so that it can be re-landed.<br>
<br>
Modified:<br>
libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp<br>
<br>
Modified: libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp?rev=315874&r1=315873&r2=315874&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp?rev=315874&r1=315873&r2=315874&view=diff</a><br>
==============================================================================<br>
--- libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp (original)<br>
+++ libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp Sun Oct 15 13:12:42 2017<br>
@@ -88,6 +88,13 @@ bool TestSupportsNegativeTimes() {<br>
return !ec && new_write_time <= -5;<br>
}<br>
<br>
+// In some configurations, the comparison is tautological and the test is valid.<br>
+// We disable the warning so that we can actually test it regardless.<br>
+#if defined(__clang__)<br>
+#pragma clang diagnostic push<br>
+#pragma clang diagnostic ignored "-Wtautological-constant-compare"<br>
+#endif<br>
+<br>
bool TestSupportsMaxTime() {<br>
using namespace std::chrono;<br>
using Lim = std::numeric_limits<std::time_t>;<br>
@@ -106,11 +113,22 @@ bool TestSupportsMaxTime() {<br>
return !ec && new_write_time > max_sec - 1;<br>
}<br>
<br>
+#if defined(__clang__)<br>
+#pragma clang diagnostic pop<br>
+#endif<br>
+<br>
static const bool SupportsNegativeTimes = TestSupportsNegativeTimes();<br>
static const bool SupportsMaxTime = TestSupportsMaxTime();<br>
<br>
} // end namespace<br>
<br>
+// In some configurations, the comparison is tautological and the test is valid.<br>
+// We disable the warning so that we can actually test it regardless.<br>
+#if defined(__clang__)<br>
+#pragma clang diagnostic push<br>
+#pragma clang diagnostic ignored "-Wtautological-constant-compare"<br>
+#endif<br>
+<br>
// Check if a time point is representable on a given filesystem. Check that:<br>
// (A) 'tp' is representable as a time_t<br>
// (B) 'tp' is non-negative or the filesystem supports negative times.<br>
@@ -127,6 +145,10 @@ inline bool TimeIsRepresentableByFilesys<br>
return true;<br>
}<br>
<br>
+#if defined(__clang__)<br>
+#pragma clang diagnostic pop<br>
+#endif<br>
+<br>
TEST_SUITE(exists_test_suite)<br>
<br>
TEST_CASE(signature_test)<br>
<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
</blockquote></div>