summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis
Commit message (Collapse)AuthorAgeFilesLines
* Migrated retain/release checker to use the Generic Data Map in GRState (insteadTed Kremenek2008-08-142-148/+146
| | | | | | | | | | | | | | of using CheckerState). Removed CheckerState from GRState. Added class GRStateRef which wraps GRState* and GRStateManager*. This is handy for generating new states with a single handle. Added member template set/get functions to GRStateRef/GRState/GRStateManager for accessing the Generic Data Map. llvm-svn: 54788
* Renamed GRState::CheckerStatePrinter to GRState::Printer.Ted Kremenek2008-08-133-26/+44
| | | | | | Updated checker state printer interface to allow transfer functions to return an arbitrary number of GRState::Printers. llvm-svn: 54762
* Rename ValueState.h -> GRState.hTed Kremenek2008-08-131-0/+0
| | | | | | Rename ValueState.cpp -> GRState.cpp llvm-svn: 54722
* Rename ValueState -> GRState.Ted Kremenek2008-08-1310-323/+323
| | | | | | Rename ValueStateManager -> GRStateManager. llvm-svn: 54721
* Initialize tracked local variables to undefined.Ted Kremenek2008-08-132-5/+11
| | | | llvm-svn: 54716
* Fix memory leak found by Sam Bishop: delete WList in the dstor of ↵Ted Kremenek2008-08-131-0/+3
| | | | | | GRCoreEngineImpl. llvm-svn: 54714
* Added GenericDataMap as a component of ValueState.Ted Kremenek2008-08-121-0/+1
| | | | llvm-svn: 54704
* More cleanups. Add missing #include.Ted Kremenek2008-08-121-32/+7
| | | | llvm-svn: 54699
* More summary generation refactoring.Ted Kremenek2008-08-121-21/+23
| | | | llvm-svn: 54696
* Add variadic addInstMethSummary() and refactored addPanicSummary() to use ↵Ted Kremenek2008-08-121-85/+46
| | | | | | | | this method. (code reduction). Misc. cleanups. llvm-svn: 54694
* More #include cleaningDaniel Dunbar2008-08-113-0/+3
| | | | | | | | - Drop {Decl.h,DeclObjC.h,IdentifierTable.h} from Expr.h - Moved Sema::getCurMethodDecl() out of line (dependent on ObjCMethodDecl via dyn_cast). llvm-svn: 54629
* * Remove isInSystemHeader() from DiagClient, move it to SourceManagerNico Weber2008-08-101-13/+1
| | | | | | | | | | | | | | | | * Move FormatError() from TextDiagnostic up to DiagClient, remove now empty class TextDiagnostic * Make DiagClient optional for Diagnostic This fixes the following problems: * -html-diags (and probably others) does now output the same set of warnings as console clang does * nothing crashes if one forgets to call setHeaderSearch() on TextDiagnostic * some code duplication is removed llvm-svn: 54620
* rename PreDefinedExpr -> PredefinedExprChris Lattner2008-08-101-2/+2
| | | | llvm-svn: 54605
* Added FIXME.Ted Kremenek2008-08-091-0/+1
| | | | llvm-svn: 54568
* Don't use Expr::isIntegerConstantExpr just to check if a pointer value is ↵Ted Kremenek2008-08-091-13/+9
| | | | | | initialize to NULL. llvm-svn: 54563
* Added AssumeSymGT, AssumeSymGE, AssumeSymLT, AssumeSymLE to add some minor ↵Ted Kremenek2008-08-071-26/+94
| | | | | | improvements to path-sensitivity. Right now we basically treat 'x > y' and 'x < y' as implying 'x != y', but this restriction will only inevitably apply to our must rudimentary value tracking component (we'll implement more advanced value reasoning later). llvm-svn: 54493
* Don't flag any dead stores for variables marked unused.Ted Kremenek2008-08-071-1/+1
| | | | llvm-svn: 54492
* Added decl_iterator to DeclStmt to provide an abstract interface to iterate ↵Ted Kremenek2008-08-053-6/+8
| | | | | | | | over the ScopedDecls of a DeclStmt. Updated a few clients of DeclStmt::getNextDeclarator() to use decl_iterator instead. Will update other clients after additional testing. llvm-svn: 54368
* Change 'dead store (++/--)' to 'dead increment'Ted Kremenek2008-08-021-1/+1
| | | | llvm-svn: 54268
* Enhanced path-sensitive return-of-stack-address check to print out the name ↵Ted Kremenek2008-07-311-9/+21
| | | | | | of the variable whose address was returned. llvm-svn: 54253
* Add range highlighting for path-sensitive return-of-stack-address check.Ted Kremenek2008-07-301-5/+18
| | | | llvm-svn: 54219
* remove some unneeded calls to getCanonicalTypeChris Lattner2008-07-261-2/+1
| | | | llvm-svn: 54106
* change more instances of QualType::getCanonicalType to callChris Lattner2008-07-261-2/+1
| | | | | | ASTContext::getCanonicalType instead (PR2189) llvm-svn: 54105
* Have the UnusedIvar check skip ivars with setters/getters created by ↵Ted Kremenek2008-07-251-4/+26
| | | | | | @synthesize. llvm-svn: 54050
* Remove call to isSEL and isSEL itself since the call is dead ↵Ted Kremenek2008-07-251-10/+1
| | | | | | (isObjCObjectPointerType() will never return true for selectors). llvm-svn: 54034
* Only warn about missing/incomplete -dealloc implementations when a class ↵Ted Kremenek2008-07-251-6/+7
| | | | | | contains a non-SEL, non-IBOutlet ivar that references an ObjC object. llvm-svn: 54024
* Don't emit 'dead initialization' warnings for variables marked 'unused'.Ted Kremenek2008-07-251-3/+9
| | | | | | This fixes PR 2573: http://llvm.org/bugs/show_bug.cgi?id=2573 llvm-svn: 54009
* Use ASTContext::isObjCObjectPointerType() to check if an ivar is a reference ↵Ted Kremenek2008-07-241-3/+3
| | | | | | to an Objective-C object. llvm-svn: 53999
* Correctly handle NSAssertionHandle ↵Ted Kremenek2008-07-241-0/+1
| | | | | | | | -handleFailureInMethod:object:file:lineNumber:description: This fixes: http://llvm.org/bugs/show_bug.cgi?id=2593 llvm-svn: 53993
* Don't issue a missing +dealloc warning for classes that just contain SEL ivars.Ted Kremenek2008-07-241-1/+10
| | | | | | This fixes PR 2592: http://llvm.org/bugs/show_bug.cgi?id=2592 llvm-svn: 53987
* Issue dead store warnings for preincrements involved in a subexpression.Ted Kremenek2008-07-241-6/+1
| | | | llvm-svn: 53983
* Don't flag dead stores when the result of a preincrement/predecrement is ↵Ted Kremenek2008-07-231-1/+6
| | | | | | used in an enclosing expression. llvm-svn: 53964
* Further refine dead store checking to distinguish between dead stores and ↵Ted Kremenek2008-07-231-22/+65
| | | | | | dead increments. llvm-svn: 53960
* Properly skip IBOutlets when checking for unused ivars.Ted Kremenek2008-07-231-4/+6
| | | | | | | Refine the error message of unused ivars. Added test case. llvm-svn: 53957
* Ivar access mode ObjCIvarDecl::None == ObjCIvarDecl::Protected, not private.Ted Kremenek2008-07-231-2/+1
| | | | llvm-svn: 53953
* Add prototype implementation of unused ivar check.Ted Kremenek2008-07-231-0/+87
| | | | llvm-svn: 53942
* Moved registration of basic path-sensitive checks from GRSimpleVals.cpp to ↵Ted Kremenek2008-07-225-403/+349
| | | | | | GRExprEngineInternalChecks.cpp. llvm-svn: 53909
* Rename file.Ted Kremenek2008-07-221-0/+0
| | | | llvm-svn: 53906
* Added path-sensitive checking for null pointer values passed to function ↵Ted Kremenek2008-07-224-6/+103
| | | | | | | | arguments marked nonnull. This implements <rdar://problem/6069935> llvm-svn: 53891
* "currentHandler" is a nullary selectorTed Kremenek2008-07-181-1/+1
| | | | llvm-svn: 53763
* Fix caching bug.Ted Kremenek2008-07-181-4/+6
| | | | llvm-svn: 53759
* Add panic support for NSAssertionHandler.Ted Kremenek2008-07-181-8/+66
| | | | llvm-svn: 53758
* Add panic function.Ted Kremenek2008-07-181-2/+3
| | | | llvm-svn: 53755
* Fix 80 col violationTed Kremenek2008-07-181-5/+5
| | | | llvm-svn: 53754
* Fix regression by explicitly checking if we are negating a SymIntConstantVal.Ted Kremenek2008-07-182-1/+20
| | | | llvm-svn: 53753
* Improve path-sensitivity when using the logical not operator.Ted Kremenek2008-07-181-0/+34
| | | | llvm-svn: 53752
* Renamed deterministic EvalBinOp to DetermEvalBinOpNN. This name mangling is ↵Ted Kremenek2008-07-183-6/+10
| | | | | | unfortunately needed because virtual methods with the same name can be hidden by subclasses. llvm-svn: 53751
* Created ValueStateSet class to manage the creation of multiple states by a ↵Ted Kremenek2008-07-184-43/+35
| | | | | | | | method. Modified the new EvalBinOpNN to generate states instead of nodes. This is a much simpler interface and is what clients will want to do. llvm-svn: 53750
* Update signature of EvalAssume.Ted Kremenek2008-07-171-3/+3
| | | | llvm-svn: 53745
* Move GRTransferFunc* into ValueStateManager, and move the assumption logic ↵Ted Kremenek2008-07-172-181/+181
| | | | | | there as well. llvm-svn: 53743
OpenPOWER on IntegriCloud