summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/test/clang-tidy/misc-sizeof-container.cpp
diff options
context:
space:
mode:
authorAlexander Kornienko <alexfh@google.com>2018-03-15 08:26:47 +0000
committerAlexander Kornienko <alexfh@google.com>2018-03-15 08:26:47 +0000
commit68fb65f413111de82311c3ebcccebdbfc75d5dc0 (patch)
tree1e1aa1fdae0dcf15d3706433b9296ac2ae7ad267 /clang-tools-extra/test/clang-tidy/misc-sizeof-container.cpp
parent3273888536db25dd5cd3d2e7ebc5138632e6e8a8 (diff)
downloadbcm5719-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.cpp103
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;
-}
OpenPOWER on IntegriCloud