diff options
author | Daniel Marjamaki <daniel.marjamaki@evidente.se> | 2016-09-12 12:04:13 +0000 |
---|---|---|
committer | Daniel Marjamaki <daniel.marjamaki@evidente.se> | 2016-09-12 12:04:13 +0000 |
commit | 03ea468a1ccc39a1a451a12b1ce48d43678aa927 (patch) | |
tree | f776852dd9487685d74f996fefbef207e5e6617b /clang-tools-extra/test/clang-tidy/readability-misplaced-array-index.cpp | |
parent | a7653b3919fef26da1a4a54c5887c939e3495933 (diff) | |
download | bcm5719-llvm-03ea468a1ccc39a1a451a12b1ce48d43678aa927.tar.gz bcm5719-llvm-03ea468a1ccc39a1a451a12b1ce48d43678aa927.zip |
[clang-tidy] readability-misplaced-array-index: add new check that warns when array index is misplaced.
Reviewers: alexfh
Differential Revision: https://reviews.llvm.org/D21134
llvm-svn: 281206
Diffstat (limited to 'clang-tools-extra/test/clang-tidy/readability-misplaced-array-index.cpp')
-rw-r--r-- | clang-tools-extra/test/clang-tidy/readability-misplaced-array-index.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/clang-tools-extra/test/clang-tidy/readability-misplaced-array-index.cpp b/clang-tools-extra/test/clang-tidy/readability-misplaced-array-index.cpp new file mode 100644 index 00000000000..43dd4583d5e --- /dev/null +++ b/clang-tools-extra/test/clang-tidy/readability-misplaced-array-index.cpp @@ -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; +} |