Imported Upstream version 6.10.0.49

Former-commit-id: 1d6753294b2993e1fbf92de9366bb9544db4189b
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2020-01-16 16:38:04 +00:00
parent d94e79959b
commit 468663ddbb
48518 changed files with 2789335 additions and 61176 deletions

View File

@ -0,0 +1,34 @@
// RUN: %check_clang_tidy %s readability-misplaced-array-index %t
#define ABC "abc"
struct XY { int *X; int *Y; };
void dostuff(int);
void unusualSyntax(int *P1, struct XY *P2) {
10[P1] = 0;
// CHECK-MESSAGES: :[[@LINE-1]]:3: warning: confusing array subscript expression, usually the index is inside the []
// CHECK-FIXES: P1[10] = 0;
10[P2->X] = 0;
// CHECK-MESSAGES: :[[@LINE-1]]:3: warning: confusing array subscript expression
// CHECK-FIXES: P2->X[10] = 0;
dostuff(1["abc"]);
// CHECK-MESSAGES: :[[@LINE-1]]:11: warning: confusing array subscript expression
// CHECK-FIXES: dostuff("abc"[1]);
dostuff(1[ABC]);
// CHECK-MESSAGES: :[[@LINE-1]]:11: warning: confusing array subscript expression
// CHECK-FIXES: dostuff(ABC[1]);
dostuff(0[0 + ABC]);
// CHECK-MESSAGES: :[[@LINE-1]]:11: warning: confusing array subscript expression
// CHECK-FIXES: dostuff(0[0 + ABC]);
// No fixit. Probably the code should be ABC[0]
}
void normalSyntax(int *X) {
X[10] = 0;
}