summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/test/clang-tidy/bugprone-unused-return-value-custom.cpp
diff options
context:
space:
mode:
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.cpp108
1 files changed, 0 insertions, 108 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
deleted file mode 100644
index 53ace6358a0..00000000000
--- a/clang-tools-extra/test/clang-tidy/bugprone-unused-return-value-custom.cpp
+++ /dev/null
@@ -1,108 +0,0 @@
-// 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;::ns::ClassTemplate::memFun;::ns::ClassTemplate::staticFun"}]}' \
-// RUN: --
-
-namespace std {
-
-template <typename T>
-T *launder(T *);
-
-} // namespace std
-
-namespace ns {
-
-struct Outer {
- struct Inner {
- bool memFun();
- };
-};
-
-using AliasName = Outer;
-
-struct Derived : public Outer::Inner {};
-
-struct Retval {
- int *P;
- Retval() { P = new int; }
- ~Retval() { delete P; }
-};
-
-struct Type {
- Retval memFun();
- static Retval staticFun();
-};
-
-template <typename T>
-struct ClassTemplate {
- Retval memFun();
- static Retval staticFun();
-};
-
-} // namespace ns
-
-int fun();
-void fun(int);
-
-void warning() {
- fun();
- // 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-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-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-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-NOTES: [[@LINE-1]]:3: warning: the value {{.*}} should be used
- // CHECK-NOTES: [[@LINE-2]]:3: note: cast {{.*}} this warning
-
- ns::Type::staticFun();
- // 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-NOTES: [[@LINE-1]]:3: warning: the value {{.*}} should be used
- // CHECK-NOTES: [[@LINE-2]]:3: note: cast {{.*}} this warning
-
- ns::ClassTemplate<int>::staticFun();
- // CHECK-NOTES: [[@LINE-1]]:3: warning: the value {{.*}} should be used
- // CHECK-NOTES: [[@LINE-2]]:3: note: cast {{.*}} this warning
-}
-
-void noWarning() {
- auto R1 = fun();
-
- ns::Outer::Inner ObjB1;
- auto R2 = ObjB1.memFun();
-
- 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);
-
- // test discarding return value of functions that are not configured to be checked
- int I = 1;
- std::launder(&I);
-
- ns::Type ObjB3;
- ObjB3.memFun();
-}
OpenPOWER on IntegriCloud