Skip to content
Snippets Groups Projects
  1. Nov 18, 2011
    • Anna Zaks's avatar
      [analyzer] Do not conjure a symbol when we need to propagate taint. · 0d339d06
      Anna Zaks authored
      When the solver and SValBuilder cannot reason about symbolic expressions (ex: (x+1)*y ), the analyzer conjures a new symbol with no ties to the past. This helps it to recover some path-sensitivity. However, this breaks the taint propagation.
      
      With this commit, we are going to construct the expression even if we cannot reason about it later on if an operand is tainted.
      
      Also added some comments and asserts.
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144932 91177308-0d34-0410-b5e6-96231b3b80d8
      0d339d06
    • Ted Kremenek's avatar
      Make 'LangOptions' in CompilerInvocation a heap-allocated, reference counted... · d3b74d9c
      Ted Kremenek authored
      Make 'LangOptions' in CompilerInvocation a heap-allocated, reference counted object.  I discovered that llvm::RefCountedBase<T> has
      a bug where the reference count is copied in the copy constructor, which means that there were cases when the CompilerInvocation
      objects created by ASTUnit were actually leaked.  When I fixed that bug locally, it showed that a whole bunch of code assumed
      that the LangOptions object that was part of CompilerInvocation was still alive.  By making it heap-allocated and reference counted,
      we can keep it around after the CompilerInvocation object goes away.
      
      As part of this change, change CompilerInvocation:getLangOptions() to return a pointer, acting as another clue that this
      object may outlive the CompilerInvocation object.
      
      This commit doesn't fix the CompilerInvocation leak itself.  That will come when I commit the fix to llvm::RefCountedBase<T> to
      mainline LLVM.
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144930 91177308-0d34-0410-b5e6-96231b3b80d8
      d3b74d9c
    • Ted Kremenek's avatar
      Simplify crash cleanup logic in ASTUnit::LoadFromCommandLine() by zeroing out... · d04a982d
      Ted Kremenek authored
      Simplify crash cleanup logic in ASTUnit::LoadFromCommandLine() by zeroing out two IntrusiveRefCnt pointers after we have assigned their respective values into fields of ASTUnit.
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144929 91177308-0d34-0410-b5e6-96231b3b80d8
      d04a982d
  2. Nov 17, 2011
  3. Nov 16, 2011
Loading