summaryrefslogtreecommitdiffstats
path: root/clang/Driver/AnalysisConsumer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add an option to make 'RemoveDeadBindings' a configurable behavior. This enablesZhongxing Xu2008-12-221-3/+12
| | | | | | us to measure the effect of this optimization. llvm-svn: 61319
* Update Driver to new interface for LiveVariables.Ted Kremenek2008-12-091-1/+1
| | | | llvm-svn: 60732
* Add support for pluggable components of static analyzer.Zhongxing Xu2008-11-271-12/+46
| | | | | | | | | | - Creator function pointers are saved in ManagerRegistry. - The Register* class is used to notify ManagerRegistry new module is available. - AnalysisManager queries ManagerRegistry for configurable module. Then it passes them to GRExprEngine, in turn to GRStateManager. llvm-svn: 60143
* Display the function we are analyzing before running LiveVariables.Ted Kremenek2008-11-241-4/+4
| | | | llvm-svn: 59983
* Rename Selector::getName() to Selector::getAsString(), and addChris Lattner2008-11-241-2/+2
| | | | | | | | | | | | | a new NamedDecl::getAsString() method. Change uses of Selector::getName() to just pass in a Selector where possible (e.g. to diagnostics) instead of going through an std::string. This also adds new formatters for objcinstance and objcclass as described in the dox. llvm-svn: 59933
* Output 'ANALYZE' messages to standard error. This should address the ↵Ted Kremenek2008-11-201-2/+2
| | | | | | intermixing of 'ANALYZE' and the other diagnostics the clang driver emits to standard error. llvm-svn: 59730
* [LLVM up] Update for raw_fd_ostream change. This fixes a FIXME thatDaniel Dunbar2008-11-131-1/+1
| | | | | | | | the Backend output should be done in binary mode. - I'd appreciate it if someone who has a Windows build could verify this. llvm-svn: 59221
* Patch by Nikita Zhuk: Add TranslationUnitActions to AnalysisConsumer.Ted Kremenek2008-11-071-0/+12
| | | | llvm-svn: 58831
* AnalysisManager can now be used to for analyses over TranslationUnits.Ted Kremenek2008-11-051-5/+22
| | | | llvm-svn: 58766
* Hook up the Plist diagnostic client to the driver.Ted Kremenek2008-11-031-6/+13
| | | | | | Fix Plist output. llvm-svn: 58652
* Rename 'HTMLDiagnostics.h' to 'PathDiagnosticClients.h'Ted Kremenek2008-11-031-1/+1
| | | | llvm-svn: 58646
* Adjust code format.Zhongxing Xu2008-10-301-2/+1
| | | | llvm-svn: 58420
* Make the analyzer store (memory model) a command line option.Ted Kremenek2008-10-241-4/+18
| | | | llvm-svn: 58056
* Change implementation of NSError** coding-style check to be invoked at the ↵Ted Kremenek2008-09-181-5/+0
| | | | | | end of the retain/release analysis. llvm-svn: 56312
* Implemented one of the checks requested in PR 2600:Ted Kremenek2008-09-181-0/+5
| | | | | | | | "Method accepting NSError** argument should have non-void return value to indicate that an error occurred." Test case written, but the header needs to be delta-debugged reduced. Will commit shortly. llvm-svn: 56297
* Output "ANALYZE:" diagnostics to STDOUT instead of STDERR.Ted Kremenek2008-09-041-2/+2
| | | | llvm-svn: 55750
* Add newline to end of file.Daniel Dunbar2008-08-291-1/+1
| | | | llvm-svn: 55525
* Always print out the function we're analyzing.Ted Kremenek2008-08-281-2/+4
| | | | llvm-svn: 55488
* Ubigraph visualization: represent cached nodes with a different style.Ted Kremenek2008-08-281-3/+14
| | | | llvm-svn: 55463
* Automatically execute ubiviz.Ted Kremenek2008-08-281-3/+28
| | | | | | Cleanup ubigraph files when don't drawing the graphs. llvm-svn: 55459
* Ubigraph-rendered ExplodedGraphs now have arrows and are oriented downward.Ted Kremenek2008-08-271-1/+2
| | | | llvm-svn: 55446
* Added Ubigraph visualization for the static analyzer (this is pretty alpha ↵Ted Kremenek2008-08-271-8/+104
| | | | | | quality). llvm-svn: 55442
* Moved HTMLDiagnostics to lib/Driver.Zhongxing Xu2008-08-241-1/+1
| | | | llvm-svn: 55274
* Fix regression when invoking the MissingDealloc analysis: disable this check ↵Ted Kremenek2008-08-041-0/+3
| | | | | | when in -fobjc-gc-only mode. llvm-svn: 54319
* Add prototype implementation of unused ivar check.Ted Kremenek2008-07-231-0/+5
| | | | llvm-svn: 53942
* Moved registration of basic path-sensitive checks from GRSimpleVals.cpp to ↵Ted Kremenek2008-07-221-5/+10
| | | | | | GRExprEngineInternalChecks.cpp. llvm-svn: 53909
* Provide an "Analysis Scope" for Analyses so checks can either be run on code ↵Ted Kremenek2008-07-151-2/+2
| | | | | | declarations (bodies) or Objective-C @implementation blocks. llvm-svn: 53584
* Break off declaration of Analysis enum into Analyses.def. The driver options inTed Kremenek2008-07-141-51/+18
| | | | | | | | | | | | clang.cpp now #include these definitions to create the command line options, and AnalysisConsumer #includes this file to generate the switch statement to create actions. Renamed -check-objc-methodsigs to -warn-objc-methodsigs. The "missing -dealloc" check is now optional: -warn-objc-missing-dealloc llvm-svn: 53575
* Add new check: -check-objc-methodsigs. This check scans methods inTed Kremenek2008-07-111-2/+13
| | | | | | | | | ObjCImplementationDecls and sees if a ancestor class defines a method with the same selector but with a different type signature. Right now it just compares return types, and mainly looks at differences in primitive values. The checking will be expanded in the future. llvm-svn: 53482
* For the -dealloc checker, check the LangOptions to determine whether or not ↵Ted Kremenek2008-07-031-2/+5
| | | | | | the code is compiled with GC. llvm-svn: 53098
* Have BugReporter::getCFG and BugReporter::getLiveVariables returns pointers ↵Ted Kremenek2008-07-031-20/+34
| | | | | | | | instead of references, because they can both fail on functions we cannot construct full CFGs for yet. llvm-svn: 53081
* Added static analysis check to see if a subclass of NSObject implements ↵Ted Kremenek2008-07-031-9/+35
| | | | | | -dealloc, and whether or not that implementation calls [super dealloc]. llvm-svn: 53075
* Unify the code path for the Dead Stores checker to always use the ↵Ted Kremenek2008-07-021-8/+7
| | | | | | BugReporter interface. llvm-svn: 53054
* Refactored some of the BugReporter interface so that data such as the ↵Ted Kremenek2008-07-021-24/+26
| | | | | | | | ASTContext&, PathDiagnosticClient*, can be provided by an external source. Split BugReporter into BugReporter and GRBugReporter so checkers not based on GRExprEngine can still use the BugReporter mechanism. llvm-svn: 53048
* GRExprEngine now expects the LiveVariables information to be provided by its ↵Ted Kremenek2008-07-021-1/+3
| | | | | | | | creator. This allows an optimization in AnalysisConsumer where the same LiveVariables information is used between multiple analyses. llvm-svn: 53046
* Added version of CheckDeadStores that accepts a client-provided ↵Ted Kremenek2008-07-021-1/+2
| | | | | | | | LiveVariables object. Modified the DeadStores logic in AnalysisConsumer.cpp to use the LiveVariables object created by the AnalysisManager. llvm-svn: 53043
* Moved logic for -dump-cfg and -view-cfg into AnalysisConsumer.Ted Kremenek2008-07-021-0/+18
| | | | | | Renamed -dump-cfg to -cfg-dump, and -view-cfg to -cfg-view. This naming better matches the same options for asts (e.g. -ast-dump). llvm-svn: 53041
* Move -dump-live-variables logic to AnalysisConsumer.Ted Kremenek2008-07-021-1/+25
| | | | llvm-svn: 53039
* Migrate CheckerConsumer diagnostics to the new AnalysisConsumer interface.Ted Kremenek2008-07-021-2/+42
| | | | | | Remove CheckerConsumer. llvm-svn: 53029
* Move logic for "-checker-simple" to the new AnalysisConsumer interface.Ted Kremenek2008-07-021-13/+27
| | | | llvm-svn: 53028
* Migrated driver logic for running the CF retain/release checker over to the ↵Ted Kremenek2008-07-021-0/+58
| | | | | | new AnalysisConsumer interface. llvm-svn: 53002
* Added AnalysisConsumer, a meta-level ASTConsumer class to drive variousTed Kremenek2008-07-021-0/+248
analyses. This potentially is the primordial origins of a Clang-equivalent "PassManager". The new AnalysisConsumer interface allows multiple analyses to be run from a single invocation of Clang. Migrated the logic of "-warn-dead-stores" and "-warn-uninit-values" to use the new AnalysisConsumer interface. The new interface results in a significant code reduction to incorporate an analysis into the Driver. Updated a test case to (correctly) acknowledge that it contains a dead store (this check wasn't being performed because it was previously masked by -warn-uninit-values). llvm-svn: 52996
OpenPOWER on IntegriCloud