summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Frontend
Commit message (Collapse)AuthorAgeFilesLines
...
* Teach static analyzer to analyze Objective-C methods in category ↵Ted Kremenek2011-05-191-4/+6
| | | | | | implementations. llvm-svn: 131614
* Add Checker callback for running a checker at the end of processing an ↵Ted Kremenek2011-05-051-0/+3
| | | | | | entire TranslationUnit. Patch by Lei Zhang. llvm-svn: 130913
* fix a bunch of comment typos found by codespell. Patch byChris Lattner2011-04-151-1/+1
| | | | | | Luis Felipe Strano Moraes! llvm-svn: 129559
* [analyzer] For -analyzer-checker-help show all the info about groups, ↵Argyrios Kyrtzidis2011-03-291-3/+0
| | | | | | packages, and which packages/checkers are hidden. llvm-svn: 128511
* [analyzer] Remove unused checker stuff from AnalysisConsumer and some unused ↵Argyrios Kyrtzidis2011-02-281-34/+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-281-7/+8
| | | | | | 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-281-2/+0
| | | | | | | | 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-281-0/+2
| | | | | | | | | 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
* [analyzer] Migrate ArrayBoundCheckerV2 to CheckerV2.Argyrios Kyrtzidis2011-02-281-4/+0
| | | | | | 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-281-6/+0
| | | | llvm-svn: 126608
* [analyzer] Remove '-analyzer-experimental-checks' flag.Argyrios Kyrtzidis2011-02-281-3/+0
| | | | llvm-svn: 126607
* Intoduce '-analyzer-checker-help' flag which outputs a list of all available ↵Argyrios Kyrtzidis2011-02-251-0/+15
| | | | | | | | 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-241-3/+0
| | | | | | have any checkers associated with it anymore. llvm-svn: 126440
* [analyzer] Add LangOptions in CheckerManager.Argyrios Kyrtzidis2011-02-232-2/+4
| | | | llvm-svn: 126306
* 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-191-2/+8
| | | | | | The syntax is (add_dependencies target-name depend-target1 ...). llvm-svn: 126049
* [analyzer] Use the new registration mechanism for the debugging info "checks".Argyrios Kyrtzidis2011-02-171-19/+0
| | | | | | | | | | 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-171-40/+0
| | | | | | | | | | | | | non-path-sensitive-checkers: DeadStoresChecker ObjCMethSigsChecker ObjCUnusedIvarsChecker SizeofPointerChecker ObjCDeallocChecker SecuritySyntaxChecker llvm-svn: 125779
* [analyzer]Argyrios Kyrtzidis2011-02-171-18/+11
| | | | | | | | | | -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
* When building StaticAnalyzer/Frontend add -I "<Checkers build dir>" to allow ↵Argyrios Kyrtzidis2011-02-172-0/+4
| | | | | | | | | | Checkers.inc to be included without '..', thus being compatible with build systems of *BSDs. Patch by Joerg Sonnenberger! llvm-svn: 125758
* [analyzer] Use the new registration mechanism on the apple checkers:Argyrios Kyrtzidis2011-02-161-1/+2
| | | | | | | | | | NilArgChecker CFNumberCreateChecker NSAutoreleasePoolChecker CFRetainReleaseChecker ClassReleaseChecker llvm-svn: 125636
* [analyzer] Use the new registration mechanism on the IdempotentOperationChecker.Argyrios Kyrtzidis2011-02-151-6/+0
| | | | llvm-svn: 125611
* [analyzer] Remove ObjCSelfInitCheck from AnalyzerOptions.Argyrios Kyrtzidis2011-02-151-3/+0
| | | | llvm-svn: 125599
* Fix the clang-wpa example.Argyrios Kyrtzidis2011-02-153-3/+2
| | | | llvm-svn: 125565
* [analyzer] Use the new registration mechanism on some of the internal ↵Argyrios Kyrtzidis2011-02-151-0/+1
| | | | | | | | | | | | | checks. These are: StackAddrLeakChecker ObjCAtSyncChecker UnixAPIChecker MacOSXAPIChecker The rest have/create implicit dependencies between checkers and need to be handled differently. llvm-svn: 125559
* [analyzer] Overhauling of the checker registration mechanism.Argyrios Kyrtzidis2011-02-145-1/+60
| | | | | | | | | | | | | | -Checkers will be defined in the tablegen file 'Checkers.td'. -Apart from checkers, we can define checker "packages" that will contain a collection of checkers. -Checkers can be enabled with -analyzer-checker=<name> and disabled with -analyzer-disable-checker=<name> e.g: Enable checkers from 'cocoa' and 'corefoundation' packages except the self-initialization checker: -analyzer-checker=cocoa -analyzer-checker=corefoundation -analyzer-disable-checker=cocoa.SelfInit -Introduces CheckerManager and CheckerProvider. CheckerProviders get the set of checker names to enable/disable and register them with the CheckerManager which will be the entry point for all checker-related functionality. Currently only the self-initialization checker takes advantage of the new mechanism. llvm-svn: 125503
* [analyzer] Remove ManagerRegistry which is not used. In the future we may ↵Argyrios Kyrtzidis2011-02-141-18/+8
| | | | | | | | load analyzer plugins dynamically but registration through static constructors should be avoided. llvm-svn: 125502
* [analyzer] Move include/clang/StaticAnalyzer/AnalysisConsumer.h -> ↵Argyrios Kyrtzidis2011-02-143-2/+41
| | | | | | | | lib/StaticAnalyzer/Frontend/AnalysisConsumer.h since FrontendActions.cpp is the only user. llvm-svn: 125501
* [analyzer] Move Checkers/FrontendActions.cpp -> Frontend/FrontendActions.cppArgyrios Kyrtzidis2011-02-142-0/+23
| | | | llvm-svn: 125500
* [analyzer] Introduce libclangStaticAnalyzerFrontend and move ↵Argyrios Kyrtzidis2011-02-143-0/+649
Checkers/AnalysisConsumer.cpp into Frontend lib. llvm-svn: 125499
OpenPOWER on IntegriCloud