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/readability-uniqueptr-delete-release.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/readability-uniqueptr-delete-release.cpp')
-rw-r--r-- | clang-tools-extra/test/clang-tidy/readability-uniqueptr-delete-release.cpp | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/clang-tools-extra/test/clang-tidy/readability-uniqueptr-delete-release.cpp b/clang-tools-extra/test/clang-tidy/readability-uniqueptr-delete-release.cpp deleted file mode 100644 index bd51bc62dba..00000000000 --- a/clang-tools-extra/test/clang-tidy/readability-uniqueptr-delete-release.cpp +++ /dev/null @@ -1,76 +0,0 @@ -// RUN: %check_clang_tidy %s readability-uniqueptr-delete-release %t - -namespace std { -template <typename T> -struct default_delete {}; - -template <typename T, typename D = default_delete<T>> -class unique_ptr { - public: - unique_ptr(); - ~unique_ptr(); - explicit unique_ptr(T*); - template <typename U, typename E> - unique_ptr(unique_ptr<U, E>&&); - T* release(); -}; -} // namespace std - -std::unique_ptr<int>& ReturnsAUnique(); - -void Positives() { - std::unique_ptr<int> P; - delete P.release(); - // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: prefer '= nullptr' to 'delete x.release()' to reset unique_ptr<> objects [readability-uniqueptr-delete-release] - // CHECK-FIXES: {{^}} P = nullptr; - - auto P2 = P; - delete P2.release(); - // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: prefer '= nullptr' to 'delete x.release()' to reset unique_ptr<> objects [readability-uniqueptr-delete-release] - // CHECK-FIXES: {{^}} P2 = nullptr; - - std::unique_ptr<int> Array[20]; - delete Array[4].release(); - // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: prefer '= nullptr' to 'delete - // CHECK-FIXES: {{^}} Array[4] = nullptr; - - delete ReturnsAUnique().release(); - // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: prefer '= nullptr' to 'delete - // CHECK-FIXES: {{^}} ReturnsAUnique() = nullptr; -} - -struct NotDefaultDeleter {}; - -struct NotUniquePtr { - int* release(); -}; - -void Negatives() { - std::unique_ptr<int, NotDefaultDeleter> P; - delete P.release(); - - NotUniquePtr P2; - delete P2.release(); -} - -template <typename T, typename D> -void NegativeDeleterT() { - // Ideally this would trigger a warning, but we have all dependent types - // disabled for now. - std::unique_ptr<T> P; - delete P.release(); - - // We ignore this one because the deleter is a template argument. - // Not all instantiations will use the default deleter. - std::unique_ptr<int, D> P2; - delete P2.release(); -} -template void NegativeDeleterT<int, std::default_delete<int>>(); - -// Test some macros - -#define DELETE_RELEASE(x) delete (x).release() -void NegativesWithTemplate() { - std::unique_ptr<int> P; - DELETE_RELEASE(P); -} |