summaryrefslogtreecommitdiff
path: root/Tests/CMakeLib
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2021-06-03 14:53:54 -0400
committerBrad King <brad.king@kitware.com>2021-06-03 14:59:55 -0400
commitb6c4d93dcd85b8e2c512abf83c25c2270cead1c8 (patch)
tree77b28ff7c7537d5e4b1fef268e8fdce78618226a /Tests/CMakeLib
parentc1b575f4d110231617a7cb62187d553d67faad31 (diff)
downloadcmake-b6c4d93dcd85b8e2c512abf83c25c2270cead1c8.tar.gz
clang-analyzer: Suppress warnings in intentional use-after-move cases
Diffstat (limited to 'Tests/CMakeLib')
-rw-r--r--Tests/CMakeLib/testOptional.cxx2
-rw-r--r--Tests/CMakeLib/testString.cxx4
2 files changed, 6 insertions, 0 deletions
diff --git a/Tests/CMakeLib/testOptional.cxx b/Tests/CMakeLib/testOptional.cxx
index 2d7dd7c687..9d4b72aa42 100644
--- a/Tests/CMakeLib/testOptional.cxx
+++ b/Tests/CMakeLib/testOptional.cxx
@@ -301,12 +301,14 @@ static bool testMoveConstruct(std::vector<Event>& expected)
cm::optional<EventLogger> o3{};
const cm::optional<EventLogger> o4{ std::move(o3) };
+#ifndef __clang_analyzer__ /* cplusplus.Move */
expected = {
{ Event::VALUE_CONSTRUCT, &*o1, nullptr, 4 },
{ Event::MOVE_CONSTRUCT, &*o2, &*o1, 4 },
{ Event::DESTRUCT, &*o2, nullptr, 4 },
{ Event::DESTRUCT, &*o1, nullptr, 4 },
};
+#endif
return true;
}
diff --git a/Tests/CMakeLib/testString.cxx b/Tests/CMakeLib/testString.cxx
index ad800cf062..5a9cad18bc 100644
--- a/Tests/CMakeLib/testString.cxx
+++ b/Tests/CMakeLib/testString.cxx
@@ -326,12 +326,14 @@ static bool testConstructMove()
std::cout << "testConstructMove()\n";
cm::String s1 = std::string("abc");
cm::String s2 = std::move(s1);
+#ifndef __clang_analyzer__ /* cplusplus.Move */
ASSERT_TRUE(s1.data() == nullptr);
ASSERT_TRUE(s1.size() == 0);
ASSERT_TRUE(s2.size() == 3);
ASSERT_TRUE(std::strncmp(s2.data(), "abc", 3) == 0);
ASSERT_TRUE(s1.is_stable());
ASSERT_TRUE(s2.is_stable());
+#endif
return true;
}
@@ -356,12 +358,14 @@ static bool testAssignMove()
cm::String s1 = std::string("abc");
cm::String s2;
s2 = std::move(s1);
+#ifndef __clang_analyzer__ /* cplusplus.Move */
ASSERT_TRUE(s1.data() == nullptr);
ASSERT_TRUE(s1.size() == 0);
ASSERT_TRUE(s2.size() == 3);
ASSERT_TRUE(std::strncmp(s2.data(), "abc", 3) == 0);
ASSERT_TRUE(s1.is_stable());
ASSERT_TRUE(s2.is_stable());
+#endif
return true;
}