Nithin Vadukkumchery Rajendrakumar
0b4fe8086f
[Analyzer] Fix for dereferece of smart pointer after branching on unknown inner pointer
...
Summary: Enabling warning after dereferece of smart pointer after branching on unknown inner pointer.
Reviewers: NoQ, Szelethus, vsavchenko, xazax.hun
Reviewed By: NoQ
Subscribers: martong, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D87043
2020-10-09 13:42:25 +02:00
Nithin Vadukkumchery Rajendrakumar
bc3d4d9ed7
[analyzer] Add bool operator modeling for unque_ptr
...
Summary: Implemented boolean conversion operator for unique_ptr
Reviewers: NoQ, Szelethus, vsavchenko, xazax.hun
Reviewed By: NoQ, xazax.hun
Subscribers: martong, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D86027
2020-08-31 19:25:33 +02:00
Nithin Vadukkumchery Rajendrakumar
1b743a9efa
[analyzer] Add modeling for unique_ptr move constructor
...
Summary:
Add support for handling move contructor of std::unique_ptr.
Reviewers: NoQ, Szelethus, vsavchenko, xazax.hun
Reviewed By: NoQ
Subscribers: martong, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D86373
2020-08-31 14:36:11 +02:00
Nithin Vadukkumchery Rajendrakumar
20676cab11
[analyzer] Add modeling of assignment operator in smart ptr
...
Summary: Support for 'std::unique_ptr>::operator=' in SmartPtrModeling
Reviewers: NoQ, Szelethus, vsavchenko, xazax.hun
Reviewed By: NoQ, vsavchenko, xazax.hun
Subscribers: martong, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D86293
2020-08-26 11:22:55 +02:00
Nithin Vadukkumchery Rajendrakumar
55208f5a21
[analyzer] Add modeling for unque_ptr::get()
...
Summary: Implemented modeling for get() method in SmartPtrModeling
Reviewers: NoQ, Szelethus, vsavchenko, xazax.hun
Reviewed By: NoQ, xazax.hun
Subscribers: martong, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D86029
2020-08-23 14:50:26 +02:00
Nithin Vadukkumchery Rajendrakumar
b34b1e3838
[Analysis] Bug fix for exploded graph branching in evalCall for constructor
...
Summary:
Make exactly single NodeBuilder exists at any given time
Reviewers: NoQ, Szelethus, vsavchenko, xazax.hun
Reviewed By: NoQ
Subscribers: martong, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D85796
2020-08-19 00:03:31 +02:00
Nithin Vadukkumchery Rajendrakumar
06d100a69a
[Analyzer] Support note tags for smart ptr checker
...
Summary:
Added support for note tags for null smart_ptr reporting
Reviewers: NoQ, Szelethus, vsavchenko, xazax.hun
Reviewed By: NoQ, vsavchenko, xazax.hun
Subscribers: martong, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D84600
2020-08-11 23:27:16 +02:00
Nithin Vadukkumchery Rajendrakumar
76c0577763
[Analyzer] Handle unique_ptr::swap() in SmartPtrModeling
...
Summary:
Implemented modeling for unique_ptr::swap() SmartPtrModeling
Subscribers: xazax.hun, baloghadamsoftware, szepet, a.sidorin, mikhail.ramalho, Szelethus, donat.nagy, dkrupp, Charusso, martong, ASDenysPetrov, cfe-commits
Reviewers: NoQ, Szelethus, vsavchenko, xazax.hun
Reviewed By: NoQ, vsavchenko, xazax.hun
Tags: #clang
Differential Revision: https://reviews.llvm.org/D8387
2020-07-21 12:05:27 +02:00
Nithin Vadukkumchery Rajendrakumar
a560910211
[Analyzer] Add checkRegionChanges for SmartPtrModeling
...
Summary:
Implemented checkRegionChanges for SmartPtrModeling
Reviewers: NoQ, Szelethus, vsavchenko, xazax.hun
Reviewed By: NoQ, vsavchenko, xazax.hun
Subscribers: martong, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D83836
2020-07-21 01:13:40 +02:00
Nithin Vadukkumchery Rajendrakumar
20e271a98d
[analyzer] Warning for default constructed unique_ptr dereference
...
Summary: Add support for warning incase of default constructed unique pointer dereferences
Reviewed By: NoQ, Szelethus, vsavchenko, xazax.hun
Tags: #clang
Differential Revision: https://reviews.llvm.org/D81315
2020-07-08 09:51:02 +02:00
Artem Dergachev
eb71c0c961
[analyzer] SmartPtrModeling: Fix a null dereference.
...
Don't crash when trying to model a call in which the callee is unknown
in compile time, eg. a pointer-to-member call.
Differential Revision: https://reviews.llvm.org/D61285
llvm-svn: 359530
2019-04-30 03:00:57 +00:00
Artem Dergachev
8c6119a442
[analyzer] PR41269: Add a bit of C++ smart pointer modeling.
...
Implement cplusplus.SmartPtrModeling, a new checker that doesn't
emit any warnings but models methods of smart pointers more precisely.
For now the only thing it does is make `(bool) P` return false when `P`
is a freshly moved pointer. This addresses a false positive in the
use-after-move-checker.
Differential Revision: https://reviews.llvm.org/D60796
llvm-svn: 358944
2019-04-23 02:45:42 +00:00