aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Toth <jonas.toth@gmail.com>2018-09-18 11:49:20 +0000
committerJonas Toth <jonas.toth@gmail.com>2018-09-18 11:49:20 +0000
commit5060576a82310b85d33bf38fd28059e3bad8f55f (patch)
tree55155ffee92f1488c6f32464cba683a89bab5f55
parent5e69828c40c705dab32942310d16b1f1e63996be (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.cpp24
-rw-r--r--test/clang-tidy/bugprone-unused-return-value.cpp69
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
}
}