diff options
author | Jonas Toth <jonas.toth@gmail.com> | 2018-09-18 11:49:20 +0000 |
---|---|---|
committer | Jonas Toth <jonas.toth@gmail.com> | 2018-09-18 11:49:20 +0000 |
commit | 5060576a82310b85d33bf38fd28059e3bad8f55f (patch) | |
tree | 55155ffee92f1488c6f32464cba683a89bab5f55 | |
parent | 5e69828c40c705dab32942310d16b1f1e63996be (diff) |
[clang-tidy] use CHECK-NOTES in bugprone-unused-return-value
Reviewers: aaron.ballman, alexfh, hokein
Reviewed By: alexfh
Subscribers: xazax.hun, cfe-commits
Differential Revision: https://reviews.llvm.org/D52187
git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@342468 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/clang-tidy/bugprone-unused-return-value-custom.cpp | 24 | ||||
-rw-r--r-- | test/clang-tidy/bugprone-unused-return-value.cpp | 69 |
2 files changed, 62 insertions, 31 deletions
diff --git a/test/clang-tidy/bugprone-unused-return-value-custom.cpp b/test/clang-tidy/bugprone-unused-return-value-custom.cpp index efe3705e..53ace635 100644 --- a/test/clang-tidy/bugprone-unused-return-value-custom.cpp +++ b/test/clang-tidy/bugprone-unused-return-value-custom.cpp @@ -47,32 +47,40 @@ void fun(int); void warning() { fun(); - // CHECK-MESSAGES: [[@LINE-1]]:3: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:3: warning: the value returned by this function should be used + // CHECK-NOTES: [[@LINE-2]]:3: note: cast the expression to void to silence this warning (fun()); - // CHECK-MESSAGES: [[@LINE-1]]:4: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:4: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:4: note: cast {{.*}} this warning ns::Outer::Inner ObjA1; ObjA1.memFun(); - // CHECK-MESSAGES: [[@LINE-1]]:3: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:3: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:3: note: cast {{.*}} this warning ns::AliasName::Inner ObjA2; ObjA2.memFun(); - // CHECK-MESSAGES: [[@LINE-1]]:3: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:3: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:3: note: cast {{.*}} this warning ns::Derived ObjA3; ObjA3.memFun(); - // CHECK-MESSAGES: [[@LINE-1]]:3: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:3: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:3: note: cast {{.*}} this warning ns::Type::staticFun(); - // CHECK-MESSAGES: [[@LINE-1]]:3: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:3: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:3: note: cast {{.*}} this warning ns::ClassTemplate<int> ObjA4; ObjA4.memFun(); - // CHECK-MESSAGES: [[@LINE-1]]:3: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:3: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:3: note: cast {{.*}} this warning ns::ClassTemplate<int>::staticFun(); - // CHECK-MESSAGES: [[@LINE-1]]:3: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:3: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:3: note: cast {{.*}} this warning } void noWarning() { diff --git a/test/clang-tidy/bugprone-unused-return-value.cpp b/test/clang-tidy/bugprone-unused-return-value.cpp index b4f280eb..797f56d9 100644 --- a/test/clang-tidy/bugprone-unused-return-value.cpp +++ b/test/clang-tidy/bugprone-unused-return-value.cpp @@ -74,93 +74,116 @@ void useFuture(const std::future &fut); void warning() { std::async(increment, 42); - // CHECK-MESSAGES: [[@LINE-1]]:3: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:3: warning: the value returned by this function should be used + // CHECK-NOTES: [[@LINE-2]]:3: note: cast the expression to void to silence this warning std::async(std::launch::async, increment, 42); - // CHECK-MESSAGES: [[@LINE-1]]:3: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:3: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:3: note: cast {{.*}} this warning Foo F; std::launder(&F); - // CHECK-MESSAGES: [[@LINE-1]]:3: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:3: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:3: note: cast {{.*}} this warning std::remove(nullptr, nullptr, 1); - // CHECK-MESSAGES: [[@LINE-1]]:3: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:3: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:3: note: cast {{.*}} this warning std::remove_if(nullptr, nullptr, nullptr); - // CHECK-MESSAGES: [[@LINE-1]]:3: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:3: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:3: note: cast {{.*}} this warning std::unique(nullptr, nullptr); - // CHECK-MESSAGES: [[@LINE-1]]:3: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:3: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:3: note: cast {{.*}} this warning std::unique_ptr<Foo> UPtr; UPtr.release(); - // CHECK-MESSAGES: [[@LINE-1]]:3: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:3: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:3: note: cast {{.*}} this warning std::string Str; Str.empty(); - // CHECK-MESSAGES: [[@LINE-1]]:3: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:3: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:3: note: cast {{.*}} this warning std::vector<Foo> Vec; Vec.empty(); - // CHECK-MESSAGES: [[@LINE-1]]:3: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:3: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:3: note: cast {{.*}} this warning // test discarding return values inside different kinds of statements auto Lambda = [] { std::remove(nullptr, nullptr, 1); }; - // CHECK-MESSAGES: [[@LINE-1]]:22: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:22: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:22: note: cast {{.*}} this warning if (true) std::remove(nullptr, nullptr, 1); - // CHECK-MESSAGES: [[@LINE-1]]:5: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:5: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:5: note: cast {{.*}} this warning else if (true) std::remove(nullptr, nullptr, 1); - // CHECK-MESSAGES: [[@LINE-1]]:5: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:5: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:5: note: cast {{.*}} this warning else std::remove(nullptr, nullptr, 1); - // CHECK-MESSAGES: [[@LINE-1]]:5: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:5: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:5: note: cast {{.*}} this warning while (true) std::remove(nullptr, nullptr, 1); - // CHECK-MESSAGES: [[@LINE-1]]:5: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:5: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:5: note: cast {{.*}} this warning do std::remove(nullptr, nullptr, 1); - // CHECK-MESSAGES: [[@LINE-1]]:5: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:5: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:5: note: cast {{.*}} this warning while (true); for (;;) std::remove(nullptr, nullptr, 1); - // CHECK-MESSAGES: [[@LINE-1]]:5: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:5: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:5: note: cast {{.*}} this warning for (std::remove(nullptr, nullptr, 1);;) - // CHECK-MESSAGES: [[@LINE-1]]:8: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:8: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:8: note: cast {{.*}} this warning ; for (;; std::remove(nullptr, nullptr, 1)) - // CHECK-MESSAGES: [[@LINE-1]]:11: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:11: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:11: note: cast {{.*}} this warning ; for (auto C : "foo") std::remove(nullptr, nullptr, 1); - // CHECK-MESSAGES: [[@LINE-1]]:5: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:5: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:5: note: cast {{.*}} this warning switch (1) { case 1: std::remove(nullptr, nullptr, 1); - // CHECK-MESSAGES: [[@LINE-1]]:5: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:5: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:5: note: cast {{.*}} this warning break; default: std::remove(nullptr, nullptr, 1); - // CHECK-MESSAGES: [[@LINE-1]]:5: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:5: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:5: note: cast {{.*}} this warning break; } try { std::remove(nullptr, nullptr, 1); - // CHECK-MESSAGES: [[@LINE-1]]:5: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:5: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:5: note: cast {{.*}} this warning } catch (...) { std::remove(nullptr, nullptr, 1); - // CHECK-MESSAGES: [[@LINE-1]]:5: warning: the value returned by this function should be used [bugprone-unused-return-value] + // CHECK-NOTES: [[@LINE-1]]:5: warning: the value {{.*}} should be used + // CHECK-NOTES: [[@LINE-2]]:5: note: cast {{.*}} this warning } } |