summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/test/clang-tidy/bugprone-unused-return-value-custom.cpp
diff options
context:
space:
mode:
authorJonathan Coe <jbcoe@me.com>2018-04-24 21:25:16 +0000
committerJonathan Coe <jbcoe@me.com>2018-04-24 21:25:16 +0000
commitb9b3a62727b38635a721be94ce24106580673aef (patch)
tree3b0d967c5672a31850b9b4a3c9eece4553399bbb /clang-tools-extra/test/clang-tidy/bugprone-unused-return-value-custom.cpp
parent54df09e8fe6793042e376c0582064d3274598ad7 (diff)
downloadbcm5719-llvm-b9b3a62727b38635a721be94ce24106580673aef.tar.gz
bcm5719-llvm-b9b3a62727b38635a721be94ce24106580673aef.zip
[clang-tidy] Improve bugprone-unused-return-value check
Summary: Add support for checking class template member functions. Also add the following functions to be checked by default: - std::unique_ptr::release - std::basic_string::empty - std::vector::empty Reviewers: alexfh, hokein, aaron.ballman, ilya-biryukov Reviewed By: aaron.ballman Subscribers: jbcoe, xazax.hun, cfe-commits Tags: #clang-tools-extra Differential Revision: https://reviews.llvm.org/D45891 Patch by khuttun (Kalle Huttunen) llvm-svn: 330772
Diffstat (limited to 'clang-tools-extra/test/clang-tidy/bugprone-unused-return-value-custom.cpp')
-rw-r--r--clang-tools-extra/test/clang-tidy/bugprone-unused-return-value-custom.cpp24
1 files changed, 21 insertions, 3 deletions
diff --git a/clang-tools-extra/test/clang-tidy/bugprone-unused-return-value-custom.cpp b/clang-tools-extra/test/clang-tidy/bugprone-unused-return-value-custom.cpp
index 4f498ddcc37..efe3705e3be 100644
--- a/clang-tools-extra/test/clang-tidy/bugprone-unused-return-value-custom.cpp
+++ b/clang-tools-extra/test/clang-tidy/bugprone-unused-return-value-custom.cpp
@@ -1,7 +1,7 @@
// RUN: %check_clang_tidy %s bugprone-unused-return-value %t \
// RUN: -config='{CheckOptions: \
// RUN: [{key: bugprone-unused-return-value.CheckedFunctions, \
-// RUN: value: "::fun;::ns::Outer::Inner::memFun;::ns::Type::staticFun"}]}' \
+// RUN: value: "::fun;::ns::Outer::Inner::memFun;::ns::Type::staticFun;::ns::ClassTemplate::memFun;::ns::ClassTemplate::staticFun"}]}' \
// RUN: --
namespace std {
@@ -34,6 +34,12 @@ struct Type {
static Retval staticFun();
};
+template <typename T>
+struct ClassTemplate {
+ Retval memFun();
+ static Retval staticFun();
+};
+
} // namespace ns
int fun();
@@ -60,6 +66,13 @@ void warning() {
ns::Type::staticFun();
// CHECK-MESSAGES: [[@LINE-1]]:3: warning: the value returned by this function should be used [bugprone-unused-return-value]
+
+ 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]
+
+ ns::ClassTemplate<int>::staticFun();
+ // CHECK-MESSAGES: [[@LINE-1]]:3: warning: the value returned by this function should be used [bugprone-unused-return-value]
}
void noWarning() {
@@ -70,6 +83,11 @@ void noWarning() {
auto R3 = ns::Type::staticFun();
+ ns::ClassTemplate<int> ObjB2;
+ auto R4 = ObjB2.memFun();
+
+ auto R5 = ns::ClassTemplate<int>::staticFun();
+
// test calling a void overload of a checked function
fun(5);
@@ -77,6 +95,6 @@ void noWarning() {
int I = 1;
std::launder(&I);
- ns::Type ObjB2;
- ObjB2.memFun();
+ ns::Type ObjB3;
+ ObjB3.memFun();
}
OpenPOWER on IntegriCloud