This is an archive of the discontinued LLVM Phabricator instance.

[Static Analyzer] Properly clean up the dynamic type information for dead regions.
ClosedPublic

Authored by xazax.hun on Sep 10 2015, 9:19 AM.

Diff Detail

Repository
rL LLVM

Event Timeline

xazax.hun updated this revision to Diff 34453.Sep 10 2015, 9:19 AM
xazax.hun retitled this revision from to [Static Analyzer] Properly clean up the dynamic type information for dead regions..
xazax.hun updated this object.
xazax.hun added a subscriber: cfe-commits.
xazax.hun updated this revision to Diff 34507.Sep 10 2015, 4:13 PM
  • Updated to latest trunk.
  • Separated the set/getDynamicTypeInfo APIs out from ProgramState

Note that it is not advised to put the implementations of set/getDynamicTypeInfo into a checker, because in that case there is a circular dependency during linking. The checkers use the symbols that are implemented in the clangStaticAnalyzerCore module and this way clangStaticAnalyzerCore would use symbols from that are implemented in the checkers as well.

xazax.hun updated this object.Sep 10 2015, 4:13 PM
zaks.anna added inline comments.Sep 10 2015, 6:52 PM
lib/StaticAnalyzer/Core/DynamicTypeMap.cpp
10 ↗(On Diff #34507)

"that track and query"

lib/StaticAnalyzer/Core/ProgramState.cpp
17 ↗(On Diff #34507)

Why is this header included?

xazax.hun updated this revision to Diff 34554.Sep 11 2015, 9:44 AM
  • Addressed the comments.
xazax.hun marked 2 inline comments as done.Sep 11 2015, 9:45 AM
zaks.anna accepted this revision.Sep 11 2015, 10:09 AM
zaks.anna edited edge metadata.
This revision is now accepted and ready to land.Sep 11 2015, 10:09 AM
This revision was automatically updated to reflect the committed changes.