[PATCH] D32642: [Analyzer] Iterator Checker - Part 2: Increment, decrement operators and ahead-of-begin checks

Artem Dergachev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jun 23 03:52:36 PDT 2017


NoQ added a comment.

For example,

**`$ cat test.c`**

  void clang_analyzer_dump(int);
  
  int bar();
  
  void foo() {
    int x = bar();
    clang_analyzer_dump(x);
    ++x;
    clang_analyzer_dump(x);
    ++x;
    clang_analyzer_dump(x);
  }

**`$ ~/debug/bin/clang -cc1 -analyze -analyzer-checker=debug.ExprInspection test.c`**

  test.c:7:3: warning: conj_$2{int}
    clang_analyzer_dump(x);
    ^~~~~~~~~~~~~~~~~~~~~~
  test.c:9:3: warning: (conj_$2{int}) + 1
    clang_analyzer_dump(x);
    ^~~~~~~~~~~~~~~~~~~~~~
  test.c:11:3: warning: (conj_$2{int}) + 2
    clang_analyzer_dump(x);
    ^~~~~~~~~~~~~~~~~~~~~~
  3 warnings generated.

So i'm sure we're already doing this everywhere.


https://reviews.llvm.org/D32642





More information about the cfe-commits mailing list