| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
- Added detection of Empty CFGBlocks (artificial blocks)
- Relaxed an assertion based on an incorrect assumption until further investigation
llvm-svn: 110974
|
| |
|
|
|
|
|
|
|
| |
- Unfinished analysis may still report valid warnings if the path was completely analyzed
- New 'CanVary' heuristic to recursively determine if a subexpression has a varying element
- Updated test cases, including one known bug
- Exposed GRCoreEngine through GRExprEngine
llvm-svn: 110970
|
| |
|
|
|
|
| |
the way it's being used. Also fix isa<OwnershipAttr> support, break more-than-80-char lines, and other miscellaneous ownership attr cleanup.
llvm-svn: 110908
|
| |
|
|
| |
llvm-svn: 110904
|
| |
|
|
| |
llvm-svn: 110784
|
| |
|
|
|
|
| |
visited a block too many times along a given path. This is to support the unreachable code analysis.
llvm-svn: 110755
|
| |
|
|
|
|
| |
reduced to a constant.
llvm-svn: 110592
|
| |
|
|
|
|
|
|
| |
an lvalue of another, compatible Objective-C object type (e.g., a
subclass). Introduce a new initialization sequence step kind to
describe this binding, along with a new cast kind. Fixes PR7741.
llvm-svn: 110513
|
| |
|
|
|
|
|
|
|
| |
to a flag (-analyzer-check-idempotent-operations)
- Added IdempotentOperationChecker to experimental analyses for testing purposes
- Updated test cases to explictly call the checker
llvm-svn: 110482
|
| |
|
|
| |
llvm-svn: 110473
|
| |
|
|
|
|
| |
scope of the variable and condensing the code.
llvm-svn: 110472
|
| |
|
|
|
|
| |
leak is not a hard enough bug to stop analyzing a path.
llvm-svn: 110471
|
| |
|
|
|
|
| |
checkersEvaluated really meaningful.
llvm-svn: 110430
|
| |
|
|
| |
llvm-svn: 110392
|
| |
|
|
|
|
| |
valid Loc. Fixes PR7830.
llvm-svn: 110390
|
| |
|
|
|
|
| |
sometimes allow for multiple sequential statements to be flagged.
llvm-svn: 110353
|
| |
|
|
| |
llvm-svn: 110330
|
| |
|
|
| |
llvm-svn: 110320
|
| |
|
|
| |
llvm-svn: 110317
|
| |
|
|
|
|
| |
called for non-region locations.
llvm-svn: 110310
|
| |
|
|
| |
llvm-svn: 110309
|
| |
|
|
|
|
| |
analyzer. Fixes a crash reported in <rdar://problem/8272168>. Patch by Henry Mason!
llvm-svn: 110289
|
| |
|
|
|
|
|
|
| |
IMHO a little easier to understand), and add the same sort of caching for EvalAssume (tied for least-used callback), mostly as proof-of-concept.
Before we go further with these, we should figure out a way to reuse the visit-and-cache code in CheckerVisit.
llvm-svn: 110191
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
UnreachableCodeChecker
- Reporting now uses getUnreachableStmt which returns the Stmt* we should report
- Indexing of reachable and visited blocks now use CFGBlock ID's instead of pointers
- The CFG used in the unreachable search is now the unoptimized CFG
- Added 'Dead code' category to warnings
- Removed obsolete function getCondition
- Simplified false positive detection based on properties of FindUnreachableEntryPoints
llvm-svn: 110148
|
| |
|
|
|
|
|
|
| |
changes through GRState instead of directly accessing the StoreManager. Also adds cover methods for InvalidateRegion(s) and EnterStackFrame to GRState.
This is in preparation for proposed region change notifications. No functionality change.
llvm-svn: 110137
|
| |
|
|
|
|
| |
shouldn't put restrictions in store manager.
llvm-svn: 110106
|
| |
|
|
| |
llvm-svn: 110102
|
| |
|
|
|
|
|
|
|
| |
doing postanalysis. This allows the checker to gather information about the state of the engine when it has finished.
- Exposed the worklist and BlockAborted flag in GRCoreEngine
- Changed postanalysis checkers to use the new infrastructure
llvm-svn: 110095
|
| |
|
|
|
|
| |
analysis) that doesn't prune CFG edges.
llvm-svn: 110087
|
| |
|
|
|
|
|
|
| |
invalidated in function
calls when the enclosing object had retain/release state. Fixes <rdar://problem/8261992>.
llvm-svn: 110068
|
| |
|
|
|
|
| |
initializations now.
llvm-svn: 110063
|
| |
|
|
|
|
|
|
| |
no need to two
lookups in the hashtable.
llvm-svn: 110059
|
| |
|
|
|
|
|
|
| |
the top-level object. FlatStore now can bind and retrieve element and field
regions.
PR7297 is fixed by flat store.
llvm-svn: 110020
|
| |
|
|
|
|
| |
for malloc/free checking. Patch by Andrew McGregor!
llvm-svn: 109939
|
| |
|
|
| |
llvm-svn: 109893
|
| |
|
|
|
|
| |
than copying each character.
llvm-svn: 109734
|
| |
|
|
|
|
| |
and CharacterLiteral. Fixes an assertion failure reported in PR 7675.
llvm-svn: 109719
|
| |
|
|
|
|
| |
fixes a false path issue reported in <rdar://problem/8243408> and also spurs another cause where the idempotent operations checker fires.
llvm-svn: 109710
|
| |
|
|
| |
llvm-svn: 109709
|
| |
|
|
| |
llvm-svn: 109708
|
| |
|
|
|
|
| |
checks are already done within getConjuredSymbolVal() itself.
llvm-svn: 109707
|
| |
|
|
|
|
|
|
|
| |
- Allowed reporting of dead macros
- Added path walking function to search for false positives in conditional statements
- Updated some affected tests
- Added some false positive test cases
llvm-svn: 109561
|
| |
|
|
|
|
| |
their own CheckerHelpers file.
llvm-svn: 109560
|
| |
|
|
|
|
| |
binary operator for clearer error reporting. Also remove the 'Idempotent operation' prefix in messages; it's redundant since the bug type is the same.
llvm-svn: 109527
|
| |
|
|
| |
llvm-svn: 109517
|
| |
|
|
|
|
|
|
| |
__builtin_unreachable().
The next step is to warn if a block labeled unreachable is, in fact, reachable. Somewhat related to PR810.
llvm-svn: 109487
|
| |
|
|
|
|
| |
of constant string literals, which is not too helpful, and only calls to strlen() are checked.
llvm-svn: 109480
|
| |
|
|
|
|
|
|
|
|
| |
analyzer checks.
- Created a new class to do post-analysis
- Updated several test cases with unreachable code to expect a warning
- Added some general tests
llvm-svn: 109286
|
| |
|
|
| |
llvm-svn: 109225
|
| |
|
|
| |
llvm-svn: 109218
|