commit | 8e3a659105fc0934841d857193bc1521ae070b39 | [log] [tgz] |
---|---|---|
author | George Karpenkov <ekarpenkov@apple.com> | Wed Mar 07 22:20:39 2018 +0000 |
committer | George Karpenkov <ekarpenkov@apple.com> | Wed Mar 07 22:20:39 2018 +0000 |
tree | dac096742e67415be0560a4e2ec7f6eda953b029 | |
parent | 065962375dbdabd9d6250f5f1b29915b74682417 [diff] [blame] |
[analyzer] [PointerArithChecker] do not warn on indexes into vector types rdar://35041502 Differential Revision: https://reviews.llvm.org/D44172 llvm-svn: 326952
diff --git a/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp index 4c4a8e3..63f82b2 100644 --- a/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp
@@ -308,6 +308,10 @@ // Indexing with 0 is OK. if (Idx.isZeroConstant()) return; + + // Indexing vector-type expressions is also OK. + if (SubsExpr->getBase()->getType()->isVectorType()) + return; reportPointerArithMisuse(SubsExpr->getBase(), C); }