Re: [PATCH] D18280: [tsan] Allow -fsanitize=thread for iOS-style simulator targets

2016-03-20 Thread Devin Coughlin via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL263913: [tsan] Allow -fsanitize=thread for iOS-style simulator targets (authored by dcoughlin). Changed prior to commit: http://reviews.llvm.org/D18280?vs=51076&id=51132#toc Repository: rL LLVM http

r263913 - [tsan] Allow -fsanitize=thread for iOS-style simulator targets

2016-03-20 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Sun Mar 20 13:24:33 2016 New Revision: 263913 URL: http://llvm.org/viewvc/llvm-project?rev=263913&view=rev Log: [tsan] Allow -fsanitize=thread for iOS-style simulator targets Update the clang driver to allow -fsanitize=thread when targeting x86_64 iOS and tvOS simulators.

Re: [PATCH] D18280: [tsan] Allow -fsanitize=thread for iOS-style simulator targets

2016-03-19 Thread Devin Coughlin via cfe-commits
dcoughlin updated this revision to Diff 51076. dcoughlin added a comment. Added tests for iOS and iOS simulators. http://reviews.llvm.org/D18280 Files: lib/Driver/ToolChains.cpp test/Driver/fsanitize.c Index: test/Driver/fsanitize.c =

Re: [PATCH] D18280: [tsan] Allow -fsanitize=thread for iOS-style simulator targets

2016-03-18 Thread Devin Coughlin via cfe-commits
dcoughlin added a comment. There is a related patch for compiler-rt at http://reviews.llvm.org/D18277 http://reviews.llvm.org/D18280 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D16044: getVariableName() for MemRegion

2016-03-07 Thread Devin Coughlin via cfe-commits
dcoughlin added inline comments. Comment at: include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:160 @@ -153,1 +159,3 @@ + /// \returns variable name for memory region + std::string getVariableName() const; }; Alexander_Droste wrote: > dcoughlin wrote:

Re: [PATCH] D16044: getVariableName() for MemRegion

2016-03-06 Thread Devin Coughlin via cfe-commits
dcoughlin added a comment. Hi Alexander, Some comments in line. Also, I don't see any tests. Is this code tested by your MPI patch? Comment at: include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:160 @@ -153,1 +159,3 @@ + /// \returns variable name for memory region +

r262763 - [analyzer] Nullability: add option to not report on calls to system headers.

2016-03-04 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Fri Mar 4 19:32:43 2016 New Revision: 262763 URL: http://llvm.org/viewvc/llvm-project?rev=262763&view=rev Log: [analyzer] Nullability: add option to not report on calls to system headers. Add an -analyzer-config 'nullability:NoDiagnoseCallsToSystemHeaders' option to the n

r262729 - [analyzer] Add diagnostic in ObjCDeallocChecker for use of -dealloc instead of -release.

2016-03-04 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Fri Mar 4 12:09:58 2016 New Revision: 262729 URL: http://llvm.org/viewvc/llvm-project?rev=262729&view=rev Log: [analyzer] Add diagnostic in ObjCDeallocChecker for use of -dealloc instead of -release. In dealloc methods, the analyzer now warns when -dealloc is called dire

r262659 - [analyzer] ObjCDeallocChecker: Only check for nil-out when type is retainable.

2016-03-03 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Thu Mar 3 15:38:39 2016 New Revision: 262659 URL: http://llvm.org/viewvc/llvm-project?rev=262659&view=rev Log: [analyzer] ObjCDeallocChecker: Only check for nil-out when type is retainable. This fixes a crash when setting a property of struct type in -dealloc. Modified:

r262526 - [analyzer] Move ObjCSuperDeallocChecker out of the alpha package.

2016-03-02 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Wed Mar 2 16:01:03 2016 New Revision: 262526 URL: http://llvm.org/viewvc/llvm-project?rev=262526&view=rev Log: [analyzer] Move ObjCSuperDeallocChecker out of the alpha package. It will now be on by default on Darwin. rdar://problem/6953275 Modified: cfe/trunk/lib/St

r262524 - [analyzer] Move ObjCDeallocChecker out of the alpha package.

2016-03-02 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Wed Mar 2 15:50:54 2016 New Revision: 262524 URL: http://llvm.org/viewvc/llvm-project?rev=262524&view=rev Log: [analyzer] Move ObjCDeallocChecker out of the alpha package. It will now be on by default on Darwin. rdar://problem/6927496 Modified: cfe/trunk/lib/StaticA

r262520 - [analyzer] Fix capitalization in ObjCSuperDeallocChecker diagnostic.

2016-03-02 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Wed Mar 2 15:22:48 2016 New Revision: 262520 URL: http://llvm.org/viewvc/llvm-project?rev=262520&view=rev Log: [analyzer] Fix capitalization in ObjCSuperDeallocChecker diagnostic. Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp cfe/trun

r262277 - [analyzer] Update CheckObjCDealloc diagnostic for missing -dealloc.

2016-02-29 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Mon Feb 29 18:39:04 2016 New Revision: 262277 URL: http://llvm.org/viewvc/llvm-project?rev=262277&view=rev Log: [analyzer] Update CheckObjCDealloc diagnostic for missing -dealloc. Update the diagnostic for classes missing -dealloc to mention an instance variable that needs

r262272 - [analyzer] Teach CheckObjCDealloc about Block_release().

2016-02-29 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Mon Feb 29 17:57:10 2016 New Revision: 262272 URL: http://llvm.org/viewvc/llvm-project?rev=262272&view=rev Log: [analyzer] Teach CheckObjCDealloc about Block_release(). It now treats Block_release(b) as a release in addition to [b release]. Modified: cfe/trunk/lib/Sta

r262261 - [analyzer] Don't treat calls to system headers as escaping in CheckObjCDealloc.

2016-02-29 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Mon Feb 29 15:44:08 2016 New Revision: 262261 URL: http://llvm.org/viewvc/llvm-project?rev=262261&view=rev Log: [analyzer] Don't treat calls to system headers as escaping in CheckObjCDealloc. This prevents false negatives when a -dealloc method, for example, removes itsel

r261970 - [analyzer] Prune some incorrect \param doc comment annotations.

2016-02-25 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Thu Feb 25 21:41:31 2016 New Revision: 261970 URL: http://llvm.org/viewvc/llvm-project?rev=261970&view=rev Log: [analyzer] Prune some incorrect \param doc comment annotations. Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp cfe/trunk/lib/Static

r261945 - [analyzer] Shorten ObjcSuperDeallocChecker diagnostics.

2016-02-25 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Thu Feb 25 18:47:42 2016 New Revision: 261945 URL: http://llvm.org/viewvc/llvm-project?rev=261945&view=rev Log: [analyzer] Shorten ObjcSuperDeallocChecker diagnostics. Change "use of 'self' after it has been freed with call to [super dealloc]" to "use of 'self' after it ha

r261944 - [analyzer] Fix a memory error in r261935 caught by the Windows bots.

2016-02-25 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Thu Feb 25 18:23:41 2016 New Revision: 261944 URL: http://llvm.org/viewvc/llvm-project?rev=261944&view=rev Log: [analyzer] Fix a memory error in r261935 caught by the Windows bots. It was using a temporary StringRef after its underlying storage was freed. Modified: cf

Re: [PATCH] D17528: [analyzer] Warn on use of 'self' after call to to [super dealloc].

2016-02-25 Thread Devin Coughlin via cfe-commits
This revision was automatically updated to reflect the committed changes. dcoughlin marked an inline comment as done. Closed by commit rL261935: [analyzer] Warn on use of 'self' after call to to [super dealloc]. (authored by dcoughlin). Changed prior to commit: http://reviews.llvm.org/D17528?vs

r261935 - [analyzer] Warn on use of 'self' after call to to [super dealloc].

2016-02-25 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Thu Feb 25 17:36:52 2016 New Revision: 261935 URL: http://llvm.org/viewvc/llvm-project?rev=261935&view=rev Log: [analyzer] Warn on use of 'self' after call to to [super dealloc]. Referring to 'self' after a call to [super dealloc] is a use-after-free in Objective-C because

Re: [PATCH] D17528: [analyzer] Warn on use of 'self' after call to to [super dealloc].

2016-02-25 Thread Devin Coughlin via cfe-commits
dcoughlin added inline comments. Comment at: lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp:165 @@ +164,3 @@ + if (Desc.empty()) +Desc = "use of 'self' after it is freed with call to [super dealloc]"; + zaks.anna wrote: > Does "has been freed" sound

r261929 - [analyzer] Reapply r261917 with a fix.

2016-02-25 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Thu Feb 25 15:15:16 2016 New Revision: 261929 URL: http://llvm.org/viewvc/llvm-project?rev=261929&view=rev Log: [analyzer] Reapply r261917 with a fix. This reapplies "[analyzer] Make ObjCDeallocChecker path sensitive." (r261917) with a fix for an error on some bots about s

r261921 - Revert "[analyzer] Make ObjCDeallocChecker path sensitive."

2016-02-25 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Thu Feb 25 13:13:43 2016 New Revision: 261921 URL: http://llvm.org/viewvc/llvm-project?rev=261921&view=rev Log: Revert "[analyzer] Make ObjCDeallocChecker path sensitive." This reverts commit r261917. It broke the bots. Modified: cfe/trunk/lib/StaticAnalyzer/Checkers/

Re: [PATCH] D17511: [analyzer] Make ObjCDeallocChecker path sensitive.

2016-02-25 Thread Devin Coughlin via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL261917: [analyzer] Make ObjCDeallocChecker path sensitive. (authored by dcoughlin). Changed prior to commit: http://reviews.llvm.org/D17511?vs=48995&id=49097#toc Repository: rL LLVM http://reviews.l

r261917 - [analyzer] Make ObjCDeallocChecker path sensitive.

2016-02-25 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Thu Feb 25 12:55:24 2016 New Revision: 261917 URL: http://llvm.org/viewvc/llvm-project?rev=261917&view=rev Log: [analyzer] Make ObjCDeallocChecker path sensitive. Convert the ObjCDeallocChecker to be path sensitive. The primary motivation for this change is to prevent fals

Re: [PATCH] D17511: [analyzer] Make ObjCDeallocChecker path sensitive.

2016-02-25 Thread Devin Coughlin via cfe-commits
dcoughlin added inline comments. Comment at: lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp:804 @@ +803,3 @@ +/// Returns true if there is a call to -dealloc anywhere on the stack and false +/// otherwise. If true, it also sets \param SelfValOut to the value of +/// 'self' in th

Re: [PATCH] D17511: [analyzer] Make ObjCDeallocChecker path sensitive.

2016-02-24 Thread Devin Coughlin via cfe-commits
dcoughlin added inline comments. Comment at: lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp:184 @@ -144,21 +183,3 @@ - // Determine if the class subclasses NSObject. - IdentifierInfo* NSObjectII = &Ctx.Idents.get("NSObject"); - IdentifierInfo* SenTestCaseII = &Ctx.Idents.ge

Re: [PATCH] D17511: [analyzer] Make ObjCDeallocChecker path sensitive.

2016-02-24 Thread Devin Coughlin via cfe-commits
dcoughlin updated this revision to Diff 48995. dcoughlin marked 8 inline comments as done. dcoughlin added a comment. This update addresses Anna's review comments. The big change is that the program state now maps instance symbols to sets of initial ivar symbols that must be released. (Rather th

r261703 - [analyzer] Find ObjC 'self' decl even when block captures local named 'self'.

2016-02-23 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Tue Feb 23 16:26:04 2016 New Revision: 261703 URL: http://llvm.org/viewvc/llvm-project?rev=261703&view=rev Log: [analyzer] Find ObjC 'self' decl even when block captures local named 'self'. When looking up the 'self' decl in block captures, make sure to find the actual sel

Re: [PATCH] D17511: [analyzer] Make ObjCDeallocChecker path sensitive.

2016-02-22 Thread Devin Coughlin via cfe-commits
dcoughlin added a subscriber: cfe-commits. dcoughlin updated this revision to Diff 48750. dcoughlin added a comment. Provide diff with context. Apologies for leaving that out. http://reviews.llvm.org/D17511 Files: lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp test/Analysis/DeallocMissing

[PATCH] D17528: [analyzer] Warn on use of 'self' after call to to [super dealloc].

2016-02-22 Thread Devin Coughlin via cfe-commits
dcoughlin created this revision. dcoughlin added a reviewer: zaks.anna. dcoughlin added a subscriber: cfe-commits. Referring to 'self' after a call to [super dealloc] is a use-after-free in Objective-C because NSObject's -dealloc frees the memory pointed to by self. This patch extends the ObjCS

Re: [PATCH] D5238: [analyzer] Detect duplicate [super dealloc] calls

2016-02-22 Thread Devin Coughlin via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL261545: [analyzer] Detect duplicate [super dealloc] calls (authored by dcoughlin). Changed prior to commit: http://reviews.llvm.org/D5238?vs=48447&id=48707#toc Repository: rL LLVM http://reviews.llv

r261545 - [analyzer] Detect duplicate [super dealloc] calls

2016-02-22 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Mon Feb 22 11:56:24 2016 New Revision: 261545 URL: http://llvm.org/viewvc/llvm-project?rev=261545&view=rev Log: [analyzer] Detect duplicate [super dealloc] calls Add an alpha path checker that warns about duplicate calls to [super dealloc]. This will form the foundation of

Re: [PATCH] D14203: [analyzer] Improve pointer arithmetic checker.

2016-02-22 Thread Devin Coughlin via cfe-commits
dcoughlin accepted this revision. dcoughlin added a comment. This revision is now accepted and ready to land. Other than a suggested diagnostic rewording to consider, looks good to me. Thanks Gábor! Comment at: lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp:198 @@ +197,3 @

Re: [PATCH] D16317: [Analyzer] Fix for PR23790: bind real value returned from strcmp when modelling strcmp.

2016-02-22 Thread Devin Coughlin via cfe-commits
dcoughlin accepted this revision. dcoughlin added a comment. This revision is now accepted and ready to land. Looks great, other than some non-standard indentation. Comment at: lib/StaticAnalyzer/Checkers/CStringChecker.cpp:1886 @@ +1885,3 @@ + svalBuilder.evalBinOp(sta

Re: [PATCH] D5238: [analyzer] Detect duplicate [super dealloc] calls

2016-02-18 Thread Devin Coughlin via cfe-commits
dcoughlin updated this revision to Diff 48447. dcoughlin added a comment. Addressed additional comments from Anna offline: - "[super dealloc] called again" is OK as a path note but not good as an error message. I've changed it to "[super dealloc] should not be called multiple times". - Added a

Re: [PATCH] D17418: [analyzer] Add checker callback for beginning of function.

2016-02-18 Thread Devin Coughlin via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL261293: [analyzer] Add checker callback for beginning of function. (authored by dcoughlin). Changed prior to commit: http://reviews.llvm.org/D17418?vs=48406&id=48438#toc Repository: rL LLVM http://r

r261293 - [analyzer] Add checker callback for beginning of function.

2016-02-18 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Thu Feb 18 19:35:10 2016 New Revision: 261293 URL: http://llvm.org/viewvc/llvm-project?rev=261293&view=rev Log: [analyzer] Add checker callback for beginning of function. Add a checker callback that is called when the analyzer starts analyzing a function either at the top

Re: [PATCH] D17418: [analyzer] Add checker callback for beginning of function.

2016-02-18 Thread Devin Coughlin via cfe-commits
dcoughlin marked an inline comment as done. dcoughlin added a comment. http://reviews.llvm.org/D17418 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D17418: [analyzer] Add checker callback for beginning of function.

2016-02-18 Thread Devin Coughlin via cfe-commits
dcoughlin created this revision. dcoughlin added a reviewer: zaks.anna. dcoughlin added a subscriber: cfe-commits. Add a checker callback that is called when the analyzer starts analyzing a function either at the top level or when inlined. This will be used by a follow-on patch making the DeallocC

r261248 - [analyzer] Include comment mistakenly left out of r261243. NFC.

2016-02-18 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Thu Feb 18 13:37:39 2016 New Revision: 261248 URL: http://llvm.org/viewvc/llvm-project?rev=261248&view=rev Log: [analyzer] Include comment mistakenly left out of r261243. NFC. It explains why we can't just synthesize bodies of setters in BodyFarm. Modified: cfe/trunk/

r261243 - [analyzer] Improve modeling of ObjC synthesized property setters.

2016-02-18 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Thu Feb 18 13:13:30 2016 New Revision: 261243 URL: http://llvm.org/viewvc/llvm-project?rev=261243&view=rev Log: [analyzer] Improve modeling of ObjC synthesized property setters. When modeling a call to a setter for a property that is synthesized to be backed by an instance

r260608 - [analyzer] Improve pattern matching in ObjCDealloc checker.

2016-02-11 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Thu Feb 11 16:13:20 2016 New Revision: 260608 URL: http://llvm.org/viewvc/llvm-project?rev=260608&view=rev Log: [analyzer] Improve pattern matching in ObjCDealloc checker. Look through PseudoObjectExpr and OpaqueValueExprs when scanning for release-like operations. This co

Re: [PATCH] D5238: [analyzer] Detect duplicate [super dealloc] calls

2016-02-10 Thread Devin Coughlin via cfe-commits
dcoughlin added a comment. In http://reviews.llvm.org/D5238#348199, @zaks.anna wrote: > Looks good, below are some comments which are mostly nits. > > What's the plan for bringing this out of alpha? Is it pending evaluation on > real code? I will first extend this checker to check for uses of

Re: [PATCH] D5238: [analyzer] Detect duplicate [super dealloc] calls

2016-02-10 Thread Devin Coughlin via cfe-commits
dcoughlin updated this revision to Diff 47514. dcoughlin added a comment. Address more of Anna's comments. - Add a more explicit comment about checker in header comment - Changed the checker to always use the receiver symbol rather than the self symbol for clarity. - Rework SuperDeallocBRVisitor

Re: [PATCH] D5238: [analyzer] Detect duplicate [super dealloc] calls

2016-02-09 Thread Devin Coughlin via cfe-commits
dcoughlin updated this revision to Diff 47412. dcoughlin added a comment. Updated this to address Anna's comments. - I've made the state smaller. It is just now a set of SymbolRefs for methods instances that have been dealloc'd. - I've hoisted isSuperDeallocMessage() to early return when possibl

Re: [PATCH] D16873: Refactor MemRegionManager::getVarRegion to call two new functions, improving readability

2016-02-07 Thread Devin Coughlin via cfe-commits
dcoughlin added a comment. I think Aleksei is right and I was wrong. If you follow his advice and move the call to getStackOrCaptureRegionForDeclContext() to getVarRegion() and then pass the StackFrameContext to what you currently name "getMemRegionStaticLocal" then both methods have the very

r260066 - [analyzer] Avoid crash when attempting to evaluate binary operation on LazyCompoundVal.

2016-02-07 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Sun Feb 7 18:28:24 2016 New Revision: 260066 URL: http://llvm.org/viewvc/llvm-project?rev=260066&view=rev Log: [analyzer] Avoid crash when attempting to evaluate binary operation on LazyCompoundVal. Instead, return UnknownValue if either operand is a nonloc::LazyCompound

r260043 - [analyzer] Invalidate destination of std::copy() and std::copy_backward().

2016-02-07 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Sun Feb 7 10:55:44 2016 New Revision: 260043 URL: http://llvm.org/viewvc/llvm-project?rev=260043&view=rev Log: [analyzer] Invalidate destination of std::copy() and std::copy_backward(). Now that the libcpp implementations of these methods has a branch that doesn't call m

r259998 - [analyzer] DeallocChecker: Don't warn on release of readonly assign property in dealloc.

2016-02-06 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Sat Feb 6 11:17:32 2016 New Revision: 259998 URL: http://llvm.org/viewvc/llvm-project?rev=259998&view=rev Log: [analyzer] DeallocChecker: Don't warn on release of readonly assign property in dealloc. It is common for the ivars for read-only assign properties to always be

r259969 - [www] Update analyzer release notes to correct the checker-278 build date.

2016-02-05 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Fri Feb 5 18:59:14 2016 New Revision: 259969 URL: http://llvm.org/viewvc/llvm-project?rev=259969&view=rev Log: [www] Update analyzer release notes to correct the checker-278 build date. This is not the future. Modified: cfe/trunk/www/analyzer/release_notes.html Modi

r259967 - [www] Update analyzer website for checker-278.

2016-02-05 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Fri Feb 5 18:53:33 2016 New Revision: 259967 URL: http://llvm.org/viewvc/llvm-project?rev=259967&view=rev Log: [www] Update analyzer website for checker-278. Modified: cfe/trunk/www/analyzer/latest_checker.html.incl cfe/trunk/www/analyzer/release_notes.html Modif

r259875 - [analyzer] Suppress localization diagnostics in debug classes and methods.

2016-02-04 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Thu Feb 4 22:22:15 2016 New Revision: 259875 URL: http://llvm.org/viewvc/llvm-project?rev=259875&view=rev Log: [analyzer] Suppress localization diagnostics in debug classes and methods. If the class or method name case-insensitively contains the term "debug", suppress war

Re: [PATCH] D16873: Refactor MemRegionManager::getVarRegion to call two new functions, improving readability

2016-02-04 Thread Devin Coughlin via cfe-commits
dcoughlin added a comment. I guess this is a reasonable refactoring. Although someone with different tastes might come along and inline it back in since the two extracted functions each only have single callers. Comment at: llvm/tools/clang/include/clang/StaticAnalyzer/Core/P

Re: [PATCH] D16748: Cleanup MemRegion.cpp/MemRegion.h

2016-01-30 Thread Devin Coughlin via cfe-commits
dcoughlin added a subscriber: cfe-commits. dcoughlin added a comment. Also adding cfe-commits as a subscriber. (See http://llvm.org/docs/Phabricator.html#requesting-a-review-via-the-web-interface). http://reviews.llvm.org/D16748 ___ cfe-commits mai

r259288 - [analyzer] Make suppression of macro defensive checks work with -analyzer-eagerly-assume.

2016-01-29 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Fri Jan 29 19:59:33 2016 New Revision: 259288 URL: http://llvm.org/viewvc/llvm-project?rev=259288&view=rev Log: [analyzer] Make suppression of macro defensive checks work with -analyzer-eagerly-assume. This is the default for the analyzer but the flag is added by the driv

r259222 - [analyzer] Suppress null reports from defensive checks in function-like macros.

2016-01-29 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Fri Jan 29 12:47:13 2016 New Revision: 259222 URL: http://llvm.org/viewvc/llvm-project?rev=259222&view=rev Log: [analyzer] Suppress null reports from defensive checks in function-like macros. We already do this for case splits introduced as a result of defensive null check

r259118 - [analyzer] NullabilityChecker: Remove unused isReturnSelf() function.

2016-01-28 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Thu Jan 28 17:34:13 2016 New Revision: 259118 URL: http://llvm.org/viewvc/llvm-project?rev=259118&view=rev Log: [analyzer] NullabilityChecker: Remove unused isReturnSelf() function. Remove the now-unused isReturnSelf() function so we don't get a compiler warning. Apologies

r259099 - [analyzer] Suppress nullability warnings in copy, mutableCopy, and init families.

2016-01-28 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Thu Jan 28 16:23:34 2016 New Revision: 259099 URL: http://llvm.org/viewvc/llvm-project?rev=259099&view=rev Log: [analyzer] Suppress nullability warnings in copy, mutableCopy, and init families. There are multiple, common idioms of defensive nil-checks in copy, mutableCopy

r258896 - [analyzer] ObjCDeallocChecker: Only operate on classes with retained properties.

2016-01-26 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Tue Jan 26 19:41:58 2016 New Revision: 258896 URL: http://llvm.org/viewvc/llvm-project?rev=258896&view=rev Log: [analyzer] ObjCDeallocChecker: Only operate on classes with retained properties. Previously the ObjC Dealloc Checker only checked classes with ivars, not retaine

Re: [PATCH] D5023: [analyzer] Fix ObjC Dealloc Checker to operate only on classes with retained properties

2016-01-26 Thread Devin Coughlin via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL258896: [analyzer] ObjCDeallocChecker: Only operate on classes with retained properties. (authored by dcoughlin). Changed prior to commit: http://reviews.llvm.org/D5023?vs=45756&id=46087#toc Repository

r258886 - [analyzer] Body farm: Look for property ivar in shadowing readwrite property.

2016-01-26 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Tue Jan 26 17:58:48 2016 New Revision: 258886 URL: http://llvm.org/viewvc/llvm-project?rev=258886&view=rev Log: [analyzer] Body farm: Look for property ivar in shadowing readwrite property. After r251874, readonly properties that are shadowed by a readwrite property in a c

r258594 - [analyzer] SATestBuild.py: Remove html and log when producing reference results.

2016-01-22 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Fri Jan 22 19:09:07 2016 New Revision: 258594 URL: http://llvm.org/viewvc/llvm-project?rev=258594&view=rev Log: [analyzer] SATestBuild.py: Remove html and log when producing reference results. The html reports are huge -- every issue in a given file results in a separate c

Re: [PATCH] D5023: [analyzer] Fix ObjC Dealloc Checker to operate only on classes with retained properties

2016-01-22 Thread Devin Coughlin via cfe-commits
dcoughlin updated this revision to Diff 45756. dcoughlin marked 6 inline comments as done. dcoughlin added a comment. I've updated ddkilzer's patch to address Jordan's last round of comments. Specifically, I have: - Changed the patch to use isObjCRetainableType() to additional warn about proper

r258517 - [analyzer] SATestBuild.py: Handle spaces in path passed to --use-analyzer.

2016-01-22 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Fri Jan 22 12:45:22 2016 New Revision: 258517 URL: http://llvm.org/viewvc/llvm-project?rev=258517&view=rev Log: [analyzer] SATestBuild.py: Handle spaces in path passed to --use-analyzer. I missed this one in r258493. Modified: cfe/trunk/utils/analyzer/SATestBuild.py

r258493 - [analyzer] Update SATestBuild.py to handle spaces in paths.

2016-01-21 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Fri Jan 22 01:08:06 2016 New Revision: 258493 URL: http://llvm.org/viewvc/llvm-project?rev=258493&view=rev Log: [analyzer] Update SATestBuild.py to handle spaces in paths. The Jenkins workspace on the new Green Dragon builder for the static analyzer has spaces in its path

Re: [PATCH] D5031: [analyzer] Remove duplicate test case from MissingDealloc.m

2016-01-21 Thread Devin Coughlin via cfe-commits
dcoughlin abandoned this revision. dcoughlin added a comment. Abandoning because the test-case removal was incorporated into http://reviews.llvm.org/D5023. http://reviews.llvm.org/D5031 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http:/

r258461 - [analyzer] Suppress nullability warning for defensive super initializer idiom.

2016-01-21 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Thu Jan 21 19:01:11 2016 New Revision: 258461 URL: http://llvm.org/viewvc/llvm-project?rev=258461&view=rev Log: [analyzer] Suppress nullability warning for defensive super initializer idiom. A common idiom in Objective-C initializers is for a defensive nil-check on the res

r258426 - [driver] Enable some static analyzer "unix" checkers on Windows.

2016-01-21 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Thu Jan 21 14:09:49 2016 New Revision: 258426 URL: http://llvm.org/viewvc/llvm-project?rev=258426&view=rev Log: [driver] Enable some static analyzer "unix" checkers on Windows. Many of the "unix" checkers are not actually unix-specific and would be valuable to run on Windo

Re: [PATCH] D16115: [test-suite] Add ClangAnalyzerBenchmarks directory to test-suite repository

2016-01-20 Thread Devin Coughlin via cfe-commits
dcoughlin closed this revision. dcoughlin added a comment. Committed in r258336. http://reviews.llvm.org/D16115 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D16115: [test-suite] Add ClangAnalyzerBenchmarks directory to test-suite repository

2016-01-19 Thread Devin Coughlin via cfe-commits
dcoughlin added a comment. Ping. Any objections to adding a new 'ClangAnalyzer' directory to test-suite? http://reviews.llvm.org/D16115 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commi

Re: [PATCH] D16317: [Analyzer] Fix for PR23790: bind real value returned from strcmp when modelling strcmp.

2016-01-19 Thread Devin Coughlin via cfe-commits
dcoughlin added a comment. ayartsev: > This also may theoretically help to find defects if a tested code relays on a > value returned from strcmp like > if (strcmp(x, y) == 1) { ... } I think it would be useful and not that difficult to write a checker that checks for this explicitly. I don'

Re: [PATCH] D16317: [Analyzer] Fix for PR23790: bind real value returned from strcmp when modelling strcmp.

2016-01-19 Thread Devin Coughlin via cfe-commits
dcoughlin added a subscriber: dcoughlin. dcoughlin added a comment. As Artem notes, you can't defer to the host strcmp() -- doing so is just as unsound as using StringRef::compare() less predictable under optimization of the analyzer. I think his suggested approach is the way to go: create a sym

r258061 - [analyzer] Nullability: Look through implicit casts when suppressing warnings on return.

2016-01-18 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Mon Jan 18 12:53:33 2016 New Revision: 258061 URL: http://llvm.org/viewvc/llvm-project?rev=258061&view=rev Log: [analyzer] Nullability: Look through implicit casts when suppressing warnings on return. In r256567 I changed the nullability checker to suppress warnings about

r257938 - [analyzer] Check for return of nil in ObjC methods with nonnull return type.

2016-01-15 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Fri Jan 15 15:35:40 2016 New Revision: 257938 URL: http://llvm.org/viewvc/llvm-project?rev=257938&view=rev Log: [analyzer] Check for return of nil in ObjC methods with nonnull return type. Update NullabilityChecker so that it checks return statements in ObjC methods. Previ

Re: [PATCH] D9600: Add scan-build python implementation

2016-01-12 Thread Devin Coughlin via cfe-commits
dcoughlin closed this revision. dcoughlin added a comment. This was committed in r257533. Thanks Laszlo! http://reviews.llvm.org/D9600 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Re: [PATCH] D16062: [analyzer] Rename kind-enumeration values of SVal, SymExpr, MemRegion classes, for consistency.

2016-01-12 Thread Devin Coughlin via cfe-commits
dcoughlin accepted this revision. dcoughlin added a comment. This revision is now accepted and ready to land. Looks good to me. Please commit! http://reviews.llvm.org/D16062 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.o

Re: [PATCH] D16062: [analyzer] Rename kind-enumeration values of SVal, SymExpr, MemRegion classes, for consistency.

2016-01-11 Thread Devin Coughlin via cfe-commits
dcoughlin added a comment. Looks good to me. Thanks for making this more consistent! Comment at: include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h:102 @@ -103,1 +101,3 @@ +BEGIN_TYPED_REGIONS, +FunctionTextRegionKind = BEGIN_TYPED_REGIONS, BlockTextRegionK

Re: [PATCH] D5023: [analyzer] Fix ObjC Dealloc Checker to operate only on classes with retained properties

2016-01-07 Thread Devin Coughlin via cfe-commits
dcoughlin commandeered this revision. dcoughlin edited reviewers, added: ddkilzer; removed: dcoughlin. dcoughlin added a comment. I am commandeering this revision! http://reviews.llvm.org/D5023 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

Re: [PATCH] D9600: Add scan-build python implementation

2016-01-06 Thread Devin Coughlin via cfe-commits
dcoughlin added a comment. Hi Laszlo, I've run scan-build-py with both environment-variable-based and library-based interposition on our open source benchmark suite and it looks like it is in great shape on Darwin! There are still some remaining issues with xcodebuild, but I will help fix thes

r256605 - [analyzer] Handle another Android assert function.

2015-12-29 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Tue Dec 29 18:08:59 2015 New Revision: 256605 URL: http://llvm.org/viewvc/llvm-project?rev=256605&view=rev Log: [analyzer] Handle another Android assert function. Android's assert can call both the __assert and __assert2 functions under the cover, but the NoReturnFunction

r256603 - [analyzer] Suppress nullability warning for _Nonnull locals zero-initialized by ObjC ARC.

2015-12-29 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Tue Dec 29 17:44:19 2015 New Revision: 256603 URL: http://llvm.org/viewvc/llvm-project?rev=256603&view=rev Log: [analyzer] Suppress nullability warning for _Nonnull locals zero-initialized by ObjC ARC. Prevent the analyzer from warning when a _Nonnnull local variable is i

r256567 - [analyzer] Nullability: allow cast to _Nonnull to suppress warning about returning nil.

2015-12-29 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Tue Dec 29 11:40:49 2015 New Revision: 256567 URL: http://llvm.org/viewvc/llvm-project?rev=256567&view=rev Log: [analyzer] Nullability: allow cast to _Nonnull to suppress warning about returning nil. The nullability checker currently allows casts to suppress warnings when

Re: [PATCH] D15794: CheckerContext::isCLibraryFunction(): small refactoring; NFC

2015-12-28 Thread Devin Coughlin via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL256524: Small refactoring in CheckerContext::isCLibraryFunction(). NFC. (authored by dcoughlin). Changed prior to commit: http://reviews.llvm.org/D15794?vs=43688&id=43706#toc Repository: rL LLVM htt

r256524 - Small refactoring in CheckerContext::isCLibraryFunction(). NFC.

2015-12-28 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Mon Dec 28 15:47:51 2015 New Revision: 256524 URL: http://llvm.org/viewvc/llvm-project?rev=256524&view=rev Log: Small refactoring in CheckerContext::isCLibraryFunction(). NFC. Use getRedeclContext() instead of a manually-written loop and fix a comment. A patch by Aleksei

Re: [PATCH] D15794: CheckerContext::isCLibraryFunction(): small refactoring; NFC

2015-12-28 Thread Devin Coughlin via cfe-commits
dcoughlin accepted this revision. dcoughlin added a comment. This revision is now accepted and ready to land. LGTM. I'll commit. Thanks Aleksei! Repository: rL LLVM http://reviews.llvm.org/D15794 ___ cfe-commits mailing list cfe-commits@lists.llv

r255859 - [analyzer] Better detect when C++ object was constructed into existing region.

2015-12-16 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Wed Dec 16 18:28:33 2015 New Revision: 255859 URL: http://llvm.org/viewvc/llvm-project?rev=255859&view=rev Log: [analyzer] Better detect when C++ object was constructed into existing region. When the analyzer evaluates a CXXConstructExpr, it looks ahead in the CFG for the

Re: [PATCH] D9600: Add scan-build python implementation

2015-12-16 Thread Devin Coughlin via cfe-commits
dcoughlin added a comment. Thanks for adding `bear_get_environment()` to handle the environment weirdness on Darwin. Comment at: tools/scan-build-py/libscanbuild/intercept.py:146 @@ +145,3 @@ +}) +elif sys.platform == 'darwin': +logging.debug('intercept gonn

Re: [PATCH] D9600: Add scan-build python implementation

2015-12-12 Thread Devin Coughlin via cfe-commits
dcoughlin added inline comments. Comment at: tools/scan-build-py/libear/ear.c:142 @@ +141,3 @@ +#endif +if (!initialized) +initialized = bear_capture_env_t(&initial_env); rizsotto.mailinglist wrote: > rizsotto.mailinglist wrote: > > to run the full tes

Re: [PATCH] D9600: Add scan-build python implementation

2015-12-11 Thread Devin Coughlin via cfe-commits
dcoughlin added inline comments. Comment at: tools/scan-build-py/README.md:85 @@ +84,3 @@ + +The 2. mode is available only on FreeBSD, Linux and OSX. Where library preload +is available from the dynamic loader. On OSX System Integrity Protection security My comme

Re: [PATCH] D9600: Add scan-build python implementation

2015-12-10 Thread Devin Coughlin via cfe-commits
dcoughlin added inline comments. Comment at: tools/scan-build-py/libear/ear.c:140 @@ +139,3 @@ +#ifdef HAVE_NSGETENVIRON +environ = *_NSGetEnviron(); +#endif The issue I am seeing with library-interposition on OS X seems to be caused by eagerly stashing *_NSG

Re: [PATCH] D9600: Add scan-build python implementation

2015-12-09 Thread Devin Coughlin via cfe-commits
dcoughlin added a comment. In http://reviews.llvm.org/D9600#305980, @rizsotto.mailinglist wrote: > > Also, what do you think about renaming intercept-build to "log-build" or > > some of the other alternatives I proposed above? I think it is important > > for the name of the executable to commun

r254962 - [analyzer] Fix crash when lambda captures a variable-length array.

2015-12-07 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Mon Dec 7 17:01:53 2015 New Revision: 254962 URL: http://llvm.org/viewvc/llvm-project?rev=254962&view=rev Log: [analyzer] Fix crash when lambda captures a variable-length array. When a C++ lambda captures a variable-length array, it creates a capture field to store the si

r254806 - [analyzer] Fix MemRegion crash casting non-struct to derived struct (PR25426).

2015-12-04 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Fri Dec 4 18:22:36 2015 New Revision: 254806 URL: http://llvm.org/viewvc/llvm-project?rev=254806&view=rev Log: [analyzer] Fix MemRegion crash casting non-struct to derived struct (PR25426). This commit prevents MemRegion::getAsOffset() from crashing when the analyzed prog

Re: [PATCH] D13126: New static analyzer checker for loss of sign/precision

2015-12-04 Thread Devin Coughlin via cfe-commits
dcoughlin added a subscriber: dcoughlin. dcoughlin added a comment. In http://reviews.llvm.org/D13126#302328, @danielmarjamaki wrote: > When scanning 692 projects with this checker I got 56 warnings. I've triaged > 21 random warnings of these so far and saw 20 TP and 1 FP. > > When I have triage

Re: [PATCH] D9600: Add scan-build python implementation

2015-12-04 Thread Devin Coughlin via cfe-commits
dcoughlin added a comment. Thanks Laszlo. I'm still not convinced that all the python package stuff is needed because scan-build is distributed with clang (see my question inline). Also, what do you think about renaming intercept-build to "log-build" or some of the other alternatives I propose

Re: [PATCH] D15007: [analyzer] Improve modelling of nullptr_t in the analyzer. Fix PR25414.

2015-12-04 Thread Devin Coughlin via cfe-commits
dcoughlin accepted this revision. dcoughlin added a comment. This revision is now accepted and ready to land. LGTM. Thanks Gabor! http://reviews.llvm.org/D15007 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/ma

Re: r254704 - Fix an unused variable warning in released builds. While there use 'auto' to simplify code.

2015-12-03 Thread Devin Coughlin via cfe-commits
Thanks! Devin > On Dec 3, 2015, at 9:27 PM, Craig Topper via cfe-commits > wrote: > > Author: ctopper > Date: Thu Dec 3 23:27:29 2015 > New Revision: 254704 > > URL: http://llvm.org/viewvc/llvm-project?rev=254704&view=rev > Log: > Fix an unused variable warning in released builds. While there

r254702 - [analyzer] Support inlining lambda-converted blocks.

2015-12-03 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Thu Dec 3 23:00:36 2015 New Revision: 254702 URL: http://llvm.org/viewvc/llvm-project?rev=254702&view=rev Log: [analyzer] Support inlining lambda-converted blocks. clang converts C++ lambdas to blocks with an implicit user-defined conversion operator method on the lambda

r254639 - [analyzer] Suppress stack address escape on CK_CopyAndAutoreleaseBlockObject.

2015-12-03 Thread Devin Coughlin via cfe-commits
Author: dcoughlin Date: Thu Dec 3 13:41:24 2015 New Revision: 254639 URL: http://llvm.org/viewvc/llvm-project?rev=254639&view=rev Log: [analyzer] Suppress stack address escape on CK_CopyAndAutoreleaseBlockObject. Don't warn about addresses of stack-allocated blocks escaping if the block region w

<    1   2   3   4   5   >