Page MenuHomePhabricator
Feed Advanced Search

Apr 30 2015

ayartsev added a comment to D9040: [analyzer] Make realloc(ptr, 0) handling equivalent to malloc(0)..

Ping.

Apr 30 2015, 6:37 AM

Apr 29 2015

ayartsev updated the diff for D8774: [analyzer] Prevent ccc/c++-analyzer from hanging on Windows..

Fixed an issue with spaces. However additional changes (support for spaces in compiler arguments) are required to fully support spaces in a compiler path.
Giving --use-analyzer="F:/C LANG/clang.exe" to scan-build ends up with
error: error reading 'LANG\..\lib\clang\3.7.0'
That's because -resource-dir F:\C LANG\..\lib\clang\3.7.0 is given to clang.

Apr 29 2015, 4:57 PM
ayartsev retitled D9357: [analyzer] Support spaces in compiler path and arguments. from to [analyzer] Support spaces in compiler path and arguments..
Apr 29 2015, 4:15 PM

Apr 20 2015

ayartsev added a comment to D6551: Improvements to scan-build..

Ping!
Tested the patch more carefully - tested combinations of different options. Also launched scan-build over real codebases - LLVM and OGRE. No regressions found.

Apr 20 2015, 5:01 PM
ayartsev added a comment to D8774: [analyzer] Prevent ccc/c++-analyzer from hanging on Windows..

Ping.

Apr 20 2015, 4:52 PM

Apr 15 2015

ayartsev retitled D9040: [analyzer] Make realloc(ptr, 0) handling equivalent to malloc(0). from to [analyzer] Make realloc(ptr, 0) handling equivalent to malloc(0)..
Apr 15 2015, 2:33 PM
ayartsev added a comment to D8273: [analyzer] Implementation of potential undefbehavior.ZeroAllocDereference checker..

Committed as r234889.

Apr 15 2015, 2:06 PM

Apr 14 2015

ayartsev committed rL234889: [analyzer] This implements potential undefbehavior.ZeroAllocDereference checker..
[analyzer] This implements potential undefbehavior.ZeroAllocDereference checker.
Apr 14 2015, 7:21 AM

Apr 10 2015

ayartsev added a comment to D6551: Improvements to scan-build..

Gentle ping.

Apr 10 2015, 8:31 AM

Apr 3 2015

ayartsev added a comment to D8273: [analyzer] Implementation of potential undefbehavior.ZeroAllocDereference checker..

Ping!

Apr 3 2015, 3:53 PM
ayartsev added a comment to D6551: Improvements to scan-build..

and, last but not least, the CR are broken. I don't know what you use but it seems that patch detects it as binary.

Apr 3 2015, 4:48 AM
ayartsev updated the diff for D6551: Improvements to scan-build..

Fixed CRs.

Apr 3 2015, 4:36 AM

Apr 1 2015

ayartsev added a comment to D6551: Improvements to scan-build..

The second patch does not apply on top of the first.

Yes, these patches are not cumulative. After one of the patches gets in the other must be modified.

Apr 1 2015, 9:19 AM
ayartsev added a parent revision for D8774: [analyzer] Prevent ccc/c++-analyzer from hanging on Windows.: D6551: Improvements to scan-build..
Apr 1 2015, 9:14 AM
ayartsev added a comment to D8774: [analyzer] Prevent ccc/c++-analyzer from hanging on Windows..

+ added cfe-commits to the subscribers list.

Apr 1 2015, 9:08 AM
ayartsev updated subscribers of D8774: [analyzer] Prevent ccc/c++-analyzer from hanging on Windows..
Apr 1 2015, 9:06 AM
ayartsev retitled D8774: [analyzer] Prevent ccc/c++-analyzer from hanging on Windows. from to [analyzer] Prevent ccc/c++-analyzer from hanging on Windows..
Apr 1 2015, 9:06 AM

Mar 30 2015

ayartsev added a comment to D6551: Improvements to scan-build..

Anna, Sylvestre,
"Prevent ccc/c++-analyzer from hanging on Windows." is up to date:


Note, this patch is not included in the refactoring patch.

Mar 30 2015, 11:20 AM

Mar 26 2015

ayartsev added a comment to D6551: Improvements to scan-build..

Anna, sorry, mistaken, all of this is just a refactoring, including the line 1254.

Mar 26 2015, 6:01 PM
ayartsev added a comment to D6551: Improvements to scan-build..

Anna, just a refactoring, except line 1254 where missing "-Xclang" added before "-load". I'll make a separate patch for this.

Mar 26 2015, 5:52 PM
ayartsev updated the diff for D6551: Improvements to scan-build..

+ refactoring: moved processing of command-line arguments to a subroutine.

Mar 26 2015, 9:02 AM

Mar 21 2015

ayartsev added a comment to D8273: [analyzer] Implementation of potential undefbehavior.ZeroAllocDereference checker..

.

Mar 21 2015, 7:19 AM
ayartsev updated the diff for D8273: [analyzer] Implementation of potential undefbehavior.ZeroAllocDereference checker..

New patch with comments addressed, please review!

Mar 21 2015, 6:35 AM
ayartsev added a comment to D8273: [analyzer] Implementation of potential undefbehavior.ZeroAllocDereference checker..

Thanks for review!

Mar 21 2015, 6:32 AM

Mar 18 2015

ayartsev updated the diff for D8273: [analyzer] Implementation of potential undefbehavior.ZeroAllocDereference checker..

Updated the patch, made the checker stateless, please review!

Mar 18 2015, 4:20 PM

Mar 12 2015

ayartsev added a comment to D8273: [analyzer] Implementation of potential undefbehavior.ZeroAllocDereference checker..

Aaa, I see, thank you!

Mar 12 2015, 5:29 PM

Mar 11 2015

ayartsev committed rL231978: [analyzer] www: +progress for undefbehavior.ZeroAllocDereference .
[analyzer] www: +progress for undefbehavior.ZeroAllocDereference
Mar 11 2015, 3:32 PM
ayartsev retitled D8273: [analyzer] Implementation of potential undefbehavior.ZeroAllocDereference checker. from to [analyzer] Implementation of potential undefbehavior.ZeroAllocDereference checker..
Mar 11 2015, 3:21 PM

Mar 10 2015

ayartsev committed rL231863: [analyzer] Make getCheckIfTracked() return either leak or regular checker..
[analyzer] Make getCheckIfTracked() return either leak or regular checker.
Mar 10 2015, 3:26 PM

Mar 6 2015

ayartsev committed rL231548: [analyzer] Remove unused type (addition to r231540: "Revert changes from….
[analyzer] Remove unused type (addition to r231540: "Revert changes from…
Mar 6 2015, 6:00 PM
ayartsev committed rL231540: [analyzer] Revert changes from r229593; an enhancement is under discussion.
[analyzer] Revert changes from r229593; an enhancement is under discussion
Mar 6 2015, 4:34 PM

Mar 4 2015

ayartsev committed rL231314: [analyzer] Bug fix: do not report leaks for alloca().
[analyzer] Bug fix: do not report leaks for alloca()
Mar 4 2015, 3:20 PM

Mar 3 2015

ayartsev committed rL231160: [analyzer] unix.Malloc: preserve AllocaRegion bound to __builtin_alloca()..
[analyzer] unix.Malloc: preserve AllocaRegion bound to __builtin_alloca().
Mar 3 2015, 3:01 PM

Feb 19 2015

ayartsev committed rL229850: [analyzer] Different handling of alloca()..
[analyzer] Different handling of alloca().
Feb 19 2015, 5:38 AM

Feb 17 2015

ayartsev committed rL229593: [analyzer] Refactoring: clarified the way the proper check kind is chosen..
[analyzer] Refactoring: clarified the way the proper check kind is chosen.
Feb 17 2015, 4:41 PM

Feb 10 2015

ayartsev committed rL228737: [analyzer] Pass actual state to alloc/dealloc handling functions..
[analyzer] Pass actual state to alloc/dealloc handling functions.
Feb 10 2015, 12:15 PM

Jan 7 2015

ayartsev added a comment to D6178: [Review request][analyzer] Duplicate '0 size allocation' check from unix.API in unix.Malloc..

Added the comment (inlined comment at MallocChecker.cpp, Line 259). OK to commit?

Jan 7 2015, 10:30 AM

Dec 28 2014

ayartsev added inline comments to D6178: [Review request][analyzer] Duplicate '0 size allocation' check from unix.API in unix.Malloc..
Dec 28 2014, 8:36 PM
ayartsev updated the diff for D6178: [Review request][analyzer] Duplicate '0 size allocation' check from unix.API in unix.Malloc..

"Have you added a test to make sure that is the case? (If yes, what's the function name. I could not easily find it.) It would be similar to the path-sensitive check you've added but the check against '0' would be done in an inlined function."
Done, 'void testMallocIdc(int i)' added.

Dec 28 2014, 6:28 PM

Dec 23 2014

ayartsev committed rL224797: [analyzer] Updated progress for memory.ZeroAlloc.
[analyzer] Updated progress for memory.ZeroAlloc
Dec 23 2014, 5:05 PM
ayartsev committed rL224796: [analyzer] +memory.ZeroAlloc.
[analyzer] +memory.ZeroAlloc
Dec 23 2014, 4:47 PM

Dec 17 2014

ayartsev added a comment to D6178: [Review request][analyzer] Duplicate '0 size allocation' check from unix.API in unix.Malloc..

Ping!

Dec 17 2014, 12:30 PM

Dec 16 2014

ayartsev added a comment to D6551: Improvements to scan-build..

Ping!

Dec 16 2014, 3:14 PM

Dec 10 2014

ayartsev added a comment to D6178: [Review request][analyzer] Duplicate '0 size allocation' check from unix.API in unix.Malloc..

Updated the patch.

Dec 10 2014, 6:17 PM
ayartsev updated the diff for D6178: [Review request][analyzer] Duplicate '0 size allocation' check from unix.API in unix.Malloc..

Addressed the comments, updated the patch, please review!

Dec 10 2014, 6:11 PM

Dec 5 2014

ayartsev retitled D6551: Improvements to scan-build. from to Improvements to scan-build..
Dec 5 2014, 7:19 AM

Nov 7 2014

ayartsev retitled D6178: [Review request][analyzer] Duplicate '0 size allocation' check from unix.API in unix.Malloc. from to [Review request][analyzer] Duplicate '0 size allocation' check from unix.API in unix.Malloc..
Nov 7 2014, 4:11 PM

Oct 21 2014

ayartsev added a comment to D5313: [analyzer] move NewDeleteLeaks checker from alpha.cplusplus to cplusplus group..

Committed at r220289.

Oct 21 2014, 5:55 AM

Oct 14 2014

ayartsev added a comment to D5313: [analyzer] move NewDeleteLeaks checker from alpha.cplusplus to cplusplus group..

Hi all,

Oct 14 2014, 2:06 PM

Sep 24 2014

ayartsev added a comment to D5443: unique_ptr with ability to get a raw pointer after release..

The discussion moved to llvmdev, topic "New type of smart pointer for LLVM"

Sep 24 2014, 7:14 PM
ayartsev updated the diff for D5443: unique_ptr with ability to get a raw pointer after release..

It also doesn't compose with other deleters, which is a little unfortunate.

All is needed to do to make an existing deleter work with unique_ptr_deferred_release is to inherit the deleter from a 'SwitchControlledDeleterBase' class ('Switch' class in the new patch).

Sep 24 2014, 3:06 PM

Sep 22 2014

ayartsev retitled D5443: unique_ptr with ability to get a raw pointer after release. from to unique_ptr with ability to get a raw pointer after release..
Sep 22 2014, 11:12 AM

Sep 16 2014

ayartsev updated the diff for D5313: [analyzer] move NewDeleteLeaks checker from alpha.cplusplus to cplusplus group..

Cleaned the patch.
Anna, Ted, do you think the NeweleteLeaks checker is ready for being turned on?

Sep 16 2014, 3:29 PM

Sep 11 2014

ayartsev added a comment to D5313: [analyzer] move NewDeleteLeaks checker from alpha.cplusplus to cplusplus group..

Attached is the report with all the leaks from the last analyzer run (10.09.2014) addressed. Minimal tests are included for all types of false-positives.

Sep 11 2014, 2:12 PM
ayartsev updated subscribers of D5313: [analyzer] move NewDeleteLeaks checker from alpha.cplusplus to cplusplus group..
Sep 11 2014, 1:56 PM
ayartsev retitled D5313: [analyzer] move NewDeleteLeaks checker from alpha.cplusplus to cplusplus group. from to [analyzer] move NewDeleteLeaks checker from alpha.cplusplus to cplusplus group..
Sep 11 2014, 1:55 PM

Aug 5 2014

ayartsev added a comment to D4025: [analyzer][Review request] Partial fix for PR19102..

Committed as r214909.

Aug 5 2014, 11:36 AM

Aug 4 2014

ayartsev added a comment to D4025: [analyzer][Review request] Partial fix for PR19102..

Attached are leak reports generated by NewDeleteLeaks checker ran over
the LLVM codebase with -analyzer-opt-analyze-headers option turned on.
Haven't addressed them yet. Looking at suspicious leak reports generated
from headers (e.g. reports from TinyPtrVector.h).

Aug 4 2014, 12:34 PM
ayartsev added a comment to D4025: [analyzer][Review request] Partial fix for PR19102..

Done! Ok to commit?
Just ran the updated NewDeleteLeaks checker over LLVM codebase with -analyzer-opt-analyze-headers option turned on. Failed to attach reports in Phabricator, I'll send them with the next mail.

Aug 4 2014, 12:21 PM
ayartsev updated the test plan for D4025: [analyzer][Review request] Partial fix for PR19102..
Aug 4 2014, 12:20 PM
ayartsev updated the diff for D4025: [analyzer][Review request] Partial fix for PR19102..
Aug 4 2014, 12:19 PM

Aug 1 2014

ayartsev added a comment to D4025: [analyzer][Review request] Partial fix for PR19102..

Ping!

Aug 1 2014, 10:28 AM

Jul 23 2014

ayartsev updated the diff for D4025: [analyzer][Review request] Partial fix for PR19102..

Simplified the check, an un-consumed new is now treated a leak unless the constructor has a parameter of a pointer-to-record type. The check is not expensive and covers LLVM cases.

Jul 23 2014, 6:58 AM

Jul 16 2014

ayartsev updated the diff for D4025: [analyzer][Review request] Partial fix for PR19102..

Now searching on the class and all superclasses that has methods accessible from the constructed record. Referenced types are now cached.

Jul 16 2014, 3:55 PM

Jun 4 2014

ayartsev retitled D4025: [analyzer][Review request] Partial fix for PR19102. from to [analyzer][Review request] Partial fix for PR19102..
Jun 4 2014, 5:40 PM

May 19 2014

ayartsev added a comment to D3457: [analyzer][Review request] Improved checker lists..

The expandcollapse.js is written by me from scratch as well as button images. Committed as r209131.

May 19 2014, 8:17 AM

May 12 2014

ayartsev added a comment to D3457: [analyzer][Review request] Improved checker lists..

Ping!

May 12 2014, 1:17 PM

May 5 2014

ayartsev updated the diff for D3457: [analyzer][Review request] Improved checker lists..

Update to the patch after r207995. Enabling of the expandcollapse feature added.

May 5 2014, 2:55 PM
ayartsev updated the diff for D3457: [analyzer][Review request] Improved checker lists..

Substituted the second example with the one that uses a destructor call.
References to sub-objects used after the destructor has been called are the matter of undefbehavior.MemberRefAfterDtor. Reinitialization of an object whose destructor hasn't been called is a good idea for an another checker!
This checker is designed for the particular cases described in C++03 3.8p5, p7 and C++11 3.8p5, p7.

May 5 2014, 11:34 AM

May 2 2014

ayartsev added a comment to D3457: [analyzer][Review request] Improved checker lists..

Not sure that I've got the idea. Each example is designed for the particular case of a dangerous pointer usage. In order:
The first example illustrates the usage of a pointer as an operand of a delete-expression - OK.
The second example is a modified example from the C++ spec - a call to a virtual function of an object whose lifetime has ended. Did you mean to call a destructor or keep a pointer to a field within the object instead? Isn't a call to a virtual function a usage of an old object?
The last three examples illustrate the following cases:

  • the pointer is implicitly converted to a pointer to a base class type
  • the pointer is used as the operand of a static_cast (except when the conversion is to void*, or to void* and subsequently to char*, or unsigned char*)
  • the pointer is used as the operand of a dynamic_cast

Do you think the corresponding tests should be modified somehow?

May 2 2014, 1:28 AM

Apr 29 2014

ayartsev updated the diff for D3457: [analyzer][Review request] Improved checker lists..

Thanks for committing this! My fault, did not included alpha_checks.html, implicit_checks.html and expandcollapse.js to the previous patch.
Additionally fixed table headers in available_checks.html, fixed paddings/margins of all table headers and updated undefbehavior.DeadReferenced.

Apr 29 2014, 3:45 AM

Apr 22 2014

ayartsev retitled D3457: [analyzer][Review request] Improved checker lists. from to [analyzer][Review request] Improved checker lists..
Apr 22 2014, 3:02 PM