[PATCH] D26837: [analyzer] Litter the SVal/SymExpr/MemRegion class hierarchy with asserts.
    Artem Dergachev via cfe-commits 
    cfe-commits at lists.llvm.org
       
    Thu Nov 17 23:29:27 PST 2016
    
    
  
NoQ created this revision.
NoQ added reviewers: zaks.anna, dcoughlin, xazax.hun, a.sidorin.
NoQ added a subscriber: cfe-commits.
Put a lot of run-time checks on how our SVals are constructed, in order to maintain the existing status quo.
This should make understanding the hierarchy easier, and probably help us catch some bugs.
A couple of subtle bugs were exposed in the process, which were not addressed:
- SymbolConjured for invalidations caused by automatic destructors may possibly be reincarnated.
- GenericTaintChecker may produce symbolic expressions of void type.
https://reviews.llvm.org/D26837
Files:
  include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
  include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
  include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
  include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
  include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
  lib/StaticAnalyzer/Core/MemRegion.cpp
  lib/StaticAnalyzer/Core/SVals.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D26837.78474.patch
Type: text/x-patch
Size: 28832 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20161118/396efe5f/attachment-0001.bin>
    
    
More information about the cfe-commits
mailing list