| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
from CFRefCount to RetainReleaseChecker. No intended functionality change.
llvm-svn: 138223
|
| |
|
|
|
|
| |
return its receiver and pretending that it does won't actually buy us anything. (Comment change only.)
llvm-svn: 138221
|
| |
|
|
|
|
| |
seems to result in a minor performance hit, but I think that will go away again once we eliminate TransferFuncs from function calls entirely.
llvm-svn: 138220
|
| |
|
|
| |
llvm-svn: 138215
|
| |
|
|
| |
llvm-svn: 138214
|
| |
|
|
|
|
| |
no need for a flag, at least not right now.
llvm-svn: 138212
|
| |
|
|
| |
llvm-svn: 138211
|
| |
|
|
|
|
| |
CFRefCount to NoReturnFunctionChecker. No functionality change intended.
llvm-svn: 138210
|
| |
|
|
|
|
| |
No need to bind an explicit value and create a new node.
llvm-svn: 138196
|
| |
|
|
|
|
| |
visit to subexpressions (which is no longer needed).
llvm-svn: 138195
|
| |
|
|
|
|
|
|
| |
different parts
of the analysis (e.g., analysis of C expressions, analysis of Objective-C expressions, and so on).
llvm-svn: 138194
|
| |
|
|
| |
llvm-svn: 138193
|
| |
|
|
|
|
| |
endOfPath diagnostic piece from BugReport to BugReporterVisitor. Switch CFRefCount to use visitors in order to generate the endOfPath piece.
llvm-svn: 138184
|
| |
|
|
| |
llvm-svn: 138183
|
| |
|
|
|
|
| |
BugReport no longer needs to inherit from BugReporterVisitor.
llvm-svn: 138142
|
| |
|
|
|
|
|
|
|
|
|
|
| |
API in favor of addVisitor(BugReporterVisitor*).
1) Create a header file to expose the predefined visitors. And move the parent(BugReporterVisitor) there as well.
2) Remove the registerXXXVisitor functions - the Visitor constructors/getters can be used now to create the object. One exception is registerVarDeclsLastStore(), which registers more then one visitor, so make it static member of FindLastStoreBRVisitor.
3) Modify all the checkers to use the new API.
llvm-svn: 138126
|
| |
|
|
|
|
| |
remove invalid assert from the destructor which wasn't called previously due to the leak.
llvm-svn: 138027
|
| |
|
|
|
|
|
|
| |
BugReporterContext to BugReport.
One API change: I added BugReporter as an additional parameter to the BugReporterVisitor::VisitNode() method to allow visitors register other visitors with the report on the fly (while processing a node). This functionality is used by NilReceiverVisitor, which registers TrackNullOrUndefValue when the receiver is null.
llvm-svn: 138001
|
| |
|
|
| |
llvm-svn: 137899
|
| |
|
|
|
|
| |
functionality they provided into their parent BugReport. The only functional changes are: made getRanges() non const - it adds default range to Ranges if none are supplied, made getStmt() private, which was another FIXME.
llvm-svn: 137894
|
| |
|
|
|
|
| |
RetainReleaseChecker. This is mostly a textual move and required no supporting changes. No functionality change intended.
llvm-svn: 137874
|
| |
|
|
|
|
| |
bunch of others I haven't touched.
llvm-svn: 137867
|
| |
|
|
| |
llvm-svn: 137814
|
| |
|
|
| |
llvm-svn: 137813
|
| |
|
|
|
|
|
|
| |
via intptr_t.
This is ugly but ISO C++ doesn't allow direct casts.
llvm-svn: 137812
|
| |
|
|
| |
llvm-svn: 137802
|
| |
|
|
|
|
| |
<rdar://problem/9948787>.
llvm-svn: 137760
|
| |
|
|
|
|
| |
support. Removes support for checker groups (we can add them back in later if we decide they are still useful), and -analyzer-checker-help output is a little worse for the time being (no packages).
llvm-svn: 137758
|
| |
|
|
| |
llvm-svn: 137740
|
| |
|
|
|
|
| |
returned an error.
llvm-svn: 137720
|
| |
|
|
|
|
| |
expressions, and also handle inverting the order of comparison when the named decl appears on the RHS.
llvm-svn: 137714
|
| |
|
|
| |
llvm-svn: 137708
|
| |
|
|
|
|
| |
binary conditions, and teach it to only focus on constraint changes.
llvm-svn: 137705
|
| |
|
|
|
|
| |
querying of "eagerly assumed" expressions.
llvm-svn: 137704
|
| |
|
|
|
|
| |
tagged PostStmts.
llvm-svn: 137697
|
| |
|
|
|
|
| |
generate regular nodes instead of sink nodes.
llvm-svn: 137681
|
| |
|
|
| |
llvm-svn: 137677
|
| |
|
|
| |
llvm-svn: 137665
|
| |
|
|
|
|
| |
per code review for r137523).
llvm-svn: 137633
|
| |
|
|
|
|
| |
and libStaticAnalyzer[*]. It was highly inconsistent, and very ugly to look at.
llvm-svn: 137537
|
| |
|
|
|
|
|
| |
Having a notion of an actual ProgramPointTag will aid in introspection of the analyzer's behavior.
For example, the GraphViz output of the analyzer will pretty-print the tags in a useful manner.
llvm-svn: 137529
|
| |
|
|
|
|
| |
enclosing function parameter, skip it to avoid false positives.
llvm-svn: 137526
|
| |
|
|
|
|
|
|
| |
Report errors earlier: on checkDeadSymbols() and clear the state after the symbol we are tracking goes out of scope.
Also, perform lazy error checking. Instead of forcing the paths to be split depending one the return value of the allocator, make the return symbol depend on the allocated data symbol, which prolongs its life span to the time when the allocated data symbol becomes dead.
llvm-svn: 137523
|
| |
|
|
|
|
| |
time. One is cleanup, the other is me being OCD about enum group nesting.
llvm-svn: 137517
|
| |
|
|
|
|
|
|
| |
the allocated data symbol, we can just use the symbol corresponding to the SymbolicRegion. This simplifies tracking of the symbol, for example, SymbolMetadata needs to go through extra hoops to stay alive.
Make AllocationState internal to the MacOSKeychainAPIChecker class.
llvm-svn: 137514
|
| |
|
|
|
|
|
|
| |
separate TypedRegions that implement getValueType() from those that don't.
Patch by Olaf Krzikalla!
llvm-svn: 137498
|
| |
|
|
|
|
|
|
|
|
| |
r137309):
1) Change SymbolDependTy map to keep pointers as data. And other small tweaks like making the DenseMap smaller 64->16 elements; remove removeSymbolDependencies() as it will probably not be used.
2) Do not mark dependents live more then once.
llvm-svn: 137401
|
| |
|
|
|
|
| |
example, the allocated resource symbol only needs to be freed if no error has been returned by the allocator, so a checker might want to make the lifespan of the error code symbol depend on the allocated resource symbol.) Note, by default, the map that holds the dependencies will get destroyed along with the SymbolManager at the end of function exploration.
llvm-svn: 137309
|
| |
|
|
|
|
| |
StmtNodeBuilder, not needed as of r137273.
llvm-svn: 137284
|
| |
|
|
| |
llvm-svn: 137279
|