[PATCH] D97183: [analyzer] Add NoteTag for smart-ptr get()
Valeriy Savchenko via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Apr 20 01:44:49 PDT 2021
vsavchenko added a comment.
In D97183#2699336 <https://reviews.llvm.org/D97183#2699336>, @steakhal wrote:
> In D97183#2699080 <https://reviews.llvm.org/D97183#2699080>, @RedDocMD wrote:
>
>> For the following function:
>>
>> void foo(std::unique_ptr<A> P) {
>> A* praw = P.get();
>> A* other = praw;
>> if (other) {}
>> P->foo();
>> }
>>
>> Where do we expect a note? Where `praw` is initialized, where `other` is initialized or both?
>
> I would expect no notes at all, since there is no bug.
According to the existing analyzer logic, there is a bug. If you check `other` for null, we can conclude that there are circumstances when it is null indeed.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D97183/new/
https://reviews.llvm.org/D97183
More information about the cfe-commits
mailing list