Skip to content
  1. Aug 16, 2011
  2. Aug 15, 2011
  3. Aug 13, 2011
  4. Aug 12, 2011
    • Anna Zaks's avatar
      MacOSKeychainAPIChecker: · fdd0aca0
      Anna Zaks authored
      Report errors earlier: on checkDeadSymbols() and clear the state after the symbol we are tracking goes out of scope. 
      
      Also, perform lazy error checking. Instead of forcing the paths to be split depending one the return value of the allocator, make the return symbol depend on the allocated data symbol, which prolongs its life span to the time when the allocated data symbol becomes dead.
      
      llvm-svn: 137523
      fdd0aca0
    • Jordy Rose's avatar
      [analyzer] Nitpicks on Olaf's patch, which I meant to e-mail but then didn't in · add45b78
      Jordy Rose authored
      time. One is cleanup, the other is me being OCD about enum group nesting.
      
      llvm-svn: 137517
      add45b78
    • Anna Zaks's avatar
      MacOSKeychainAPIChecker: There is no need to use SymbolMetadata to represent... · c94894fb
      Anna Zaks authored
      MacOSKeychainAPIChecker: There is no need to use SymbolMetadata to represent the allocated data symbol, we can just use the symbol corresponding to the SymbolicRegion. This simplifies tracking of the symbol, for example, SymbolMetadata needs to go through extra hoops to stay alive.
      
      Make AllocationState internal to the MacOSKeychainAPIChecker class.
      
      llvm-svn: 137514
      c94894fb
    • Ted Kremenek's avatar
      [analyzer] Introduce new MemRegion, "TypedValueRegion", so that we can... · 8df44b26
      Ted Kremenek authored
      [analyzer] Introduce new MemRegion, "TypedValueRegion", so that we can separate TypedRegions that implement getValueType() from those that don't.
      
      Patch by Olaf Krzikalla!
      
      llvm-svn: 137498
      8df44b26
  5. Aug 06, 2011
  6. Aug 05, 2011
  7. Aug 04, 2011
  8. Aug 03, 2011
  9. Aug 02, 2011
  10. Jul 31, 2011
  11. Jul 29, 2011
    • Ted Kremenek's avatar
      [analyzer] Overhaul how the static analyzer expects CFGs by forcing CFGs to be... · e9fda1e4
      Ted Kremenek authored
      [analyzer] Overhaul how the static analyzer expects CFGs by forcing CFGs to be linearized only when used by the static analyzer.  This required a rewrite of LiveVariables, and exposed a ton of subtle bugs.
      
      The motivation of this large change is to drastically simplify the logic in ExprEngine going forward.
      
      Some fallout is that the output of some BugReporterVisitors is not as accurate as before; those will
      need to be fixed over time.  There is also some possible performance regression as RemoveDeadBindings
      will be called frequently; this can also be improved over time.
      
      llvm-svn: 136419
      e9fda1e4
    • Ted Kremenek's avatar
      [analyzer] fix bug in malloc checker where the tracked symbol would not... · e227f493
      Ted Kremenek authored
      [analyzer] fix bug in malloc checker where the tracked symbol would not properly be removed from the state.
      
      llvm-svn: 136418
      e227f493
  12. Jul 25, 2011
  13. Jul 23, 2011
  14. Jul 19, 2011
  15. Jul 16, 2011
  16. Jul 15, 2011
  17. Jul 02, 2011
  18. Jun 21, 2011
    • Douglas Gregor's avatar
      Introduce a new AST node describing reference binding to temporaries. · fe31481f
      Douglas Gregor authored
      MaterializeTemporaryExpr captures a reference binding to a temporary
      value, making explicit that the temporary value (a prvalue) needs to
      be materialized into memory so that its address can be used. The
      intended AST invariant here is that a reference will always bind to a
      glvalue, and MaterializeTemporaryExpr will be used to convert prvalues
      into glvalues for that binding to happen. For example, given
      
        const int& r = 1.0;
      
      The initializer of "r" will be a MaterializeTemporaryExpr whose
      subexpression is an implicit conversion from the double literal "1.0"
      to an integer value. 
      
      IR generation benefits most from this new node, since it was
      previously guessing (badly) when to materialize temporaries for the
      purposes of reference binding. There are likely more refactoring and
      cleanups we could perform there, but the introduction of
      MaterializeTemporaryExpr fixes PR9565, a case where IR generation
      would effectively bind a const reference directly to a bitfield in a
      struct. Addresses <rdar://problem/9552231>.
      
      llvm-svn: 133521
      fe31481f
  19. Jun 20, 2011
  20. Jun 16, 2011
Loading