folly: OptionalTest.cpp: suppress a -Wself-move warning
authorJim Meyering <meyering@fb.com>
Fri, 13 Feb 2015 22:37:55 +0000 (14:37 -0800)
committerAlecs King <int@fb.com>
Tue, 3 Mar 2015 03:20:43 +0000 (19:20 -0800)
Summary:
Clang's new -Wself-move warning dings this code:

b = std::move(b);

But in this case, that is a deliberate test of
this capability, so we suppress that particular
warning for the duration of this small test function.

Test Plan:
Run this and note that it now compiles: (it passes the tests, too)
fbconfig --clang --with-project-version=clang:dev -r folly/test:optional_test && fbmake dbgo

Reviewed By: watashi@fb.com

Subscribers: folly-diffs@, yfeldblum

FB internal diff: D1849689

Tasks: 6244745

Signature: t1:1849689:1423877932:4f479d682bd8ba97dcabed7fc29ce0a22c013969

@build-break (using this to work around bogus push failure: https://phabricator.fb.com/P19730606)

folly/test/OptionalTest.cpp

index d14adcfff095df63699c985ea0edc0a68946afed..2ffa18a66c5777d952037327efd2db6b7f111010 100644 (file)
@@ -432,6 +432,13 @@ TEST(Optional, MakeOptional) {
   EXPECT_EQ(**optIntPtr, 3);
 }
 
+#ifdef __clang__
+# pragma clang diagnostic push
+# if __clang_major__ > 3 || __clang_minor__ >= 6
+#  pragma clang diagnostic ignored "-Wself-move"
+# endif
+#endif
+
 TEST(Optional, SelfAssignment) {
   Optional<int> a = 42;
   a = a;
@@ -442,6 +449,10 @@ TEST(Optional, SelfAssignment) {
   ASSERT_TRUE(b.hasValue() && b.value() == 23333333);
 }
 
+#ifdef __clang__
+#pragma clang diagnostic pop
+#endif
+
 class ContainsOptional {
  public:
   ContainsOptional() { }