Skip to content
  1. Mar 15, 2011
  2. Mar 11, 2011
  3. Mar 01, 2011
  4. Feb 23, 2011
  5. Feb 17, 2011
    • Argyrios Kyrtzidis's avatar
      [analyzer] Pass CheckerManager to the registration functions. · 507ff53e
      Argyrios Kyrtzidis authored
      llvm-svn: 125777
      507ff53e
    • John McCall's avatar
      Change the representation of GNU ?: expressions to use a different expression · c07a0c7e
      John McCall authored
      class and to bind the shared value using OpaqueValueExpr.  This fixes an
      unnoticed problem with deserialization of these expressions where the
      deserialized form would lose the vital pointer-equality trait;  or rather,
      it fixes it because this patch also does the right thing for deserializing
      OVEs.
      
      Change OVEs to not be a "temporary object" in the sense that copy elision is
      permitted.
      
      This new representation is not totally unawkward to work with, but I think
      that's really part and parcel with the semantics we're modelling here.  In
      particular, it's much easier to fix things like the copy elision bug and to
      make the CFG look right.
      
      I've tried to update the analyzer to deal with this in at least some          
      obvious cases, and I think we get a much better CFG out, but the printing
      of OpaqueValueExprs probably needs some work.
      
      llvm-svn: 125744
      c07a0c7e
  6. Feb 15, 2011
  7. Feb 14, 2011
  8. Feb 12, 2011
  9. Feb 10, 2011
  10. Feb 08, 2011
  11. Jan 11, 2011
  12. Dec 23, 2010
  13. Dec 22, 2010
  14. Dec 08, 2010
  15. Dec 04, 2010
    • John McCall's avatar
      Although we currently have explicit lvalue-to-rvalue conversions, they're · 34376a68
      John McCall authored
      not actually frequently used, because ImpCastExprToType only creates a node
      if the types differ.  So explicitly create an ICE in the lvalue-to-rvalue
      conversion code in DefaultFunctionArrayLvalueConversion() as well as several
      other new places, and consistently deal with the consequences throughout the
      compiler.
      
      In addition, introduce a new cast kind for loading an ObjCProperty l-value,
      and make sure we emit those nodes whenever an ObjCProperty l-value appears
      that's not on the LHS of an assignment operator.
      
      This breaks a couple of rewriter tests, which I've x-failed until future
      development occurs on the rewriter.
      
      Ted Kremenek kindly contributed the analyzer workarounds in this patch.
      
      llvm-svn: 120890
      34376a68
  16. Nov 13, 2010
  17. Oct 29, 2010
  18. Sep 18, 2010
  19. Sep 09, 2010
    • Ted Kremenek's avatar
      Rename GRState::getSVal() -> getRawSVal() and getSimplifiedSVal() -> getSVal(). · 5f256da8
      Ted Kremenek authored
      The end result is now we eagarly constant-fold symbols in the analyzer that are perfectly constrained
      to be a constant value.  This allows us to recover some path-sensitivity in some cases by lowering
      the required level of reasoning power needed to evaluate some expressions.
      
      The net win from this change is that the false positive in PR 8015 is fixed, and we also
      find more idempotent operations bugs.
      
      We do, however, regress with the BugReporterVisitors, which need to be modified to understand
      this constant folding (and look past it).  This causes some diagnostic regressions in plist-output.m
      which will get addressed in a future patch.  plist-output.m is now marked XFAIL, while
      plist-output-alternate.m now tests that the plist output is working, but with the suboptimal
      diagnostics.  This second test file will eventually be removed.
      
      llvm-svn: 113477
      5f256da8
    • Tom Care's avatar
      Simplified reachability checking in IdempotentOperationChecker and added a... · 68df12f0
      Tom Care authored
      Simplified reachability checking in IdempotentOperationChecker and added a helper function for path display.
      - Created private class CFGReachabilityAnalysis, which provides cached reachability lookups in the CFG
      - Simplified PathWasCompletelyAnalyzed to use the new reachability class
      - Added getLastRelevantNodes function for future use with path displaying in BugReporter
      
      llvm-svn: 113465
      68df12f0
  20. Sep 07, 2010
  21. Sep 03, 2010
  22. Sep 02, 2010
Loading