diff options
author | Alexander Kornienko <alexfh@google.com> | 2018-03-15 08:26:47 +0000 |
---|---|---|
committer | Alexander Kornienko <alexfh@google.com> | 2018-03-15 08:26:47 +0000 |
commit | 68fb65f413111de82311c3ebcccebdbfc75d5dc0 (patch) | |
tree | 1e1aa1fdae0dcf15d3706433b9296ac2ae7ad267 /clang-tools-extra/test/clang-tidy/misc-sizeof-container.cpp | |
parent | 3273888536db25dd5cd3d2e7ebc5138632e6e8a8 (diff) | |
download | bcm5719-llvm-68fb65f413111de82311c3ebcccebdbfc75d5dc0.tar.gz bcm5719-llvm-68fb65f413111de82311c3ebcccebdbfc75d5dc0.zip |
[clang-tidy] rename_check.py misc-sizeof-container bugprone-sizeof-container
llvm-svn: 327608
Diffstat (limited to 'clang-tools-extra/test/clang-tidy/misc-sizeof-container.cpp')
-rw-r--r-- | clang-tools-extra/test/clang-tidy/misc-sizeof-container.cpp | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/clang-tools-extra/test/clang-tidy/misc-sizeof-container.cpp b/clang-tools-extra/test/clang-tidy/misc-sizeof-container.cpp deleted file mode 100644 index 472587e18dd..00000000000 --- a/clang-tools-extra/test/clang-tidy/misc-sizeof-container.cpp +++ /dev/null @@ -1,103 +0,0 @@ -// RUN: %check_clang_tidy %s misc-sizeof-container %t -- -- -std=c++11 -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()? [misc-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; -} |