Go to the source code of this file.
|
int | main (int argc, char **argv) |
|
◆ main()
int main |
( |
int |
argc, |
|
|
char ** |
argv |
|
) |
| |
Definition at line 42 of file saber.cpp.
45 std::vector<std::string> moduleNameVec;
47 argc, argv,
"Source-Sink Bug Detector",
"[options] <input-bitcode...>"
50 if (Options::WriteAnder() ==
"ir_annotator")
52 LLVMModuleSet::preProcessBCs(moduleNameVec);
55 SVFModule* svfModule = LLVMModuleSet::buildSVFModule(moduleNameVec);
57 SVFIR* pag = builder.build();
60 std::unique_ptr<LeakChecker> saber;
62 if(Options::MemoryLeakCheck())
63 saber = std::make_unique<LeakChecker>();
64 else if(Options::FileCheck())
65 saber = std::make_unique<FileChecker>();
66 else if(Options::DFreeCheck())
67 saber = std::make_unique<DoubleFreeChecker>();
69 saber = std::make_unique<LeakChecker>();
71 saber->runOnModule(pag);
72 LLVMModuleSet::releaseLLVMModuleSet();
static std::vector< std::string > parseOptions(int argc, char *argv[], std::string description, std::string callFormat)