summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer
Commit message (Collapse)AuthorAgeFilesLines
* Move some of the logic about classifying Objective-C methods intoJohn McCall2011-03-022-7/+31
| | | | | | | | conventional categories into Basic and AST. Update the self-init checker to use this logic; CFRefCountChecker is complicated enough that I didn't want to touch it. llvm-svn: 126817
* Teach CFGBuilder to prune trivially unreachable case statements.Ted Kremenek2011-03-011-0/+4
| | | | llvm-svn: 126797
* In preparation for fixing PR 6884, rework CFGElement to have getAs<> return ↵Ted Kremenek2011-03-013-21/+24
| | | | | | | | | pointers instead of fresh CFGElements. - Also, consoldiate getDtorKind() and getKind() into one "kind". - Add empty getDestructorDecl() method to CFGImplicitDtor. llvm-svn: 126738
* [analyzer] Also make sure that the parameter is coming from the current ↵Argyrios Kyrtzidis2011-03-011-4/+8
| | | | | | stack frame. llvm-svn: 126735
* [analyzer] Remove SVal::getAsVarDecl() and reason about MemRegions, not ↵Argyrios Kyrtzidis2011-03-012-27/+28
| | | | | | Decls. Suggestion by Ted! llvm-svn: 126734
* [analyzer] Move lib/StaticAnalyzer/Checkers/ExprEngine.cpp -> ↵Argyrios Kyrtzidis2011-03-013-1/+1
| | | | | | | | lib/StaticAnalyzer/Core and hope the wrath of the buildbots will not descend upon me. llvm-svn: 126728
* [analyzer] Rename CheckerV2 -> Checker.Argyrios Kyrtzidis2011-03-0148-103/+103
| | | | llvm-svn: 126726
* [analyzer] Remove Checker V1.Argyrios Kyrtzidis2011-03-014-9/+5
| | | | llvm-svn: 126725
* [analyzer] Remove checker V1 registration and running from ExprEngine.Argyrios Kyrtzidis2011-03-013-522/+83
| | | | llvm-svn: 126724
* Improves the coding style in SValBuilder. This patch:Zhanyong Wan2011-03-013-84/+86
| | | | | | | | | | | | | | - renames evalCastNL and evalCastL to evalCastFromNonLoc and evalCastFromLoc (avoid abbreviations that aren't well known). - makes all function parameter names start with a lower case letter for consistency and distinction from member variables. - avoids abbreviations in function parameter names. Reviewed by kremenek@apple.com. llvm-svn: 126722
* [analyzer] Remove unused checker stuff from AnalysisConsumer and some unused ↵Argyrios Kyrtzidis2011-02-287-108/+5
| | | | | | headers. llvm-svn: 126690
* [analyzer] Remove '-analyzer-check-objc-mem' flag, the nominee for best ↵Argyrios Kyrtzidis2011-02-281-10/+0
| | | | | | misnomer award. llvm-svn: 126676
* [analyzer] Run the ExprEngine depending on the CheckerManager having ↵Argyrios Kyrtzidis2011-02-282-7/+24
| | | | | | path-sensitive checkers. llvm-svn: 126674
* [analyzer] The current UninitializedValuesChecker will go away, remove ↵Argyrios Kyrtzidis2011-02-281-8/+0
| | | | | | '-warn-uninit-values'. llvm-svn: 126673
* [analyzer] Migrate NSErrorChecker and DereferenceChecker to CheckerV2.Argyrios Kyrtzidis2011-02-285-208/+263
| | | | | | | | They cooperate in that NSErrorChecker listens for ImplicitNullDerefEvent events that DereferenceChecker can dispatch. ImplicitNullDerefEvent is when we dereferenced a location that may be null. llvm-svn: 126659
* [analyzer] Introduce "event" mechanism in CheckerManager.Argyrios Kyrtzidis2011-02-282-0/+12
| | | | | | | | | A checker can register as receiver/listener of "events" (basically it registers a callback with a function getting called with an argument of the event type) and other checkers can register as "dispatchers" and can pass an event object to all the listeners. This allows cooperation amongst checkers but with very loose coupling. llvm-svn: 126658
* [analyzer] Run AST checkers for ObjCMethodDecls.Argyrios Kyrtzidis2011-02-281-0/+2
| | | | llvm-svn: 126657
* Fix CMake build.Anders Carlsson2011-02-281-1/+0
| | | | llvm-svn: 126629
* [analyzer] Introduce SVal::getAsVarDecl().Argyrios Kyrtzidis2011-02-281-0/+10
| | | | llvm-svn: 126627
* [analzyer] Migrate CallAndMessageChecker to CheckerV2.Argyrios Kyrtzidis2011-02-284-62/+65
| | | | llvm-svn: 126626
* [analyzer] ExprEngine should not depend on checkers for not crashing.Argyrios Kyrtzidis2011-02-281-26/+27
| | | | llvm-svn: 126625
* [analyzer] Migrate AdjustedReturnValueChecker to CheckerV2.Argyrios Kyrtzidis2011-02-284-19/+16
| | | | llvm-svn: 126624
* [analyzer] Migrate AttrNonNullChecker to CheckerV2.Argyrios Kyrtzidis2011-02-284-20/+20
| | | | llvm-svn: 126623
* [analyzer] ExprEngine should not depend on checkers for not crashing.Argyrios Kyrtzidis2011-02-282-4/+19
| | | | llvm-svn: 126622
* [analyzer] Migrate VLASizeChecker to CheckerV2.Argyrios Kyrtzidis2011-02-284-21/+22
| | | | llvm-svn: 126621
* [analyzer] Migrate DivZeroChecker to CheckerV2.Argyrios Kyrtzidis2011-02-284-21/+18
| | | | llvm-svn: 126620
* [analyzer] Migrate ReturnUndefChecker to CheckerV2.Argyrios Kyrtzidis2011-02-284-22/+19
| | | | llvm-svn: 126619
* [analyzer] Migrate UndefinedArraySubscriptChecker to CheckerV2.Argyrios Kyrtzidis2011-02-284-20/+19
| | | | llvm-svn: 126618
* [analyzer] Migrate UndefinedAssignmentChecker to CheckerV2.Argyrios Kyrtzidis2011-02-284-25/+20
| | | | llvm-svn: 126617
* [analyzer] Migrate UndefBranchChecker to CheckerV2.Argyrios Kyrtzidis2011-02-285-23/+38
| | | | llvm-svn: 126616
* [analyzer] Migrate UndefCapturedBlockVarChecker to CheckerV2.Argyrios Kyrtzidis2011-02-284-16/+18
| | | | llvm-svn: 126615
* [analyzer] Migrate UndefResultChecker to CheckerV2.Argyrios Kyrtzidis2011-02-284-16/+18
| | | | llvm-svn: 126614
* [analyzer] Migrate NoReturnFunctionChecker to CheckerV2.Argyrios Kyrtzidis2011-02-284-15/+16
| | | | llvm-svn: 126613
* [analyzer] Move the DeadStores checker out of the 'core' package.Argyrios Kyrtzidis2011-02-281-2/+2
| | | | | | | -Now it gets enabled with '-analyzer-checker=DeadStores'. -The driver passes the above flag by default. llvm-svn: 126612
* [analyzer] Migrate BuiltinFunctionChecker to CheckerV2.Argyrios Kyrtzidis2011-02-284-14/+20
| | | | llvm-svn: 126611
* [analyzer] Migrate OSAtomicChecker to CheckerV2.Argyrios Kyrtzidis2011-02-284-15/+17
| | | | llvm-svn: 126610
* [analyzer] Migrate ArrayBoundCheckerV2 to CheckerV2.Argyrios Kyrtzidis2011-02-284-23/+21
| | | | | | Turns -analyzer-check-buffer-overflows into -analyzer-checker=core.experimental.Overflow llvm-svn: 126609
* [analyzer] Turn -analyzer-stats into -analyzer-checker=debug.StatsArgyrios Kyrtzidis2011-02-284-57/+18
| | | | llvm-svn: 126608
* [analyzer] Remove '-analyzer-experimental-checks' flag.Argyrios Kyrtzidis2011-02-283-29/+0
| | | | llvm-svn: 126607
* [analyzer] Migrate MallocChecker to CheckerV2.Argyrios Kyrtzidis2011-02-285-82/+139
| | | | llvm-svn: 126606
* Update test cases.Ted Kremenek2011-02-251-2/+2
| | | | llvm-svn: 126523
* Tidy up help text in Checkers.td, and rename StackAddrLeakChecker to ↵Ted Kremenek2011-02-253-19/+19
| | | | | | StackAddrEscapeChecker. llvm-svn: 126522
* Intoduce '-analyzer-checker-help' flag which outputs a list of all available ↵Argyrios Kyrtzidis2011-02-252-2/+62
| | | | | | | | static analyzer checkers. This is pretty basic for now, eventually checkers should be grouped according to package, hidden checkers should be indicated etc. llvm-svn: 126454
* [analyzer] Remove '-analyzer-experimental-internal-checks' flag, it doesn't ↵Argyrios Kyrtzidis2011-02-242-9/+0
| | | | | | have any checkers associated with it anymore. llvm-svn: 126440
* [analyzer] Allow a checker to be hidden even if its package is hidden & enabled.Argyrios Kyrtzidis2011-02-242-4/+6
| | | | | | | For example, if 'core.experimental.UnreachableCode' is hidden, it should not be enabled with 'core.experimental'. Note that this requires llvm commit r126436. llvm-svn: 126439
* [analyzer] Migrate CastSizeChecker to CheckerV2.Argyrios Kyrtzidis2011-02-244-20/+18
| | | | llvm-svn: 126438
* [analyzer] Migrate ArrayBoundChecker to CheckerV2.Argyrios Kyrtzidis2011-02-244-18/+21
| | | | llvm-svn: 126371
* [analyzer] Don't pass a GRState to CheckerManager::runCheckersForLocation, ↵Argyrios Kyrtzidis2011-02-242-14/+16
| | | | | | | | terrible mistake. If the state is new, make sure an ExplodedNode is associated with it. llvm-svn: 126370
* [analyzer] Migrate ReturnPointerRangeChecker to CheckerV2.Argyrios Kyrtzidis2011-02-244-23/+20
| | | | llvm-svn: 126369
* Fix tiny error in CFG construction for BinaryConditionalOperators, making ↵Ted Kremenek2011-02-241-0/+5
| | | | | | | | | sure the branch always has two successors. Also teach Environment::getSVal() about OpaqueValueExprs. This fixes a crash reported in PR9287, and also fixes a false positive involving the value of such ternary expressions not properly getting propagated. llvm-svn: 126362
OpenPOWER on IntegriCloud