r338314 - [analyzer] Bugfix for autorelease + main run loop leak checker

2018-07-30 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Jul 30 15:18:21 2018 New Revision: 338314 URL: http://llvm.org/viewvc/llvm-project?rev=338314&view=rev Log: [analyzer] Bugfix for autorelease + main run loop leak checker Do not warn when the other message-send-expression is correctly wrapped in a different auto

r338315 - [analyzer] [NFC] Simplify some visitors by giving a convenient getter from state to analysis manager

2018-07-30 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Jul 30 15:18:47 2018 New Revision: 338315 URL: http://llvm.org/viewvc/llvm-project?rev=338315&view=rev Log: [analyzer] [NFC] Simplify some visitors by giving a convenient getter from state to analysis manager Differential Revision: https://reviews.llvm.org/D497

r338322 - [analyzer] [tests] Style fixes for testing harness.

2018-07-30 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Jul 30 16:01:20 2018 New Revision: 338322 URL: http://llvm.org/viewvc/llvm-project?rev=338322&view=rev Log: [analyzer] [tests] Style fixes for testing harness. Modified: cfe/trunk/utils/analyzer/CmpRuns.py cfe/trunk/utils/analyzer/SATestBuild.py Modifie

r338323 - [analyzer] [tests] Add an option for showing statistics after running tests.

2018-07-30 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Jul 30 16:01:47 2018 New Revision: 338323 URL: http://llvm.org/viewvc/llvm-project?rev=338323&view=rev Log: [analyzer] [tests] Add an option for showing statistics after running tests. Do not show statistics by default. Modified: cfe/trunk/utils/analyzer/Cm

r338667 - [analyzer] Extend NoStoreFuncVisitor to follow fields.

2018-08-01 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Wed Aug 1 19:02:40 2018 New Revision: 338667 URL: http://llvm.org/viewvc/llvm-project?rev=338667&view=rev Log: [analyzer] Extend NoStoreFuncVisitor to follow fields. rdar://39701823 Differential Revision: https://reviews.llvm.org/D49901 Modified: cfe/trunk/li

r338753 - [analyzer] Forward arguments in registerChecker to avoid accidental copies

2018-08-02 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Thu Aug 2 11:17:01 2018 New Revision: 338753 URL: http://llvm.org/viewvc/llvm-project?rev=338753&view=rev Log: [analyzer] Forward arguments in registerChecker to avoid accidental copies Differential Revision: https://reviews.llvm.org/D50108 Modified: cfe/trunk

r338756 - [analyzer] Fix tests.

2018-08-02 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Thu Aug 2 11:41:25 2018 New Revision: 338756 URL: http://llvm.org/viewvc/llvm-project?rev=338756&view=rev Log: [analyzer] Fix tests. Modified: cfe/trunk/test/Analysis/analyzer-config.c cfe/trunk/test/Analysis/analyzer-config.cpp Modified: cfe/trunk/test/An

Re: r338667 - [analyzer] Extend NoStoreFuncVisitor to follow fields.

2018-08-03 Thread George Karpenkov via cfe-commits
Yeah, saw that as well, fix coming. > On Aug 3, 2018, at 10:32 AM, Alexander Kornienko wrote: > > > > On Thu, Aug 2, 2018 at 4:03 AM George Karpenkov via cfe-commits > mailto:cfe-commits@lists.llvm.org>> wrote: > Author: george.karpenkov > Date: Wed Aug

r338935 - [analyzer] Do not crash in NoStoreFuncVisitor notes if an unexpected region is found.

2018-08-03 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Fri Aug 3 16:19:07 2018 New Revision: 338935 URL: http://llvm.org/viewvc/llvm-project?rev=338935&view=rev Log: [analyzer] Do not crash in NoStoreFuncVisitor notes if an unexpected region is found. Just do not generate the note at all in that case. Modified: c

Re: r338667 - [analyzer] Extend NoStoreFuncVisitor to follow fields.

2018-08-03 Thread George Karpenkov via cfe-commits
Should be fixed in trunk > On Aug 3, 2018, at 1:30 PM, George Karpenkov via cfe-commits > wrote: > > Yeah, saw that as well, fix coming. > >> On Aug 3, 2018, at 10:32 AM, Alexander Kornienko > <mailto:ale...@google.com>> wrote: >> >> >>

r324362 - [analyzer] [tests] Show function name in CmpRuns output

2018-02-06 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Feb 6 09:22:09 2018 New Revision: 324362 URL: http://llvm.org/viewvc/llvm-project?rev=324362&view=rev Log: [analyzer] [tests] Show function name in CmpRuns output Combined with enabled flag for stable filenames, this greatly simplifies finding the offending rep

r324507 - [analyzer] [NFC] Factor out generating path diagnostics for a statement into a function

2018-02-07 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Wed Feb 7 11:56:52 2018 New Revision: 324507 URL: http://llvm.org/viewvc/llvm-project?rev=324507&view=rev Log: [analyzer] [NFC] Factor out generating path diagnostics for a statement into a function Differential Revision: https://reviews.llvm.org/D42558 Modified:

r324652 - [analyzer] [tests] Test different projects concurrently

2018-02-08 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Thu Feb 8 13:22:42 2018 New Revision: 324652 URL: http://llvm.org/viewvc/llvm-project?rev=324652&view=rev Log: [analyzer] [tests] Test different projects concurrently Differential Revision: https://reviews.llvm.org/D43031 Modified: cfe/trunk/utils/analyzer/SAT

r324759 - [analyzer] [tests] [NFC] Remove a fragile tightly-coupled component emulating parser output

2018-02-09 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Fri Feb 9 10:39:47 2018 New Revision: 324759 URL: http://llvm.org/viewvc/llvm-project?rev=324759&view=rev Log: [analyzer] [tests] [NFC] Remove a fragile tightly-coupled component emulating parser output ...when we can just use the real parser instead. Differentia

r324762 - [analyzer] [tests] Fixing an error after non-atomic cherry-pick

2018-02-09 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Fri Feb 9 10:48:31 2018 New Revision: 324762 URL: http://llvm.org/viewvc/llvm-project?rev=324762&view=rev Log: [analyzer] [tests] Fixing an error after non-atomic cherry-pick Modified: cfe/trunk/utils/analyzer/CmpRuns.py Modified: cfe/trunk/utils/analyzer/CmpR

r324780 - [NFC] Extract method to SourceManager for traversing the macro "stack"

2018-02-09 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Fri Feb 9 15:30:07 2018 New Revision: 324780 URL: http://llvm.org/viewvc/llvm-project?rev=324780&view=rev Log: [NFC] Extract method to SourceManager for traversing the macro "stack" The code for going up the macro arg expansion is duplicated in many places (and we

r324785 - [analyzer] Introduce statistics for the total number of visited basic blocks

2018-02-09 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Fri Feb 9 15:37:47 2018 New Revision: 324785 URL: http://llvm.org/viewvc/llvm-project?rev=324785&view=rev Log: [analyzer] Introduce statistics for the total number of visited basic blocks Differential Revision: https://reviews.llvm.org/D43133 Modified: cfe/tru

r324793 - [analyzer] Serialize statistics to plist when serialize-stats=true is set

2018-02-09 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Fri Feb 9 17:49:20 2018 New Revision: 324793 URL: http://llvm.org/viewvc/llvm-project?rev=324793&view=rev Log: [analyzer] Serialize statistics to plist when serialize-stats=true is set Differential Revision: https://reviews.llvm.org/D43131 Added: cfe/trunk/tes

r324946 - [analyzer] [tests] Fix a typo in analyzer testing script.

2018-02-12 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Feb 12 14:13:01 2018 New Revision: 324946 URL: http://llvm.org/viewvc/llvm-project?rev=324946&view=rev Log: [analyzer] [tests] Fix a typo in analyzer testing script. Incorrect option instance construction. Modified: cfe/trunk/utils/analyzer/SATestBuild.py

r324956 - [analyzer] Exploration strategy prioritizing unexplored coverage first

2018-02-12 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Feb 12 14:39:57 2018 New Revision: 324956 URL: http://llvm.org/viewvc/llvm-project?rev=324956&view=rev Log: [analyzer] Exploration strategy prioritizing unexplored coverage first See reviews.llvm.org/M1 for evaluation, and lists.llvm.org/pipermail/cfe-dev/2018-J

r325070 - [analyzer] [tests] Update CmpRuns to write to stdout correctly in multithreaded environment

2018-02-13 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Feb 13 15:36:01 2018 New Revision: 325070 URL: http://llvm.org/viewvc/llvm-project?rev=325070&view=rev Log: [analyzer] [tests] Update CmpRuns to write to stdout correctly in multithreaded environment Modified: cfe/trunk/utils/analyzer/CmpRuns.py cfe/tru

r325975 - [analyzer] Consider switch- and goto- labels when constructing the set of executed lines

2018-02-23 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Fri Feb 23 15:26:54 2018 New Revision: 325975 URL: http://llvm.org/viewvc/llvm-project?rev=325975&view=rev Log: [analyzer] Consider switch- and goto- labels when constructing the set of executed lines When viewing the report in the collapsed mode the label signifyi

r325976 - [analyzer] mark returns of functions where the region passed as parameter was not initialized

2018-02-23 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Fri Feb 23 15:26:56 2018 New Revision: 325976 URL: http://llvm.org/viewvc/llvm-project?rev=325976&view=rev Log: [analyzer] mark returns of functions where the region passed as parameter was not initialized In the wild, many cases of null pointer dereference, or uni

r325977 - [analyzer] Relax the assert used when traversing the node graph.

2018-02-23 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Fri Feb 23 15:26:57 2018 New Revision: 325977 URL: http://llvm.org/viewvc/llvm-project?rev=325977&view=rev Log: [analyzer] Relax the assert used when traversing the node graph. The assertion gets exposed when changing the exploration order. This is a quick hacky fix

r326122 - [analyzer] Quickfix: do not overflow in calculating offset in RegionManager

2018-02-26 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Feb 26 13:03:06 2018 New Revision: 326122 URL: http://llvm.org/viewvc/llvm-project?rev=326122&view=rev Log: [analyzer] Quickfix: do not overflow in calculating offset in RegionManager Addresses https://bugs.llvm.org/show_bug.cgi?id=36206 rdar://37159026 A prop

r326131 - Revert "[analyzer] Quickfix: do not overflow in calculating offset in RegionManager"

2018-02-26 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Feb 26 13:32:57 2018 New Revision: 326131 URL: http://llvm.org/viewvc/llvm-project?rev=326131&view=rev Log: Revert "[analyzer] Quickfix: do not overflow in calculating offset in RegionManager" This reverts commit df306c4c5ab4a6b8d3c47432346d1f9b90c328b4. Rever

r326136 - [analyzer] Exploration strategy prioritizing unexplored nodes first

2018-02-26 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Feb 26 14:14:18 2018 New Revision: 326136 URL: http://llvm.org/viewvc/llvm-project?rev=326136&view=rev Log: [analyzer] Exploration strategy prioritizing unexplored nodes first See D42775 for discussion. Turns out, just exploring nodes which weren't explored fir

r326135 - [analyzer] Do not analyze bison-generated files

2018-02-26 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Feb 26 14:14:16 2018 New Revision: 326135 URL: http://llvm.org/viewvc/llvm-project?rev=326135&view=rev Log: [analyzer] Do not analyze bison-generated files Bison/YACC generated files result in a very large number of (presumably) false positives from the analyzer

r326152 - Revert "Revert "[analyzer] Quickfix: do not overflow in calculating offset in RegionManager""

2018-02-26 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Feb 26 16:05:04 2018 New Revision: 326152 URL: http://llvm.org/viewvc/llvm-project?rev=326152&view=rev Log: Revert "Revert "[analyzer] Quickfix: do not overflow in calculating offset in RegionManager"" This reverts commit c4cc41166d93178a3ddd4b2b5a685cf74a45924

r326155 - [analyzer] Logging test quickfix.

2018-02-26 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Feb 26 17:13:28 2018 New Revision: 326155 URL: http://llvm.org/viewvc/llvm-project?rev=326155&view=rev Log: [analyzer] Logging test quickfix. Modified: cfe/trunk/test/Analysis/region_store_overflow.c Modified: cfe/trunk/test/Analysis/region_store_overflow.c

r326156 - [analyzer] Logging test typo quickfix.

2018-02-26 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Feb 26 17:31:06 2018 New Revision: 326156 URL: http://llvm.org/viewvc/llvm-project?rev=326156&view=rev Log: [analyzer] Logging test typo quickfix. Modified: cfe/trunk/test/Analysis/region_store_overflow.c Modified: cfe/trunk/test/Analysis/region_store_overf

r326157 - [analyzer] Switch the default exploration strategy to priority queue based on coverage

2018-02-26 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Feb 26 17:31:56 2018 New Revision: 326157 URL: http://llvm.org/viewvc/llvm-project?rev=326157&view=rev Log: [analyzer] Switch the default exploration strategy to priority queue based on coverage After the investigation it seems safe to flip the switch. Differe

r321320 - [analyzer] Add Javascript to analyzer HTML output to allow keyboard navigation.

2017-12-21 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Thu Dec 21 14:57:51 2017 New Revision: 321320 URL: http://llvm.org/viewvc/llvm-project?rev=321320&view=rev Log: [analyzer] Add Javascript to analyzer HTML output to allow keyboard navigation. Differential Revision: https://reviews.llvm.org/D41414 Modified: cfe/

Re: [PATCH] D41414: [analyzer] Add keyboard j/k navigation to HTML reports

2018-01-02 Thread George Karpenkov via cfe-commits
This patch has already landed — also IIRC e.g. vim on dvorak also uses hjkl navigation with no issues. > On Dec 25, 2017, at 11:21 AM, David Blaikie wrote: > > any chance this can be implemented based on keyboard layout, so it's good for > dvorak users as well? (maybe it already is, I don't kn

r321682 - [analyzer] do not crash with assertion on processing locations of bodyfarmed functions

2018-01-02 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Jan 2 15:05:47 2018 New Revision: 321682 URL: http://llvm.org/viewvc/llvm-project?rev=321682&view=rev Log: [analyzer] do not crash with assertion on processing locations of bodyfarmed functions This addresses an issue introduced in r183451: since `removePieces

r322149 - [analyzer] suppress nullability inference from a macro when result is used in another macro

2018-01-09 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Jan 9 17:22:14 2018 New Revision: 322149 URL: http://llvm.org/viewvc/llvm-project?rev=322149&view=rev Log: [analyzer] suppress nullability inference from a macro when result is used in another macro The current code used to not suppress the report, if the dere

r322150 - [analyzer] [NFC] minor FindLastStoreBRVisitor refactoring

2018-01-09 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Jan 9 17:30:31 2018 New Revision: 322150 URL: http://llvm.org/viewvc/llvm-project?rev=322150&view=rev Log: [analyzer] [NFC] minor FindLastStoreBRVisitor refactoring Differential Revision: https://reviews.llvm.org/D41790 Modified: cfe/trunk/lib/StaticAnalyz

r322151 - [analyzer] [NFC] Minor refactoring of trackNullOrUndefValue

2018-01-09 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Jan 9 17:30:32 2018 New Revision: 322151 URL: http://llvm.org/viewvc/llvm-project?rev=322151&view=rev Log: [analyzer] [NFC] Minor refactoring of trackNullOrUndefValue Simple refactoring attempt: factor out some code, remove some repetition, use auto where appro

r326229 - [analyzer] Logging test quickfix #2.

2018-02-27 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Feb 27 11:19:43 2018 New Revision: 326229 URL: http://llvm.org/viewvc/llvm-project?rev=326229&view=rev Log: [analyzer] Logging test quickfix #2. Modified: cfe/trunk/test/Analysis/region_store_overflow.c Modified: cfe/trunk/test/Analysis/region_store_overflo

r326230 - [analyzer] Quickfix: don't crash when runtime definition is not available.

2018-02-27 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Feb 27 11:19:49 2018 New Revision: 326230 URL: http://llvm.org/viewvc/llvm-project?rev=326230&view=rev Log: [analyzer] Quickfix: don't crash when runtime definition is not available. Modified: cfe/trunk/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp Modifi

r326233 - [analyzer] Only attempt to get the value of locations of known type

2018-02-27 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Feb 27 11:28:52 2018 New Revision: 326233 URL: http://llvm.org/viewvc/llvm-project?rev=326233&view=rev Log: [analyzer] Only attempt to get the value of locations of known type Fixes https://bugs.llvm.org/show_bug.cgi?id=36474 In general, getSVal API should be c

r326234 - [analyzer] Remove redundant check

2018-02-27 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Feb 27 11:28:52 2018 New Revision: 326234 URL: http://llvm.org/viewvc/llvm-project?rev=326234&view=rev Log: [analyzer] Remove redundant check There is no point in assigning void just to crash on it in the next line Differential Revision: https://reviews.llvm.or

Re: r326156 - [analyzer] Logging test typo quickfix.

2018-02-27 Thread George Karpenkov via cfe-commits
should be fine now. > On Feb 27, 2018, at 12:04 AM, Yvan Roux wrote: > > Hi George, > > On 27 February 2018 at 02:31, George Karpenkov via cfe-commits > mailto:cfe-commits@lists.llvm.org>> wrote: >> Author: george.karpenkov >> Date: Mon Feb 26 17:31:06 201

r326295 - [analyzer] [tests] Write to logfile instead of stdout while updating

2018-02-27 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Feb 27 17:55:23 2018 New Revision: 326295 URL: http://llvm.org/viewvc/llvm-project?rev=326295&view=rev Log: [analyzer] [tests] Write to logfile instead of stdout while updating reference results Modified: cfe/trunk/utils/analyzer/SATestUpdateDiffs.py Modif

r326408 - [analyzer] [tests] Create a directory for the log file

2018-02-28 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Wed Feb 28 18:18:54 2018 New Revision: 326408 URL: http://llvm.org/viewvc/llvm-project?rev=326408&view=rev Log: [analyzer] [tests] Create a directory for the log file Modified: cfe/trunk/utils/analyzer/SATestUpdateDiffs.py Modified: cfe/trunk/utils/analyzer/SAT

r326518 - [analyzer] [NFC] [tests] Make test more resilient to changes in exploration strategy

2018-03-01 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Thu Mar 1 16:54:05 2018 New Revision: 326518 URL: http://llvm.org/viewvc/llvm-project?rev=326518&view=rev Log: [analyzer] [NFC] [tests] Make test more resilient to changes in exploration strategy Modified: cfe/trunk/test/Analysis/MisusedMovedObject.cpp Modifi

r326520 - [analyzer] Prevent crashing in NonNullParamChecker

2018-03-01 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Thu Mar 1 16:55:59 2018 New Revision: 326520 URL: http://llvm.org/viewvc/llvm-project?rev=326520&view=rev Log: [analyzer] Prevent crashing in NonNullParamChecker https://bugs.llvm.org/show_bug.cgi?id=36381 rdar://37543426 Turns out, the type passed for the lambda

r326529 - [analyzer] [tests] Again, make tests more resilient to changes in exploration strategy

2018-03-01 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Thu Mar 1 17:41:19 2018 New Revision: 326529 URL: http://llvm.org/viewvc/llvm-project?rev=326529&view=rev Log: [analyzer] [tests] Again, make tests more resilient to changes in exploration strategy Modified: cfe/trunk/test/Analysis/MisusedMovedObject.cpp c

r326619 - [analyzer] Don't throw NSNumberObjectConversion warning on object initialization in if-expression

2018-03-02 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Fri Mar 2 13:34:24 2018 New Revision: 326619 URL: http://llvm.org/viewvc/llvm-project?rev=326619&view=rev Log: [analyzer] Don't throw NSNumberObjectConversion warning on object initialization in if-expression ``` if (NSNumber* x = ...) ``` is a reasonable pattern

r326746 - [analyzer] AST-matching checker to detect global central dispatch performance anti-pattern

2018-03-05 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Mar 5 14:03:32 2018 New Revision: 326746 URL: http://llvm.org/viewvc/llvm-project?rev=326746&view=rev Log: [analyzer] AST-matching checker to detect global central dispatch performance anti-pattern rdar://37312818 NB: The checker does not care about the order

r326755 - [analyzer] [quickfix] Prevent a crash in NamedDecl::getName()

2018-03-05 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Mar 5 16:18:21 2018 New Revision: 326755 URL: http://llvm.org/viewvc/llvm-project?rev=326755&view=rev Log: [analyzer] [quickfix] Prevent a crash in NamedDecl::getName() Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/GCDAsyncSemaphoreChecker.cpp cfe/tru

Re: r326746 - [analyzer] AST-matching checker to detect global central dispatch performance anti-pattern

2018-03-06 Thread George Karpenkov via cfe-commits
Yep, sorry, bad typing skills. > On Mar 6, 2018, at 2:44 AM, Alexander Kornienko wrote: > > On Tue, Mar 6, 2018 at 11:03 AM Alexander Kornienko <mailto:ale...@google.com>> wrote: > On Mon, Mar 5, 2018 at 11:05 PM George Karpenkov via cfe-commits > mailto:cfe-commit

r326865 - [ASTMatcher] Extend hasAnyArgument to ObjCMessageExpr

2018-03-06 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Mar 6 18:32:44 2018 New Revision: 326865 URL: http://llvm.org/viewvc/llvm-project?rev=326865&view=rev Log: [ASTMatcher] Extend hasAnyArgument to ObjCMessageExpr Currently hasArgument works with both ObjC messages and function calls, but not hasAnyArgument. This

r326868 - [analyzer] Fix the checker for the performance anti-pattern to accept messages

2018-03-06 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Mar 6 18:54:01 2018 New Revision: 326868 URL: http://llvm.org/viewvc/llvm-project?rev=326868&view=rev Log: [analyzer] Fix the checker for the performance anti-pattern to accept messages send to ObjC objects. Differential Revision: https://reviews.llvm.org/D441

r326935 - [analyzer] [NFC] Minor refactoring of NonNullParamChecker

2018-03-07 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Wed Mar 7 11:27:32 2018 New Revision: 326935 URL: http://llvm.org/viewvc/llvm-project?rev=326935&view=rev Log: [analyzer] [NFC] Minor refactoring of NonNullParamChecker Differential Revision: https://reviews.llvm.org/D43917 Modified: cfe/trunk/lib/StaticAnalyz

r326951 - [analyzer] Don't crash with assertion failure on structured bindings

2018-03-07 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Wed Mar 7 14:20:35 2018 New Revision: 326951 URL: http://llvm.org/viewvc/llvm-project?rev=326951&view=rev Log: [analyzer] Don't crash with assertion failure on structured bindings Proper modeling still remains to be done. Note that BindingDecl#getHoldingVar() is al

r326952 - [analyzer] [PointerArithChecker] do not warn on indexes into vector types

2018-03-07 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Wed Mar 7 14:20:39 2018 New Revision: 326952 URL: http://llvm.org/viewvc/llvm-project?rev=326952&view=rev Log: [analyzer] [PointerArithChecker] do not warn on indexes into vector types rdar://35041502 Differential Revision: https://reviews.llvm.org/D44172 Modifie

r326982 - [analyzer] Correctly model iteration through "nil" objects

2018-03-07 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Wed Mar 7 18:53:39 2018 New Revision: 326982 URL: http://llvm.org/viewvc/llvm-project?rev=326982&view=rev Log: [analyzer] Correctly model iteration through "nil" objects Previously, iteration through nil objects which resulted from objc-messages being set to nil we

r327309 - [analyzer] Move the GCDAsyncSemaphoreChecker to optin.performance

2018-03-12 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Mar 12 11:27:36 2018 New Revision: 327309 URL: http://llvm.org/viewvc/llvm-project?rev=327309&view=rev Log: [analyzer] Move the GCDAsyncSemaphoreChecker to optin.performance rdar://38383753 Differential Revision: https://reviews.llvm.org/D44228 Added: cfe/

r327426 - [analyzer] Fix the matcher for GCDAntipattern to look for "signal" call in all parameters

2018-03-13 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Mar 13 10:27:01 2018 New Revision: 327426 URL: http://llvm.org/viewvc/llvm-project?rev=327426&view=rev Log: [analyzer] Fix the matcher for GCDAntipattern to look for "signal" call in all parameters rdar://38405904 Modified: cfe/trunk/lib/StaticAnalyzer/Che

r327591 - [analyzer] Explicitly set an -std level for the analyzer test.

2018-03-14 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Wed Mar 14 16:50:18 2018 New Revision: 327591 URL: http://llvm.org/viewvc/llvm-project?rev=327591&view=rev Log: [analyzer] Explicitly set an -std level for the analyzer test. Modified: cfe/trunk/test/Analysis/nonnullparamchecker-crash.cpp Modified: cfe/trunk/te

r327727 - [analyzer] Fix crashes in RetainCountChecker when underlying region is not a var

2018-03-16 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Fri Mar 16 11:16:47 2018 New Revision: 327727 URL: http://llvm.org/viewvc/llvm-project?rev=327727&view=rev Log: [analyzer] Fix crashes in RetainCountChecker when underlying region is not a var For other regions, the error message contains a good indication of the pr

r327926 - [analyzer] Fix the assertion failure when static globals are used in lambda by reference

2018-03-19 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Mar 19 17:20:58 2018 New Revision: 327926 URL: http://llvm.org/viewvc/llvm-project?rev=327926&view=rev Log: [analyzer] Fix the assertion failure when static globals are used in lambda by reference Also use the opportunity to clean up the code and remove unneces

r327935 - [analyzer] Improve performance of NoStoreFuncVisitor

2018-03-19 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Mar 19 18:16:46 2018 New Revision: 327935 URL: http://llvm.org/viewvc/llvm-project?rev=327935&view=rev Log: [analyzer] Improve performance of NoStoreFuncVisitor Compute modifying frames lazily on demand. Differential Revision: https://reviews.llvm.org/D44503 M

r333612 - [analyzer] Trust _Nonnull annotations, and trust analyzer knowledge about receiver nullability

2018-05-30 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Wed May 30 17:28:13 2018 New Revision: 333612 URL: http://llvm.org/viewvc/llvm-project?rev=333612&view=rev Log: [analyzer] Trust _Nonnull annotations, and trust analyzer knowledge about receiver nullability Previously, the checker was using the nullability of the e

r334525 - [analyzer] [NFC] Unify Minimal and Extensive diagnostics.

2018-06-12 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Jun 12 12:08:00 2018 New Revision: 334525 URL: http://llvm.org/viewvc/llvm-project?rev=334525&view=rev Log: [analyzer] [NFC] Unify Minimal and Extensive diagnostics. Once we removed AlternateExtensive, I've looked closer into the difference between Minimal and E

r334526 - [analyzer] [NFC] Now let's have only one place for diagnostics generation

2018-06-12 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Jun 12 12:08:17 2018 New Revision: 334526 URL: http://llvm.org/viewvc/llvm-project?rev=334526&view=rev Log: [analyzer] [NFC] Now let's have only one place for diagnostics generation Differential Revision: https://reviews.llvm.org/D47808 Modified: cfe/trunk/

r334540 - [analyzer] [NFC] Remove most usages of getEndPath

2018-06-12 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Jun 12 13:50:44 2018 New Revision: 334540 URL: http://llvm.org/viewvc/llvm-project?rev=334540&view=rev Log: [analyzer] [NFC] Remove most usages of getEndPath getEndPath is a problematic API, because it's not clear when it's called (hint: not always at the end of

r334541 - [analyzer] [NFC] Move ::dump methods from BugReporter.cpp to PathDiagnostics.cpp

2018-06-12 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Jun 12 13:51:01 2018 New Revision: 334541 URL: http://llvm.org/viewvc/llvm-project?rev=334541&view=rev Log: [analyzer] [NFC] Move ::dump methods from BugReporter.cpp to PathDiagnostics.cpp BugReporter.cpp is already severely overloaded, and those dump methods ar

r334542 - [analyzer] [NFC] Remove "removeInvalidation" from visitor API

2018-06-12 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Jun 12 13:51:19 2018 New Revision: 334542 URL: http://llvm.org/viewvc/llvm-project?rev=334542&view=rev Log: [analyzer] [NFC] Remove "removeInvalidation" from visitor API removeInvalidation is a very problematic API, as it makes suppression order-dependent. Moreo

r334560 - [analyzer] Do not crash in the visitor when the function is given more arguments than it has parameters

2018-06-12 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Jun 12 16:53:54 2018 New Revision: 334560 URL: http://llvm.org/viewvc/llvm-project?rev=334560&view=rev Log: [analyzer] Do not crash in the visitor when the function is given more arguments than it has parameters rdar://40335545 Differential Revision: https://r

r334636 - [analyzer] Fix offset overflow check in MemRegion

2018-06-13 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Wed Jun 13 11:32:19 2018 New Revision: 334636 URL: http://llvm.org/viewvc/llvm-project?rev=334636&view=rev Log: [analyzer] Fix offset overflow check in MemRegion rdar://39593879 https://bugs.llvm.org/show_bug.cgi?id=37142 Differential Revision: https://reviews.llvm

r334965 - [analyzer] Remove accidentally committed lines.

2018-06-18 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Jun 18 10:59:03 2018 New Revision: 334965 URL: http://llvm.org/viewvc/llvm-project?rev=334965&view=rev Log: [analyzer] Remove accidentally committed lines. Modified: cfe/trunk/lib/StaticAnalyzer/Core/BugReporter.cpp Modified: cfe/trunk/lib/StaticAnalyzer/Co

r344311 - [analyzer] Retain count checker for OSObject: recognize OSDynamicCast

2018-10-11 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Thu Oct 11 15:59:16 2018 New Revision: 344311 URL: http://llvm.org/viewvc/llvm-project?rev=344311&view=rev Log: [analyzer] Retain count checker for OSObject: recognize OSDynamicCast For now, tresting the cast as a no-op, and disregarding the case where the output be

r344313 - [analyzer] Experiment with an iteration order only based on location, and not using the stack frame

2018-10-11 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Thu Oct 11 15:59:59 2018 New Revision: 344313 URL: http://llvm.org/viewvc/llvm-project?rev=344313&view=rev Log: [analyzer] Experiment with an iteration order only based on location, and not using the stack frame Differential Revision: https://reviews.llvm.org/D5305

r344312 - [analyzer] Avoid unneeded invalidation in RetainCountChecker

2018-10-11 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Thu Oct 11 15:59:38 2018 New Revision: 344312 URL: http://llvm.org/viewvc/llvm-project?rev=344312&view=rev Log: [analyzer] Avoid unneeded invalidation in RetainCountChecker Differential Revision: https://reviews.llvm.org/D53168 Modified: cfe/trunk/lib/StaticAn

r344322 - [analyzer] Fix a bug in unexplored_first_location_queue iteration order.

2018-10-11 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Thu Oct 11 17:52:13 2018 New Revision: 344322 URL: http://llvm.org/viewvc/llvm-project?rev=344322&view=rev Log: [analyzer] Fix a bug in unexplored_first_location_queue iteration order. Pointed out by Artem in post-commit review for https://reviews.llvm.org/D53058 M

r344663 - [analyzer] [www] Updated a list of open projects

2018-10-16 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Oct 16 18:06:20 2018 New Revision: 344663 URL: http://llvm.org/viewvc/llvm-project?rev=344663&view=rev Log: [analyzer] [www] Updated a list of open projects Differential Revision: https://reviews.llvm.org/D53024 Modified: cfe/trunk/www/analyzer/open_project

r344664 - [analyzer] [www] Minor improvements to the text in open_projects

2018-10-16 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Oct 16 18:15:53 2018 New Revision: 344664 URL: http://llvm.org/viewvc/llvm-project?rev=344664&view=rev Log: [analyzer] [www] Minor improvements to the text in open_projects Modified: cfe/trunk/www/analyzer/open_projects.html Modified: cfe/trunk/www/analyzer

r344991 - [analyzer] [www] Drop references to GC mode, which was deprecated years ago

2018-10-22 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Oct 22 18:30:45 2018 New Revision: 344991 URL: http://llvm.org/viewvc/llvm-project?rev=344991&view=rev Log: [analyzer] [www] Drop references to GC mode, which was deprecated years ago Differential Revision: https://reviews.llvm.org/D53302 Removed: cfe/trunk

r344990 - [analyzer] [testing] Compute data on path length, compute percentiles

2018-10-22 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Oct 22 18:30:26 2018 New Revision: 344990 URL: http://llvm.org/viewvc/llvm-project?rev=344990&view=rev Log: [analyzer] [testing] Compute data on path length, compute percentiles Differential Revision: https://reviews.llvm.org/D52844 Modified: cfe/trunk/util

r344992 - [analyzer] [NFC] Correct comment on RetainSummaryManager

2018-10-22 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Oct 22 18:31:08 2018 New Revision: 344992 URL: http://llvm.org/viewvc/llvm-project?rev=344992&view=rev Log: [analyzer] [NFC] Correct comment on RetainSummaryManager Differential Revision: https://reviews.llvm.org/D53548 Modified: cfe/trunk/include/clang/Sta

r345064 - [analyzer] Rename trackNullOrUndefValue to trackExpressionValue

2018-10-23 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Oct 23 11:24:53 2018 New Revision: 345064 URL: http://llvm.org/viewvc/llvm-project?rev=345064&view=rev Log: [analyzer] Rename trackNullOrUndefValue to trackExpressionValue trackNullOrUndefValue is a long and confusing name, and it does not actually reflect what

r345099 - [analyzer] Trust summaries for OSObject::retain and OSObject::release

2018-10-23 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Oct 23 16:11:30 2018 New Revision: 345099 URL: http://llvm.org/viewvc/llvm-project?rev=345099&view=rev Log: [analyzer] Trust summaries for OSObject::retain and OSObject::release Refactor the way in which summaries are consumed for safeMetaCast Differential Revi

r345100 - [analyzer] Do not stop tracking CXX methods touching OSObject.

2018-10-23 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Oct 23 16:11:50 2018 New Revision: 345100 URL: http://llvm.org/viewvc/llvm-project?rev=345100&view=rev Log: [analyzer] Do not stop tracking CXX methods touching OSObject. Trust generalized annotations for OSObject. Differential Revision: https://reviews.llvm.or

r345101 - [analyzer] [NFC] Change scanReachableSymbols to use ranges

2018-10-23 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Tue Oct 23 16:12:12 2018 New Revision: 345101 URL: http://llvm.org/viewvc/llvm-project?rev=345101&view=rev Log: [analyzer] [NFC] Change scanReachableSymbols to use ranges Remove unused overload. Clean up some usages. Differential Revision: https://reviews.llvm.org/

r345340 - [analyzer] [RetainCountChecker] Do not invalidate references passed to constructors and operators

2018-10-25 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Thu Oct 25 16:38:41 2018 New Revision: 345340 URL: http://llvm.org/viewvc/llvm-project?rev=345340&view=rev Log: [analyzer] [RetainCountChecker] Do not invalidate references passed to constructors and operators Differential Revision: https://reviews.llvm.org/D53660

r345338 - [analyzer] Correct modelling of OSDynamicCast: eagerly state split

2018-10-25 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Thu Oct 25 16:38:07 2018 New Revision: 345338 URL: http://llvm.org/viewvc/llvm-project?rev=345338&view=rev Log: [analyzer] Correct modelling of OSDynamicCast: eagerly state split Previously, OSDynamicCast was modeled as an identity. This is not correct: the output

r345339 - [analyzer] Remove custom rule for OSIterator in RetainCountChecker

2018-10-25 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Thu Oct 25 16:38:24 2018 New Revision: 345339 URL: http://llvm.org/viewvc/llvm-project?rev=345339&view=rev Log: [analyzer] Remove custom rule for OSIterator in RetainCountChecker Differential Revision: https://reviews.llvm.org/D53628 Modified: cfe/trunk/lib/Sta

r345341 - [analyzer] Fix a bug in "collapsed" graph viewer

2018-10-25 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Thu Oct 25 16:38:58 2018 New Revision: 345341 URL: http://llvm.org/viewvc/llvm-project?rev=345341&view=rev Log: [analyzer] Fix a bug in "collapsed" graph viewer Nodes which have only one predecessor and only one successor can not always be hidden, even if all states

r350942 - [attributes] Extend os_returns_(not_?)_retained attributes to parameters

2019-01-11 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Fri Jan 11 10:02:08 2019 New Revision: 350942 URL: http://llvm.org/viewvc/llvm-project?rev=350942&view=rev Log: [attributes] Extend os_returns_(not_?)_retained attributes to parameters When applied to out-parameters, the attributes specify the expected lifetime of

r350982 - [analyzer] Support for OSObjects out parameters in RetainCountChecker

2019-01-11 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Fri Jan 11 15:35:17 2019 New Revision: 350982 URL: http://llvm.org/viewvc/llvm-project?rev=350982&view=rev Log: [analyzer] Support for OSObjects out parameters in RetainCountChecker rdar://46357478 rdar://47121327 Differential Revision: https://reviews.llvm.org/D56

r350981 - [analyzer] Introduce a convenience method for getting a CallEvent from an arbitrary Stmt

2019-01-11 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Fri Jan 11 15:35:04 2019 New Revision: 350981 URL: http://llvm.org/viewvc/llvm-project?rev=350981&view=rev Log: [analyzer] Introduce a convenience method for getting a CallEvent from an arbitrary Stmt Differential Revision: https://reviews.llvm.org/D56300 Modified

r351096 - [analyzer] [NFC] Remove unused undefined method.

2019-01-14 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Jan 14 10:54:35 2019 New Revision: 351096 URL: http://llvm.org/viewvc/llvm-project?rev=351096&view=rev Log: [analyzer] [NFC] Remove unused undefined method. Wow, at no point the linker or compiler complaints about that! Modified: cfe/trunk/lib/StaticAnalyz

r351097 - [analyzer] [PR39792] false positive on strcpy targeting struct members

2019-01-14 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Mon Jan 14 10:54:48 2019 New Revision: 351097 URL: http://llvm.org/viewvc/llvm-project?rev=351097&view=rev Log: [analyzer] [PR39792] false positive on strcpy targeting struct members Patch by Pierre van Houtryve. Differential Revision: https://reviews.llvm.org/D552

r351393 - [analyzer] [NFC] Yet another minor cleanup of RetainCountChecker

2019-01-16 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Wed Jan 16 15:21:15 2019 New Revision: 351393 URL: http://llvm.org/viewvc/llvm-project?rev=351393&view=rev Log: [analyzer] [NFC] Yet another minor cleanup of RetainCountChecker Differential Revision: https://reviews.llvm.org/D56744 Modified: cfe/trunk/lib/Stat

r351394 - [analyzer] Another RetainCountChecker cleanup

2019-01-16 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Wed Jan 16 15:21:38 2019 New Revision: 351394 URL: http://llvm.org/viewvc/llvm-project?rev=351394&view=rev Log: [analyzer] Another RetainCountChecker cleanup This is not NFC strictly speaking, since it unifies CleanupAttr handling, so that out parameters now also un

r351508 - [analyzer] [RetainCountChecker] Smart pointer support.

2019-01-17 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Thu Jan 17 19:12:35 2019 New Revision: 351508 URL: http://llvm.org/viewvc/llvm-project?rev=351508&view=rev Log: [analyzer] [RetainCountChecker] Smart pointer support. rdar://47323216 Differential Revision: https://reviews.llvm.org/D56817 Added: cfe/trunk/test/

r351509 - [analyzer] [RetainCountChecker] Produce a correct message when OSTypeAlloc is used

2019-01-17 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Thu Jan 17 19:12:48 2019 New Revision: 351509 URL: http://llvm.org/viewvc/llvm-project?rev=351509&view=rev Log: [analyzer] [RetainCountChecker] Produce a correct message when OSTypeAlloc is used Differential Revision: https://reviews.llvm.org/D56820 Modified:

r351510 - [analyzer] Extend BugType constructor to accept "SuppressOnSink" as a parameter

2019-01-17 Thread George Karpenkov via cfe-commits
Author: george.karpenkov Date: Thu Jan 17 19:13:01 2019 New Revision: 351510 URL: http://llvm.org/viewvc/llvm-project?rev=351510&view=rev Log: [analyzer] Extend BugType constructor to accept "SuppressOnSink" as a parameter Differential Revision: https://reviews.llvm.org/D56884 Modified: cfe/

<    1   2   3   4   5   >