diff options
author | Joel E. Denny <jdenny.ornl@gmail.com> | 2018-03-13 14:51:22 +0000 |
---|---|---|
committer | Joel E. Denny <jdenny.ornl@gmail.com> | 2018-03-13 14:51:22 +0000 |
commit | f4ca1ac809d708ef762f1134686a7afec656668d (patch) | |
tree | 943caffa47ef6d61479598faf1c0d39effb3d13f /lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp | |
parent | 39d91bde1edb585124a77c89d019ff85b0c9d4e6 (diff) |
Reland "[Attr] Fix parameter indexing for several attributes"
Relands r326602 (reverted in r326862) with new test and fix for
PR36620.
Differential Revision: https://reviews.llvm.org/D43248
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@327405 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp')
-rw-r--r-- | lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp b/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp index 838be2829e..01d2c0491b 100644 --- a/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp +++ b/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp @@ -54,10 +54,11 @@ static llvm::SmallBitVector getNonNullAttrs(const CallEvent &Call) { AttrNonNull.set(0, NumArgs); break; } - for (unsigned Val : NonNull->args()) { - if (Val >= NumArgs) + for (const ParamIdx &Idx : NonNull->args()) { + unsigned IdxAST = Idx.getASTIndex(); + if (IdxAST >= NumArgs) continue; - AttrNonNull.set(Val); + AttrNonNull.set(IdxAST); } } return AttrNonNull; |