Implemented transfer function logic for unary '+'
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47357 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Analysis/GRSimpleVals.cpp b/Analysis/GRSimpleVals.cpp
index 443a7dd..a76acb3 100644
--- a/Analysis/GRSimpleVals.cpp
+++ b/Analysis/GRSimpleVals.cpp
@@ -112,6 +112,20 @@
}
}
+NonLValue GRSimpleVals::EvalPlus(ValueManager& ValMgr, UnaryOperator* U,
+ NonLValue X) {
+
+ assert (!isa<UnknownVal>(X) && !isa<UninitializedVal>(X));
+
+ switch (X.getSubKind()) {
+ case nonlval::ConcreteIntKind:
+ return cast<nonlval::ConcreteInt>(X).EvalPlus(ValMgr, U);
+ default:
+ return cast<NonLValue>(UnknownVal());
+ }
+}
+
+
NonLValue GRSimpleVals::EvalComplement(ValueManager& ValMgr, NonLValue X) {
assert (!isa<UnknownVal>(X) && !isa<UninitializedVal>(X));