diff options
author | Artem Dergachev <artem.dergachev@gmail.com> | 2017-01-12 18:00:03 +0000 |
---|---|---|
committer | Artem Dergachev <artem.dergachev@gmail.com> | 2017-01-12 18:00:03 +0000 |
commit | 1d4fb84d82624cb7ca158c97a54116c692fe95df (patch) | |
tree | 8690e6151eb0a4a33f3358373f7609572248ca99 /clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp | |
parent | 18e165f50d8c1ab3afe7098dc00557d5f1a43cfa (diff) | |
download | bcm5719-llvm-1d4fb84d82624cb7ca158c97a54116c692fe95df.tar.gz bcm5719-llvm-1d4fb84d82624cb7ca158c97a54116c692fe95df.zip |
[analyzer] Don't dereference the array value when binding it to a reference.
This replaces the hack in r291754, which was fixing pr31592, which was
caused by r291754, with a more appropriate solution.
rdar://problem/28832541
Differential revision: https://reviews.llvm.org/D28602
llvm-svn: 291781
Diffstat (limited to 'clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp')
-rw-r--r-- | clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp b/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp index a98d379bb84..152b937bb03 100644 --- a/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp @@ -253,12 +253,6 @@ void DereferenceChecker::checkBind(SVal L, SVal V, const Stmt *S, if (!TVR->getValueType()->isReferenceType()) return; - // FIXME: This is a hotfix for https://llvm.org/bugs/show_bug.cgi?id=31592 - // A proper fix is very much necessary. Otherwise we would never normally bind - // a NonLoc to a reference. - if (V.getAs<NonLoc>()) - return; - ProgramStateRef State = C.getState(); ProgramStateRef StNonNull, StNull; |