Implemented transfer function for unary '~'.

llvm-svn: 46708
diff --git a/clang/Analysis/RValues.h b/clang/Analysis/RValues.h
index c5ad8a5..79202da 100644
--- a/clang/Analysis/RValues.h
+++ b/clang/Analysis/RValues.h
@@ -196,6 +196,7 @@
   NonLValue Div(ValueManager& ValMgr, const NonLValue& RHS) const;
   NonLValue Rem(ValueManager& ValMgr, const NonLValue& RHS) const;
   NonLValue UnaryMinus(ValueManager& ValMgr, UnaryOperator* U) const;
+  NonLValue BitwiseComplement(ValueManager& ValMgr) const;
   
   // Equality operators.
   NonLValue EQ(ValueManager& ValMgr, const NonLValue& RHS) const;
@@ -295,6 +296,10 @@
     return ValMgr.getValue(-getValue()); 
   }
   
+  ConcreteInt BitwiseComplement(ValueManager& ValMgr) const {
+    return ValMgr.getValue(~getValue()); 
+  }
+  
   // Casting.
   
   ConcreteInt Cast(ValueManager& ValMgr, Expr* CastExpr) const {