diff options
author | Mike Crowe <mac@mcrowe.com> | 2023-03-05 17:04:30 +0000 |
---|---|---|
committer | Carlos Galvez <carlosgalvezp@gmail.com> | 2023-03-05 17:16:20 +0000 |
commit | ae25e2f19decb94198301f0726ee613f945cc405 (patch) | |
tree | 5f52472ce942c6fee50e2bbf9acdf52aaf8f8996 /clang-tools-extra/test/clang-tidy/checkers/readability | |
parent | ad002398c9ca09ace71bea0eb7509c48dfe76066 (diff) | |
download | llvm-ae25e2f19decb94198301f0726ee613f945cc405.zip llvm-ae25e2f19decb94198301f0726ee613f945cc405.tar.gz llvm-ae25e2f19decb94198301f0726ee613f945cc405.tar.bz2 |
[clang-tidy] Extract string header from redundant-string-cstr checker
In preparation for using the implementation of basic_string and
basic_string_view from redundant-string-cstr.cpp in other checks, let's
extract it to a header.
Using the existing <string.h> to provide size_t, using that to define
size_type and using it rather than the previous "size" type makes it
easier to provide the size() method later and makes the implementation
closer to the standard.
Reviewed By: carlosgalvezp
Differential Revision: https://reviews.llvm.org/D144216
Diffstat (limited to 'clang-tools-extra/test/clang-tidy/checkers/readability')
-rw-r--r-- | clang-tools-extra/test/clang-tidy/checkers/readability/redundant-string-cstr.cpp | 70 |
1 files changed, 2 insertions, 68 deletions
diff --git a/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-string-cstr.cpp b/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-string-cstr.cpp index ed50ad1..2b6d290 100644 --- a/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-string-cstr.cpp +++ b/clang-tools-extra/test/clang-tidy/checkers/readability/redundant-string-cstr.cpp @@ -1,71 +1,5 @@ -// RUN: %check_clang_tidy %s readability-redundant-string-cstr %t - -typedef unsigned __INT16_TYPE__ char16; -typedef unsigned __INT32_TYPE__ char32; -typedef __SIZE_TYPE__ size; - -namespace std { -template <typename T> -class allocator {}; -template <typename T> -class char_traits {}; -template <typename C, typename T, typename A> -struct basic_string { - typedef basic_string<C, T, A> _Type; - basic_string(); - basic_string(const C *p, const A &a = A()); - - ~basic_string(); - - const C *c_str() const; - const C *data() const; - - _Type& append(const C *s); - _Type& append(const C *s, size n); - _Type& assign(const C *s); - _Type& assign(const C *s, size n); - - int compare(const _Type&) const; - int compare(const C* s) const; - int compare(size pos, size len, const _Type&) const; - int compare(size pos, size len, const C* s) const; - - size find(const _Type& str, size pos = 0) const; - size find(const C* s, size pos = 0) const; - size find(const C* s, size pos, size n) const; - - _Type& insert(size pos, const _Type& str); - _Type& insert(size pos, const C* s); - _Type& insert(size pos, const C* s, size n); - - _Type& operator+=(const _Type& str); - _Type& operator+=(const C* s); - _Type& operator=(const _Type& str); - _Type& operator=(const C* s); -}; - -typedef basic_string<char, std::char_traits<char>, std::allocator<char>> string; -typedef basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t>> wstring; -typedef basic_string<char16, std::char_traits<char16>, std::allocator<char16>> u16string; -typedef basic_string<char32, std::char_traits<char32>, std::allocator<char32>> u32string; - -template <typename C, typename T> -struct basic_string_view { - basic_string_view(const C* s); -}; -typedef basic_string_view<char, std::char_traits<char>> string_view; -typedef basic_string_view<wchar_t, std::char_traits<wchar_t>> wstring_view; -typedef basic_string_view<char16, std::char_traits<char16>> u16string_view; -typedef basic_string_view<char32, std::char_traits<char32>> u32string_view; -} - -std::string operator+(const std::string&, const std::string&); -std::string operator+(const std::string&, const char*); -std::string operator+(const char*, const std::string&); - -bool operator==(const std::string&, const std::string&); -bool operator==(const std::string&, const char*); -bool operator==(const char*, const std::string&); +// RUN: %check_clang_tidy %s readability-redundant-string-cstr %t -- -- -isystem %clang_tidy_headers +#include <string> namespace llvm { struct StringRef { |