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-sizeof-container.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-sizeof-container.cpp')
-rw-r--r-- | clang-tools-extra/test/clang-tidy/bugprone-sizeof-container.cpp | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/clang-tools-extra/test/clang-tidy/bugprone-sizeof-container.cpp b/clang-tools-extra/test/clang-tidy/bugprone-sizeof-container.cpp deleted file mode 100644 index b45183de895..00000000000 --- a/clang-tools-extra/test/clang-tidy/bugprone-sizeof-container.cpp +++ /dev/null @@ -1,103 +0,0 @@ -// RUN: %check_clang_tidy %s bugprone-sizeof-container %t -- -- -target x86_64-unknown-unknown - -namespace std { - -typedef unsigned int size_t; - -template <typename T> -struct basic_string { - size_t size() const; -}; - -template <typename T> -basic_string<T> operator+(const basic_string<T> &, const T *); - -typedef basic_string<char> string; - -template <typename T> -struct vector { - size_t size() const; -}; - -// std::bitset<> is not a container. sizeof() is reasonable for it. -template <size_t N> -struct bitset { - size_t size() const; -}; - -// std::array<> is, well, an array. sizeof() is reasonable for it. -template <typename T, size_t N> -struct array { - size_t size() const; -}; - -class fake_container1 { - size_t size() const; // non-public -}; - -struct fake_container2 { - size_t size(); // non-const -}; - -} - -using std::size_t; - -#define ARRAYSIZE(a) \ - ((sizeof(a) / sizeof(*(a))) / static_cast<size_t>(!(sizeof(a) % sizeof(*(a))))) - -#define ARRAYSIZE2(a) \ - (((sizeof(a)) / (sizeof(*(a)))) / static_cast<size_t>(!((sizeof(a)) % (sizeof(*(a)))))) - -struct string { - std::size_t size() const; -}; - -template<typename T> -void g(T t) { - (void)sizeof(t); -} - -void f() { - string s1; - std::string s2; - std::vector<int> v; - - int a = 42 + sizeof(s1); -// CHECK-MESSAGES: :[[@LINE-1]]:16: warning: sizeof() doesn't return the size of the container; did you mean .size()? [bugprone-sizeof-container] - a = 123 * sizeof(s2); -// CHECK-MESSAGES: :[[@LINE-1]]:13: warning: sizeof() doesn't return the size - a = 45 + sizeof(s2 + "asdf"); -// CHECK-MESSAGES: :[[@LINE-1]]:12: warning: sizeof() doesn't return the size - a = sizeof(v); -// CHECK-MESSAGES: :[[@LINE-1]]:7: warning: sizeof() doesn't return the size - a = sizeof(std::vector<int>{}); -// CHECK-MESSAGES: :[[@LINE-1]]:7: warning: sizeof() doesn't return the size - - a = sizeof(a); - a = sizeof(int); - a = sizeof(std::string); - a = sizeof(std::vector<int>); - - g(s1); - g(s2); - g(v); - - std::fake_container1 fake1; - std::fake_container2 fake2; - std::bitset<7> std_bitset; - std::array<int, 3> std_array; - - a = sizeof(fake1); - a = sizeof(fake2); - a = sizeof(std_bitset); - a = sizeof(std_array); - - - std::string arr[3]; - a = ARRAYSIZE(arr); - a = ARRAYSIZE2(arr); - a = sizeof(arr) / sizeof(arr[0]); - - (void)a; -} |