[all-commits] [llvm/llvm-project] 855d21: [Analyzer] Iterator Checkers: Replace `UnknownVal`...

Balogh, Ádám via All-commits all-commits at lists.llvm.org
Wed Dec 11 06:22:22 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 855d21a03ae841b7c6c980e92f67bd5b65287fa6
      https://github.com/llvm/llvm-project/commit/855d21a03ae841b7c6c980e92f67bd5b65287fa6
  Author: Adam Balogh <adam.balogh at ericsson.com>
  Date:   2019-12-11 (Wed, 11 Dec 2019)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
    M clang/test/Analysis/invalidated-iterator.cpp
    M clang/test/Analysis/iterator-modelling.cpp

  Log Message:
  -----------
  [Analyzer] Iterator Checkers: Replace `UnknownVal` in comparison result by a conjured value

Sometimes the return value of a comparison operator call is
`UnkownVal`. Since no assumptions can be made on `UnknownVal`,
this leeds to keeping impossible execution paths in the
exploded graph resulting in poor performance and false
positives. To overcome this we replace unknown results of
iterator comparisons by conjured symbols.

Differential Revision: https://reviews.llvm.org/D70244




More information about the All-commits mailing list