6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update Clang for 3.5 rebase (r209713). Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
651f13cea278ec967336033dd032faef0e9fc2ec |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Updated to Clang 3.5a. Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
caadc413a88e864e058a3bea832f42debd8ddef2 |
|
24-Apr-2013 |
Anna Zaks <ganna@apple.com> |
[analyzer] IvarInvalidation: correctly handle cases where only partial invalidators exist - If only partial invalidators exist and there are no full invalidators in @implementation, report every ivar that has not been invalidated. (Previously, we reported the first Ivar in the list, which could actually have been invalidated by a partial invalidator. The code assumed you cannot have only partial invalidators.) - Do not report missing invalidation method declaration if a partial invalidation method declaration exists. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180170 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
cfaed8d399a34e79fbab9f70eb4ea1bbeb81a02b |
|
14-Feb-2013 |
Fariborz Jahanian <fjahanian@apple.com> |
objective-C: synthesize properties in order of their declarations to synthesize their ivars in similar determinstic order so they are laid out in a determinstic order. // rdar://13192366 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175214 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
d523df6a143a97eea46916c6e31c8f2a0728bf28 |
|
09-Feb-2013 |
Anna Zaks <ganna@apple.com> |
[analyzer] Invalidation checker: move the "missing implementation" check The missing definition check should be in the same category as the missing ivar validation - in this case, the intent is to invalidate in the given class, as described in the declaration, but the implementation does not perform the invalidation. Whereas the MissingInvalidationMethod checker checks the cases where the method intention is not to invalidate. The second checker has potential to have a much higher false positive rate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174787 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
adecec39481f925701e63d7fe3b8bf02dd7ddf01 |
|
09-Feb-2013 |
Anna Zaks <ganna@apple.com> |
[analyzer] Move DefaultBool so that all checkers can share it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174782 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
722cd9e3c0142948b9eb3190211dbc0dd4da4105 |
|
09-Feb-2013 |
Anna Zaks <ganna@apple.com> |
[analyzer] Split IvarInvalidation into two checkers Separate the checking for the missing invalidation methods into a separate checker so that it can be turned on/off independently. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174781 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
2b174c37ae174063d70494e9b4fd91f4eff26463 |
|
09-Feb-2013 |
Anna Zaks <ganna@apple.com> |
[analyzer] IvarInvalidation: refactor, pull out the diagnostic printing git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174780 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
26db7dbf67b1532b2d617b3a85428699a1ffc997 |
|
09-Feb-2013 |
Anna Zaks <ganna@apple.com> |
[analyzer] IvarInvalidation: add annotation for partial invalidation The new annotation allows having methods that only partially invalidate IVars and might not be called from the invalidation methods directly (instead, are guaranteed to be called before the invalidation occurs). The checker is going to trust the programmer to call the partial invalidation method before the invalidator.This is common in cases when partial object tear down happens before the death of the object. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174779 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
d329724745b49f894b768d47275b7c2713106e89 |
|
17-Jan-2013 |
Douglas Gregor <dgregor@apple.com> |
Rework the traversal of Objective-C categories and extensions to consider (sub)module visibility. The bulk of this change replaces myriad hand-rolled loops over the linked list of Objective-C categories/extensions attached to an interface declaration with loops using one of the four new category iterator kinds: visible_categories_iterator: Iterates over all visible categories and extensions, hiding any that have their "hidden" bit set. This is by far the most commonly used iterator. known_categories_iterator: Iterates over all categories and extensions, ignoring the "hidden" bit. This tends to be used for redeclaration-like traversals. visible_extensions_iterator: Iterates over all visible extensions, hiding any that have their "hidden" bit set. known_extensions_iterator: Iterates over all extensions, whether they are visible to normal name lookup or not. The effect of this change is that any uses of the visible_ iterators will respect module-import visibility. See the new tests for examples. Note that the old accessors for categories and extensions are gone; there are *Raw() forms for some of them, for those (few) areas of the compiler that have to manipulate the linked list of categories directly. This is generally discouraged. Part two of <rdar://problem/10634711>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172665 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
79ccd5635495fb4588d0ec47c0bf05764441a14c |
|
16-Jan-2013 |
Anna Zaks <ganna@apple.com> |
[analyzer] Fix warning typo. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172596 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
6de7daa60412744bcf168c6c0d521688435fe221 |
|
11-Jan-2013 |
Anna Zaks <ganna@apple.com> |
[analyzer] Rename the warning: state the issue before the hint of how it can be fixed git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172170 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
b8f6678bdd54d4dabac416476993343837dd229c |
|
11-Jan-2013 |
Anna Zaks <ganna@apple.com> |
[analyzer]Recognize ivar invalidation protocol even if it was redeclared This will get rid of some false positives as well as false negatives. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172169 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
ae81e172e93b75594c7053f3226a16b9d8daa6fd |
|
11-Jan-2013 |
Anna Zaks <ganna@apple.com> |
[analyzer] Ivar invalidation: track ivars declared in categories. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172168 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
6503255e4fa0689f427b3b798180fceac29c98c2 |
|
11-Jan-2013 |
Anna Zaks <ganna@apple.com> |
[analyzer] Allow IvarInvalidation checker to suppress warnings via assertions. To ensure that custom assertions/conditional would also be supported, just check if the ivar that needs to be invalidated or set to nil is compared against 0. Unfortunately, this will not work for code containing 'assert(IvarName)' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172147 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
664566c37f81d70226df22c12aa05d1603b620f3 |
|
10-Jan-2013 |
Anna Zaks <ganna@apple.com> |
[analyzer] Fix non-determinizm introduced in r172104. In some cases, we just pick any ivar that needs invalidation and attach the warning to it. Picking the first from DenseMap of pointer keys was triggering non-deterministic output. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172134 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
b1fc673783dd0215a1426b2c411779cd05a16a07 |
|
10-Jan-2013 |
Anna Zaks <ganna@apple.com> |
[analyzer] Add more checks to the ObjC Ivar Invalidation checker. Restructured the checker so that it could easily find two new classes of issues: - when a class contains an invalidatable ivar, but no declaration of an invalidation method - when a class contains an invalidatable ivar, but no definition of an invalidation method in the @implementation. The second case might trigger some false positives, for example, when the method is defined in a category. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172104 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
5879fb3f6d559863c18df7132ee3d5fdb62b6ae5 |
|
07-Jan-2013 |
Anna Zaks <ganna@apple.com> |
[analyzer] Fix a false positive in the ivar invalidation checker. When a property is "inherited" through both a parent class and directly through a protocol, we should not require the child to invalidate it since the backing ivar belongs to the parent class. (Fixes radar://12913734) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
55fc873017f10f6f566b182b70f6fc22aefa3464 |
|
04-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort all of Clang's files under 'lib', and fix up the broken headers uncovered. This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/utils/sort_includes.py script over the files. I also manually added quite a few missing headers that were uncovered by shuffling the order or moving headers up to be main-module-headers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
2fa67efeaf66a9332c30a026dc1c21bef6c33a6c |
|
01-Dec-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Pull the Attr iteration parts out of Attr.h, so including DeclBase.h doesn't pull in all the generated Attr code. Required to pull some functions out of line, but this shouldn't have a perf impact. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169092 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
c3c26b7390bc4ac3ad122f557a10ba17ab871216 |
|
18-Oct-2012 |
Anna Zaks <ganna@apple.com> |
[analyzer] Ivar invalidation: identify properties declared in protocols. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166211 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
e0c50fa01d59749e9392ccff50ee6fb90a61725b |
|
16-Oct-2012 |
Anna Zaks <ganna@apple.com> |
[analyzer] Ivar Invalidation: track ivars in continuations and @implementation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
51431dcf4a591ded089a56aaa985bb546cec8ce4 |
|
16-Oct-2012 |
Anna Zaks <ganna@apple.com> |
[analyzer] Enhance the error message. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165993 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
bbff82f302a1dd67589f65912351978905f0c5a7 |
|
01-Oct-2012 |
Anna Zaks <ganna@apple.com> |
Move isObjCSelf into Expr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164966 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
b9733ac1a2012c3e909ac262073a6deb8533d2c7 |
|
01-Oct-2012 |
Anna Zaks <ganna@apple.com> |
[analyzer] Address Jordan's review for r164868. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164965 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
31f69cc770888ec0f0f7012212e5df7979aba4f3 |
|
29-Sep-2012 |
Anna Zaks <ganna@apple.com> |
[analyzer] Re-implement IvarInvalidationChecker so that it verifies that the validation occurred. The original implementation was pessimistic - we assumed that ivars which escape are invalidated. This version is optimistic, it assumes that the ivars will always be explicitly invalidated: either set to nil or sent an invalidation message. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164868 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
377945cc9e4f23cdbb01ade2a664acd5ff95a888 |
|
27-Sep-2012 |
Anna Zaks <ganna@apple.com> |
[analyzer] IvarInvalidation: track synthesized ivars and allow escape through property getters. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164802 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
b087bbf3cf44a56d60ad1ed6fd5abb48dab0e0b3 |
|
27-Sep-2012 |
Anna Zaks <ganna@apple.com> |
[analyzer] Address Jordan's code review comments for r164716. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164788 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
7836011482bc26dfebf15df4fd993d07b607fbcf |
|
27-Sep-2012 |
NAKAMURA Takumi <geek4civic@gmail.com> |
IvarInvalidationChecker.cpp: Remove an unused member, InterfD. [-Wunused-private-field] git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|
5bf5c2ec54ede5352293e5739e9b44bea2f6b01b |
|
26-Sep-2012 |
Anna Zaks <ganna@apple.com> |
[analyzer] Add experimental ObjC invalidation method checker. This checker is annotation driven. It checks that the annotated invalidation method accesses all ivars of the enclosing objects that are objects of type, which in turn contains an invalidation method. This is driven by __attribute((annotation("objc_instance_variable_invalidator")). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164716 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
|