RedDocMD marked an inline comment as done.
RedDocMD added a comment.

In D97183#2589445 <https://reviews.llvm.org/D97183#2589445>, @NoQ wrote:

> Nice!
>
> I suspect you're adding too many notes. The note needs to not be there if the 
> *raw* pointer is not tracked. Eg., I suspect that your patch would add a note 
> in the following case in which it shouldn't be there because the raw pointer 
> value doesn't participate in the report despite smart pointer region being 
> interesting:
>
>   std::unique_ptr<A> P;
>   A *a = P.get(); // shound't emit a note here
>   P->foo();
>
> It's important to not emit redundant notes because users typically take these 
> checker-specific notes as an indication that this information is an essential 
> piece of evidence of the bug in their program. In this example they'd believe 
> that the analyzer has figured out that the smart pointer is null by looking 
> at what happens to the raw pointer value. So they may become very confused if 
> this isn't the case.

@NoQ, in the example you have given, isn't the smart-pointer `P` null? So 
shouldn't a warning be emitted for de-referencing it? Or is it that since `a` 
is not being used, a warning shouldn't be emitted? Sorry, I could not quite 
understand that point ...


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D97183

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

Reply via email to