Migrated transfer functions for unary "~" and "-" to GRTransferFuncs/GRSimpleVals.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47126 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Analysis/GRExprEngine.cpp b/Analysis/GRExprEngine.cpp
index 3ff4c4b..9ec43d9 100644
--- a/Analysis/GRExprEngine.cpp
+++ b/Analysis/GRExprEngine.cpp
@@ -325,6 +325,14 @@
     return TF.EvalCast(ValMgr, R, CastExpr);
   }
   
+  inline NonLValue EvalMinus(ValueManager& ValMgr, UnaryOperator* U,
+                              NonLValue X) {
+    return TF.EvalMinus(ValMgr, U, X);    
+  }
+  
+  inline NonLValue EvalComplement(ValueManager& ValMgr, NonLValue X) {
+    return TF.EvalComplement(ValMgr, X);
+  }
 };
 } // end anonymous namespace
 
@@ -839,13 +847,13 @@
         
       case UnaryOperator::Minus: {
         const NonLValue& R1 = cast<NonLValue>(GetValue(St, U->getSubExpr()));
-        Nodify(Dst, U, N1, SetValue(St, U, R1.EvalMinus(ValMgr, U)));
+        Nodify(Dst, U, N1, SetValue(St, U, EvalMinus(ValMgr, U, R1)));
         break;
       }
         
       case UnaryOperator::Not: {
         const NonLValue& R1 = cast<NonLValue>(GetValue(St, U->getSubExpr()));
-        Nodify(Dst, U, N1, SetValue(St, U, R1.EvalComplement(ValMgr)));
+        Nodify(Dst, U, N1, SetValue(St, U, EvalComplement(ValMgr, R1)));
         break;
       }