[PATCH] D77229: [Analyzer][WIP] Avoid handling of LazyCompundVals in IteratorModeling
Balogh, Ádám via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Apr 27 11:49:27 PDT 2020
baloghadamsoftware updated this revision to Diff 260387.
baloghadamsoftware added a comment.
I implemented the basic `isLive()` and `getBinding()` functions which reduced the number of failing tests by `0`. I also implemented dynamic calculation of the type which increased the number of failing tests by `4`. The reason is probably that when `ParamRegion` is created in `Expr::VisitCommonDeclRefExpr()` we cannot retrieve information whether the call is a C++ member operator call. If it is, we should shift the index by `1`. Using the wrong index and thus returning the wrong type causes failing tests and crashes (assertions).
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D77229/new/
https://reviews.llvm.org/D77229
Files:
clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h
clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
clang/include/clang/StaticAnalyzer/Core/PathSensitive/Regions.def
clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp
clang/lib/StaticAnalyzer/Checkers/InvalidatedIteratorChecker.cpp
clang/lib/StaticAnalyzer/Checkers/Iterator.cpp
clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
clang/lib/StaticAnalyzer/Checkers/IteratorRangeChecker.cpp
clang/lib/StaticAnalyzer/Checkers/MismatchedIteratorChecker.cpp
clang/lib/StaticAnalyzer/Checkers/STLAlgorithmModeling.cpp
clang/lib/StaticAnalyzer/Core/CallEvent.cpp
clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
clang/lib/StaticAnalyzer/Core/MemRegion.cpp
clang/lib/StaticAnalyzer/Core/RegionStore.cpp
clang/lib/StaticAnalyzer/Core/Store.cpp
clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
clang/test/Analysis/container-modeling.cpp
clang/test/Analysis/explain-svals.cpp
clang/test/Analysis/iterator-modeling.cpp
clang/test/Analysis/temporaries.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D77229.260387.patch
Type: text/x-patch
Size: 86951 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20200427/c7f3eac8/attachment-0001.bin>
More information about the cfe-commits
mailing list