diff options
| author | Ted Kremenek <kremenek@apple.com> | 2008-03-27 17:17:22 +0000 |
|---|---|---|
| committer | Ted Kremenek <kremenek@apple.com> | 2008-03-27 17:17:22 +0000 |
| commit | a4d60b6de3197d0f5ef5ce653d0f3adce235422c (patch) | |
| tree | afdc4d629878ffa458025f0ef252ab3f69a283f6 /clang/lib/Analysis/GRSimpleVals.cpp | |
| parent | f89469e392dfafe165024f20db7edc2db86490ba (diff) | |
| download | bcm5719-llvm-a4d60b6de3197d0f5ef5ce653d0f3adce235422c.tar.gz bcm5719-llvm-a4d60b6de3197d0f5ef5ce653d0f3adce235422c.zip | |
Add creation of BasicObjCFoundationChecks when running GRSimpleVals from the driver.
llvm-svn: 48886
Diffstat (limited to 'clang/lib/Analysis/GRSimpleVals.cpp')
| -rw-r--r-- | clang/lib/Analysis/GRSimpleVals.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/clang/lib/Analysis/GRSimpleVals.cpp b/clang/lib/Analysis/GRSimpleVals.cpp index b6e6b5087f1..520f6246bfe 100644 --- a/clang/lib/Analysis/GRSimpleVals.cpp +++ b/clang/lib/Analysis/GRSimpleVals.cpp @@ -14,6 +14,7 @@ //===----------------------------------------------------------------------===// #include "GRSimpleVals.h" +#include "BasicObjCFoundationChecks.h" #include "clang/Analysis/PathSensitive/ValueState.h" #include "clang/Basic/Diagnostic.h" #include <sstream> @@ -103,14 +104,19 @@ void EmitWarning(Diagnostic& Diag, SourceManager& SrcMgr, unsigned RunGRSimpleVals(CFG& cfg, Decl& CD, ASTContext& Ctx, Diagnostic& Diag, bool Visualize, bool TrimGraph) { - if (Diag.hasErrorOccurred()) - return 0; - GRCoreEngine<GRExprEngine> Eng(cfg, CD, Ctx); GRExprEngine* CheckerState = &Eng.getCheckerState(); + + // Set base transfer functions. GRSimpleVals GRSV; CheckerState->setTransferFunctions(GRSV); + // Add extra checkers. + llvm::OwningPtr<GRSimpleAPICheck> FoundationCheck( + CreateBasicObjCFoundationChecks(Ctx, &CheckerState->getStateManager())); + + CheckerState->AddObjCMessageExprCheck(FoundationCheck.get()); + // Execute the worklist algorithm. Eng.ExecuteWorkList(100000); |

