- User Since
- Apr 23 2017, 7:58 AM (143 w, 3 d)
Aug 16 2017
This patch adds the functionality of performing reference counting on the callee side for Integer Set Library (ISL) to Clang Static Analyzer's RetainCountChecker.
Aug 9 2017
Aug 7 2017
Jul 22 2017
Jul 20 2017
Removed the checks to see if the symbol type is NULL while printing diagnostics as they are unnecessary.
Jul 19 2017
Addressed all comments except the one where I had to remove the test to see if the return type was null while emitting diagnostics.
Jul 17 2017
Added isTrustedReferenceCountAnnotation() again.
Changed the function from isTrustedReferenceCountImplementation() to hasRCAnnotation() (I'm unable to come up with a better name) as this will be useful when I add support to RetainCountChecker to check for generic annotations corresponding to isl_give(cf_returns_retained) and isl_take(cf_consumed).
Jul 15 2017
Checked for "trusted" annotation on the function declaration corresponding to the function definition.
Jul 14 2017
Suppresses false positives involving functions which perform reference counting.
Added relevant test-cases to test/Analysis/retain-release-inline.m
Jul 5 2017
Corrected one of the two test-cases added in the last-diff.
Jul 4 2017
Added relevant test-cases to verify the added functionality.
Changed function name from 'isAnnotatedToSkipDiagnostics' to 'isTrustedReferenceCountImplementation'.
Added some test-cases to test/Analysis/retain-release-inline.m.
Applied clang-format to the changed code.
Jul 3 2017
May 23 2017
Applied clang-format only to the changed lines in the final code.
I did not apply clang-format to any file except for PthreadLockChecker.cpp. Do you think the merge conflict is due to me not applying clang-format to test/Analysis/pthreadlock.c? The only files I changed were .gitignore, PthreadLockChecker.cpp and test/Analysis/pthreadlock.c.
Also, when you asked me to revert the changes, did you mean revert the changes made by clang-format? If yes, how do I do that?
I apologize for asking such silly questions. The thing is I'm new to all this and I don't really know how to proceed further.
- Updating .gitignore sounds like the right thing to do (llvm's .gitignore already has this), but i guess we'd better make a separate commit for that.
May 22 2017
Addressed previous comments (removed Schrodinger from lock state names, changed method name setAppropriateLockState to resolvePossiblyDestroyedMutex, added an assert in resolvePossiblyDestroyedMutex, formatted the code using clang-format and added some test-cases to test/Analysis/pthreadlock.c)
May 20 2017
May 17 2017
Cleaned up the previous patch.
Added checking of LockState before initializing a mutex as well.
Added separate branches of execution for PthreadSemantics and XNUSemantics.
Added assert in case of checkDeadSymbols as existence in DestroyRetVal ensures existence in LockMap.
May 16 2017
Also, I removed the inclusion of iostream and also added the repetitive code to the function setAppropriateLockState.
Currently working on finding various corner cases and invariants.