[PATCH] D19979: [analyzer] ScopeContext - initial implementation

Aleksei Sidorin via cfe-commits cfe-commits at lists.llvm.org
Thu May 5 09:05:33 PDT 2016


a.sidorin created this revision.
a.sidorin added reviewers: zaks.anna, dcoughlin, bshastry.
a.sidorin added a subscriber: cfe-commits.

This patch enables ScopeContext to track variable lifetime. It is RFC mostly since the work on its dependencies is still not finished and it lacks some tests.
Pre-discussion took place in cfe-dev:
* http://lists.llvm.org/pipermail/cfe-dev/2015-December/046653.html
* http://clang-developers.42468.n3.nabble.com/Analyzer-ScopeContext-implementation-td4050861.html

StackLocalsSpaceRegion is still present to preserve current behaviour because 'cfg-scope-info' is false by default.

http://reviews.llvm.org/D19979

Files:
  include/clang/Analysis/AnalysisContext.h
  include/clang/Analysis/ProgramPoint.h
  include/clang/StaticAnalyzer/Core/Checker.h
  include/clang/StaticAnalyzer/Core/CheckerManager.h
  include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h
  include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
  include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
  include/clang/StaticAnalyzer/Core/PathSensitive/Regions.def
  include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
  lib/Analysis/AnalysisDeclContext.cpp
  lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp
  lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp
  lib/StaticAnalyzer/Checkers/MallocChecker.cpp
  lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
  lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
  lib/StaticAnalyzer/Core/CheckerManager.cpp
  lib/StaticAnalyzer/Core/CoreEngine.cpp
  lib/StaticAnalyzer/Core/Environment.cpp
  lib/StaticAnalyzer/Core/ExprEngine.cpp
  lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
  lib/StaticAnalyzer/Core/MemRegion.cpp
  lib/StaticAnalyzer/Core/PathDiagnostic.cpp
  lib/StaticAnalyzer/Core/Store.cpp
  test/Analysis/scope-context.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D19979.56296.patch
Type: text/x-patch
Size: 46934 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160505/8cf38378/attachment-0001.bin>


More information about the cfe-commits mailing list