summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer
Commit message (Collapse)AuthorAgeFilesLines
...
* [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
* [analyzer] Remove unused functions from CheckerManager.Argyrios Kyrtzidis2011-02-242-7/+0
| | | | llvm-svn: 126352
* [analyzer] Migrate StreamChecker to CheckerV2.Argyrios Kyrtzidis2011-02-241-75/+71
| | | | llvm-svn: 126351
* [analyzer] Migrate CStringChecker to CheckerV2.Argyrios Kyrtzidis2011-02-243-100/+193
| | | | llvm-svn: 126350
* [analyzer] Migrate StackAddrLeakChecker to CheckerV2.Argyrios Kyrtzidis2011-02-233-30/+40
| | | | llvm-svn: 126333
* [analyzer] Refactor EndOfFunctionNodeBuilder.Argyrios Kyrtzidis2011-02-235-7/+9
| | | | | | | | | -Introduce EndOfFunctionNodeBuilder::withCheckerTag to allow it be "specialized" with a checker tag and not require the checkers to pass a tag. -For EndOfFunctionNodeBuilder::generateNode, reverse the order of tag/P parameters since there are actual calls that assume the second parameter is ExplodedNode. llvm-svn: 126332
* [analyzer] Migrate IdempotentOperationChecker to CheckerV2.Argyrios Kyrtzidis2011-02-231-34/+24
| | | | llvm-svn: 126331
* [analyzer] const goodness.Argyrios Kyrtzidis2011-02-231-7/+7
| | | | llvm-svn: 126326
* [analyzer] Rename runPathSensitiveCheckers -> expandGraphWithCheckers.Argyrios Kyrtzidis2011-02-231-6/+6
| | | | llvm-svn: 126325
* [analyzer] Migrate ChrootChecker to CheckerV2.Argyrios Kyrtzidis2011-02-233-29/+101
| | | | llvm-svn: 126324
* [analyzer] Migrate UnreachableCodeChecker to CheckerV2.Argyrios Kyrtzidis2011-02-233-32/+38
| | | | llvm-svn: 126308
* [analyzer] Migrate to CheckerV2:Argyrios Kyrtzidis2011-02-232-52/+33
| | | | | | | NSAutoreleasePoolChecker ObjCAtSyncChecker llvm-svn: 126307
* [analyzer] Add LangOptions in CheckerManager.Argyrios Kyrtzidis2011-02-232-2/+4
| | | | llvm-svn: 126306
* Migrate CFGReachabilityAnalysis out of the IdempotentOperationsChecker and ↵Ted Kremenek2011-02-231-83/+8
| | | | | | into its own analysis file. llvm-svn: 126289
* Have IdempotentOperationsChecker pull its CFGStmtMap from AnalysisContext.Ted Kremenek2011-02-231-4/+1
| | | | llvm-svn: 126288
* [analyzer] Migrate to CheckerV2:Argyrios Kyrtzidis2011-02-238-145/+107
| | | | | | | | | | | | CastToStructChecker FixedAddressChecker MacOSXAPIChecker PointerArithChecker PointerSubChecker PthreadLockChecker UnixAPIChecker llvm-svn: 126284
* [analyzer] Migrate the BasicObjCFoundationChecks to CheckerV2:Argyrios Kyrtzidis2011-02-231-67/+46
| | | | | | | | NilArgChecker CFNumberCreateChecker ClassReleaseChecker llvm-svn: 126275
* [analyzer] Fix CheckerManager::runCheckersForObjCMessage.Argyrios Kyrtzidis2011-02-231-1/+4
| | | | | | It would run PostObjCMessage checkers even for PreObjCMessage checking. llvm-svn: 126274
* [analyzer] Refactor BugTypes and their ownership model.Argyrios Kyrtzidis2011-02-232-39/+45
| | | | | | | | | | | | | -In general, don't have the BugReporter deleting BugTypes, BugTypes will eventually become owned by checkers and outlive the BugReporter. In the meantime, there will be some leaks since some checkers assume that the BugTypes they create will be destroyed by the BugReporter. -Have BugReporter::EmitBasicReport create BugTypes that are reused if the same name & category strings are passed to EmitBasicReport. These BugTypes are owned and destroyed by the BugReporter. This allows bugs reported through EmitBasicReport to be coalesced. -Remove the llvm::FoldingSet<BugReportEquivClass> from BugType and move it into the BugReporter. For uniquing BugReportEquivClass also use the BugType* so that we can iterate over all of them using only one set. llvm-svn: 126272
* [analyzer] Start moving the path-sensitive checkers to CheckerV2.Argyrios Kyrtzidis2011-02-223-89/+310
| | | | | | | | -Migrate ObjCSelfInitChecker to CheckerV2. In the process remove the 'preCallSelfFlags' field from the checker class and use GRState for storing that info. -Get ExprEngine to start delegating checker running to CheckerManager. llvm-svn: 126229
* Add CStringChecker support for strncpy. Patch by Lenny Maiorani!Ted Kremenek2011-02-221-4/+37
| | | | llvm-svn: 126188
* Add CStringChecker support for strnlen. Patch by Lenny Maiorani!Ted Kremenek2011-02-221-0/+40
| | | | llvm-svn: 126187
* New function for tablegenning: clang_tablegen.Oscar Fuentes2011-02-201-6/+4
| | | | llvm-svn: 126093
* Correct name of dependent target.Oscar Fuentes2011-02-201-1/+1
| | | | | | | CMake complained about this while generating VS project files but was okay with it while generating makefiles on Linux. llvm-svn: 126090
* Fix some add_dependencies.Oscar Fuentes2011-02-192-4/+16
| | | | | | The syntax is (add_dependencies target-name depend-target1 ...). llvm-svn: 126049
* [analyzer] Fix crash when analyzing C++ code.Argyrios Kyrtzidis2011-02-192-2/+2
| | | | llvm-svn: 126025
* Change 'StoreRef' back to 'Store' in GRState, shrinking the size of GRState ↵Ted Kremenek2011-02-192-4/+38
| | | | | | back by one pointer. llvm-svn: 126020
* [analyzer] Fix crash when analyzing C++ code.Argyrios Kyrtzidis2011-02-191-1/+1
| | | | llvm-svn: 126013
* Add 'StoreRef' smart pointer to allow more fine-grain memory lifetime ↵Ted Kremenek2011-02-195-228/+258
| | | | | | | | | | | | control of Store objects. This yields a minor memory reduction (for larger functions) on Sqlite at the cost of slightly higher memory usage on some functions because of the increased size of GRState (which can be optimized). I expect the real memory savings from this enhancement will come when we aggressively canabilize more of the ExplodedGraph. llvm-svn: 126012
* [analyzer] Fix crash when analyzing C++ code.Argyrios Kyrtzidis2011-02-191-3/+1
| | | | llvm-svn: 126007
* [analyzer] Fix crash when analyzing C++ code.Argyrios Kyrtzidis2011-02-181-0/+6
| | | | llvm-svn: 125963
* CMake: updated source file list.Oscar Fuentes2011-02-171-0/+1
| | | | llvm-svn: 125783
* [analyzer] Use the new registration mechanism for the debugging info "checks".Argyrios Kyrtzidis2011-02-173-19/+96
| | | | | | | | | | The relative checker package is 'debug': '-dump-live-variables' is replaced by '-analyzer-checker=debug.DumpLiveVars' '-cfg-view' is replaced by '-analyzer-checker=debug.ViewCFG' '-cfg-dump' is replaced by '-analyzer-checker=debug.DumpCFG' llvm-svn: 125780
* [analyzer] Use the new registration mechanism on the ↵Argyrios Kyrtzidis2011-02-178-64/+162
| | | | | | | | | | | | | non-path-sensitive-checkers: DeadStoresChecker ObjCMethSigsChecker ObjCUnusedIvarsChecker SizeofPointerChecker ObjCDeallocChecker SecuritySyntaxChecker llvm-svn: 125779
* [analyzer]Argyrios Kyrtzidis2011-02-174-42/+101
| | | | | | | | | | -Introduce CheckerV2, a set of templates for convenient declaration & registration of checkers. Currently useful just for checkers working on the AST not the path-sensitive ones. -Enhance CheckerManager to actually collect the checkers and turn it into the entry point for running the checkers. -Use the new mechanism for the LLVMConventionsChecker. llvm-svn: 125778
* [analyzer] Pass CheckerManager to the registration functions.Argyrios Kyrtzidis2011-02-1719-24/+121
| | | | llvm-svn: 125777
* When building StaticAnalyzer/Frontend add -I "<Checkers build dir>" to allow ↵Argyrios Kyrtzidis2011-02-173-1/+5
| | | | | | | | | | Checkers.inc to be included without '..', thus being compatible with build systems of *BSDs. Patch by Joerg Sonnenberger! llvm-svn: 125758
OpenPOWER on IntegriCloud