diff options
author | Dmitri Gribenko <gribozavr@gmail.com> | 2019-10-11 12:05:42 +0000 |
---|---|---|
committer | Dmitri Gribenko <gribozavr@gmail.com> | 2019-10-11 12:05:42 +0000 |
commit | 885c559369fe3d6323898c17787bd0454065fc34 (patch) | |
tree | ba43b987e078f4c2a033acc71ad3d7f1ee385a11 /clang-tools-extra/test/clang-tidy/bugprone-unused-return-value-custom.cpp | |
parent | 9f6a873268e1ad9855873d9d8007086c0d01cf4f (diff) | |
download | bcm5719-llvm-885c559369fe3d6323898c17787bd0454065fc34.tar.gz bcm5719-llvm-885c559369fe3d6323898c17787bd0454065fc34.zip |
[ClangTidy] Separate tests for infrastructure and checkers
Summary:
This change moves tests for checkers and infrastructure into separate
directories, making it easier to find infrastructure tests. Tests for
checkers are already easy to find because they are named after the
checker. Tests for infrastructure were difficult to find because they
were outnumbered by tests for checkers. Now they are in a separate
directory.
Reviewers: jfb, jdoerfert, lebedev.ri
Subscribers: srhines, nemanjai, aheejin, kbarton, christof, mgrang, arphaman, jfb, lebedev.ri, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D68807
llvm-svn: 374540
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.cpp | 108 |
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(); -} |