Consumed analysis: non-const methods no longer transfer an object into an
unknown state. Patch by chris.wailes@gmail.com.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189612 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/Consumed.cpp b/lib/Analysis/Consumed.cpp
index 745840d..e5231e0 100644
--- a/lib/Analysis/Consumed.cpp
+++ b/lib/Analysis/Consumed.cpp
@@ -530,8 +530,6 @@
handleTestingFunctionCall(Call, PInfo.getVar());
else if (MethodDecl->hasAttr<ConsumesAttr>())
StateMap->setState(PInfo.getVar(), consumed::CS_Consumed);
- else if (!MethodDecl->isConst())
- StateMap->setState(PInfo.getVar(), consumed::CS_Unknown);
}
}
}
@@ -626,18 +624,10 @@
checkCallability(PInfo, FunDecl, Call);
if (PInfo.isVar()) {
- if (isTestingFunction(FunDecl)) {
+ if (isTestingFunction(FunDecl))
handleTestingFunctionCall(Call, PInfo.getVar());
-
- } else if (FunDecl->hasAttr<ConsumesAttr>()) {
+ else if (FunDecl->hasAttr<ConsumesAttr>())
StateMap->setState(PInfo.getVar(), consumed::CS_Consumed);
-
- } else if (const CXXMethodDecl *MethodDecl =
- dyn_cast_or_null<CXXMethodDecl>(FunDecl)) {
-
- if (!MethodDecl->isConst())
- StateMap->setState(PInfo.getVar(), consumed::CS_Unknown);
- }
}
}
}