Skip to content
Snippets Groups Projects
  1. May 29, 2017
  2. May 12, 2017
  3. May 03, 2017
  4. May 02, 2017
  5. Apr 26, 2017
  6. Apr 24, 2017
  7. Apr 21, 2017
  8. Apr 13, 2017
  9. Apr 05, 2017
  10. Apr 04, 2017
  11. Mar 30, 2017
  12. Mar 28, 2017
    • Artem Dergachev's avatar
      [analyzer] Fix symbolication for unknown unary increment/decrement results. · 1a78b34e
      Artem Dergachev authored
      If the value is known, but we cannot increment it, conjure a symbol to
      represent the result of the operation based on the operator expression,
      not on the sub-expression.
      
      In particular, no longer crash on comparing a result of a LocAsInteger increment
      to a constant integer.
      
      rdar://problem/31067356
      
      Differential Revision: https://reviews.llvm.org/D31289
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298927 91177308-0d34-0410-b5e6-96231b3b80d8
      1a78b34e
    • Artem Dergachev's avatar
      [analyzer] When creating a temporary object, properly copy the value into it. · 966ccc5a
      Artem Dergachev authored
      Adjustments should be considered properly; we should copy the unadjusted object
      over the whole temporary base region. If the unadjusted object is no longer
      available in the Environment, invalidate the temporary base region, and then
      copy the adjusted object into the adjusted sub-region of the temporary region.
      
      This fixes a regression introduced by r288263, that caused various
      false positives, due to copying only adjusted object into the adjusted region;
      the rest of the base region therefore remained undefined.
      Before r288263, the adjusted value was copied over the unadjusted region,
      which is incorrect, but accidentally worked better due to how region store
      disregards compound value bindings to non-base regions.
      
      An additional test machinery is introduced to make sure that despite making
      two binds, we only notify checkers once for both of them, without exposing
      the partially copied objects.
      
      This fix is a hack over a hack. The proper fix would be to model C++ temporaries
      in the CFG, and after that dealing with adjustments would no longer be
      necessary, and the values we need would no longer disappear from the
      Environment.
      
      rdar://problem/30658168
      
      Differential Revision: https://reviews.llvm.org/D30534
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298924 91177308-0d34-0410-b5e6-96231b3b80d8
      966ccc5a
  13. Mar 24, 2017
  14. Mar 13, 2017
  15. Mar 10, 2017
  16. Mar 09, 2017
  17. Mar 08, 2017
  18. Mar 07, 2017
  19. Mar 03, 2017
  20. Mar 02, 2017
  21. Mar 01, 2017
  22. Feb 28, 2017
  23. Feb 27, 2017
Loading