summaryrefslogtreecommitdiffstats
path: root/clang/Analysis/UninitializedValues.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/Analysis/UninitializedValues.cpp')
-rw-r--r--clang/Analysis/UninitializedValues.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/clang/Analysis/UninitializedValues.cpp b/clang/Analysis/UninitializedValues.cpp
index 58b95fcffb5..a18319a62b7 100644
--- a/clang/Analysis/UninitializedValues.cpp
+++ b/clang/Analysis/UninitializedValues.cpp
@@ -28,19 +28,18 @@ using namespace clang;
namespace {
-class RegisterDeclsExprs : public CFGRecStmtDeclVisitor<RegisterDeclsExprs> {
+class RegisterDecls : public CFGRecStmtDeclVisitor<RegisterDecls> {
UninitializedValues::AnalysisDataTy& AD;
public:
- RegisterDeclsExprs(UninitializedValues::AnalysisDataTy& ad) : AD(ad) {}
+ RegisterDecls(UninitializedValues::AnalysisDataTy& ad) : AD(ad) {}
void VisitBlockVarDecl(BlockVarDecl* VD) { AD.Register(VD); }
- void BlockStmt_VisitExpr(Expr* E) { AD.Register(E); }
};
} // end anonymous namespace
void UninitializedValues::InitializeValues(const CFG& cfg) {
- RegisterDeclsExprs R(this->getAnalysisData());
+ RegisterDecls R(getAnalysisData());
cfg.VisitBlockStmts(R);
}
@@ -77,7 +76,6 @@ public:
static const bool Initialized = true;
static const bool Uninitialized = false;
-
bool TransferFuncs::VisitDeclRefExpr(DeclRefExpr* DR) {
if (BlockVarDecl* VD = dyn_cast<BlockVarDecl>(DR->getDecl())) {
if (AD.Observer) AD.Observer->ObserveDeclRefExpr(V,AD,DR,VD);
@@ -230,7 +228,7 @@ void CheckUninitializedValues(CFG& cfg, ASTContext &Ctx, Diagnostic &Diags,
bool FullUninitTaint) {
// Compute the unitialized values information.
- UninitializedValues U;
+ UninitializedValues U(cfg);
U.getAnalysisData().FullUninitTaint = FullUninitTaint;
Solver S(U);
S.runOnCFG(cfg);
OpenPOWER on IntegriCloud