summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/test/clang-tidy/bugprone-string-integer-assignment.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/test/clang-tidy/bugprone-string-integer-assignment.cpp')
-rw-r--r--clang-tools-extra/test/clang-tidy/bugprone-string-integer-assignment.cpp109
1 files changed, 0 insertions, 109 deletions
diff --git a/clang-tools-extra/test/clang-tidy/bugprone-string-integer-assignment.cpp b/clang-tools-extra/test/clang-tidy/bugprone-string-integer-assignment.cpp
deleted file mode 100644
index 18fe5ef4e5c..00000000000
--- a/clang-tools-extra/test/clang-tidy/bugprone-string-integer-assignment.cpp
+++ /dev/null
@@ -1,109 +0,0 @@
-// RUN: %check_clang_tidy %s bugprone-string-integer-assignment %t
-
-namespace std {
-template<typename T>
-struct basic_string {
- basic_string& operator=(T);
- basic_string& operator=(basic_string);
- basic_string& operator+=(T);
- basic_string& operator+=(basic_string);
- const T &operator[](int i) const;
- T &operator[](int i);
-};
-
-typedef basic_string<char> string;
-typedef basic_string<wchar_t> wstring;
-
-int tolower(int i);
-int toupper(int i);
-}
-
-int tolower(int i);
-int toupper(int i);
-
-typedef int MyArcaneChar;
-
-constexpr char kCharConstant = 'a';
-
-int main() {
- std::string s;
- std::wstring ws;
- int x = 5;
- const char c = 'c';
-
- s = 6;
-// CHECK-MESSAGES: :[[@LINE-1]]:7: warning: an integer is interpreted as a character code when assigning {{.*}} [bugprone-string-integer-assignment]
-// CHECK-FIXES: {{^}} s = '6';{{$}}
- s = 66;
-// CHECK-MESSAGES: :[[@LINE-1]]:7: warning: an integer is interpreted as a chara
-// CHECK-FIXES: {{^}} s = "66";{{$}}
- s = x;
-// CHECK-MESSAGES: :[[@LINE-1]]:7: warning: an integer is interpreted as a chara
-// CHECK-FIXES: {{^}} s = std::to_string(x);{{$}}
- s = 'c';
- s = static_cast<char>(6);
-
-// +=
- ws += 6;
-// CHECK-MESSAGES: :[[@LINE-1]]:9: warning: an integer is interpreted as a chara
-// CHECK-FIXES: {{^}} ws += L'6';{{$}}
- ws += 66;
-// CHECK-MESSAGES: :[[@LINE-1]]:9: warning: an integer is interpreted as a chara
-// CHECK-FIXES: {{^}} ws += L"66";{{$}}
- ws += x;
-// CHECK-MESSAGES: :[[@LINE-1]]:9: warning: an integer is interpreted as a chara
-// CHECK-FIXES: {{^}} ws += std::to_wstring(x);{{$}}
- ws += L'c';
- ws += (wchar_t)6;
-
- std::basic_string<MyArcaneChar> as;
- as = 6;
- as = static_cast<MyArcaneChar>(6);
- as = 'a';
-
- s += toupper(x);
- s += tolower(x);
- s += (std::tolower(x));
-
- s += c & s[1];
- s += c ^ s[1];
- s += c | s[1];
-
- s[x] += 1;
- s += s[x];
- as += as[x];
-
- // Likely character expressions.
- s += x & 0xff;
- s += 0xff & x;
- s += x % 26;
- s += 26 % x;
- // CHECK-MESSAGES: :[[@LINE-1]]:8: warning: an integer is interpreted as a chara
- // CHECK-FIXES: {{^}} s += std::to_string(26 % x);{{$}}
- s += c | 0x80;
- s += c | 0x8000;
- // CHECK-MESSAGES: :[[@LINE-1]]:8: warning: an integer is interpreted as a chara
- // CHECK-FIXES: {{^}} s += std::to_string(c | 0x8000);{{$}}
- as += c | 0x8000;
-
- s += 'a' + (x % 26);
- s += kCharConstant + (x % 26);
- s += 'a' + (s[x] & 0xf);
- s += (x % 10) + 'b';
-
- s += x > 255 ? c : x;
- s += x > 255 ? 12 : x;
- // CHECK-MESSAGES: :[[@LINE-1]]:8: warning: an integer is interpreted as a chara
- // CHECK-FIXES: {{^}} s += std::to_string(x > 255 ? 12 : x);{{$}}
-}
-
-namespace instantiation_dependent_exprs {
-template<typename T>
-struct S {
- static constexpr T t = 0x8000;
- std::string s;
- void f(char c) { s += c | static_cast<int>(t); }
-};
-
-template S<int>;
-}
OpenPOWER on IntegriCloud