Commit Graph

14 Commits

Author SHA1 Message Date
Argyrios Kyrtzidis 753b3ca32f [analyzer] Migrate UndefBranchChecker to CheckerV2.
llvm-svn: 126616
2011-02-28 01:27:33 +00:00
Argyrios Kyrtzidis 183f0fb4cf [analyzer] Migrate MallocChecker to CheckerV2.
llvm-svn: 126606
2011-02-28 01:26:35 +00:00
Argyrios Kyrtzidis 8f38c3843d [analyzer] Don't pass a GRState to CheckerManager::runCheckersForLocation, terrible mistake.
If the state is new, make sure an ExplodedNode is associated with it.

llvm-svn: 126370
2011-02-24 08:42:04 +00:00
Argyrios Kyrtzidis 4769e9376e [analyzer] Remove unused functions from CheckerManager.
llvm-svn: 126352
2011-02-24 01:05:37 +00:00
Argyrios Kyrtzidis c26f15dbad [analyzer] Migrate CStringChecker to CheckerV2.
llvm-svn: 126350
2011-02-24 01:05:30 +00:00
Argyrios Kyrtzidis 506220fef7 [analyzer] Migrate StackAddrLeakChecker to CheckerV2.
llvm-svn: 126333
2011-02-23 21:04:54 +00:00
Argyrios Kyrtzidis 68cab73ab9 [analyzer] const goodness.
llvm-svn: 126326
2011-02-23 19:38:45 +00:00
Argyrios Kyrtzidis d0732a660a [analyzer] Rename runPathSensitiveCheckers -> expandGraphWithCheckers.
llvm-svn: 126325
2011-02-23 19:38:41 +00:00
Argyrios Kyrtzidis da02a25ae6 [analyzer] Migrate ChrootChecker to CheckerV2.
llvm-svn: 126324
2011-02-23 19:38:39 +00:00
Argyrios Kyrtzidis bf61d97a98 [analyzer] Migrate UnreachableCodeChecker to CheckerV2.
llvm-svn: 126308
2011-02-23 07:19:23 +00:00
Argyrios Kyrtzidis 22f2586bfb [analyzer] Fix CheckerManager::runCheckersForObjCMessage.
It would run PostObjCMessage checkers even for PreObjCMessage checking.

llvm-svn: 126274
2011-02-23 00:16:07 +00:00
Argyrios Kyrtzidis ed35cf271d [analyzer] Start moving the path-sensitive checkers to CheckerV2.
-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
2011-02-22 17:30:38 +00:00
Argyrios Kyrtzidis 24ffc08f39 [analyzer]
-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
2011-02-17 21:39:24 +00:00
Argyrios Kyrtzidis 556c45e9c5 [analyzer] Overhauling of the checker registration mechanism.
-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
2011-02-14 18:13:31 +00:00