[PATCH] D62688: [Analyzer] Iterator Checkers - Model `empty()` method of containers

2019-06-20 Thread Sanaa82016 Najjar via Phabricator via cfe-commits
sanaanajjar231288 added a comment.

In D62688#1549574 , @Szelethus wrote:

> Hmm, an idea just popped into my head. I'm not sure whether we have a single 
> checker that does so much complicated (and totally awesome) modeling as 
> `IteratorChecker`.  What do you think about a debug checker similar to 
> `debug.ExprInspection`, like `debug.IteratorInspection`?
>
>   // RUN: %clang_analyzer_cc1 -analyzer-checker=core,debug.IteratorInspection
>  
>   template 
>   void clang_analyzer_container_size(const Cont &);
>  
>   template 
>   void clang_analyzer_is_attached_to_container(const It &, const Cont &);
>  
>   void non_empty1(const std::vector ) {
> assert(!V.empty());
> for (auto n: V) {}
> clang_analyzer_container_size(V); // expected-warning{{[1, intmax]}}
>   }
>  
>   void non_empty2(const std::vector ) {
> for (auto n: V) {}
> assert(V.empty());
> clang_analyzer_container_size(V); // expected-warning{{[0, 0]}}
>   }
>  
>   void foo(std::vector v1, std::vector v2) {
> clang_analyzer_is_attached_to_container(v1.begin(), v2); // 
> expected-warning{{FALSE}}
>   }
>
>
> etc etc.





Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62688/new/

https://reviews.llvm.org/D62688



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D62611: [analyzer][Dominators] Add unittests

2019-06-15 Thread Sanaa82016 Najjar via Phabricator via cfe-commits
sanaanajjar231288 added a comment.

In D62611#1521692 , @Szelethus wrote:

> Fixes according to reviewer comments, thanks! :)





CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62611/new/

https://reviews.llvm.org/D62611



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits