From cb2d6c84271625f02f00df178688113d2ea1e336 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Fri, 13 Feb 2015 14:37:55 -0800 Subject: [PATCH] folly: OptionalTest.cpp: suppress a -Wself-move warning 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 | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/folly/test/OptionalTest.cpp b/folly/test/OptionalTest.cpp index d14adcff..2ffa18a6 100644 --- a/folly/test/OptionalTest.cpp +++ b/folly/test/OptionalTest.cpp @@ -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 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() { } -- 2.34.1