]> granicus.if.org Git - clang/commitdiff
Implemented transfer function for '/='.
authorTed Kremenek <kremenek@apple.com>
Fri, 25 Jan 2008 23:45:34 +0000 (23:45 +0000)
committerTed Kremenek <kremenek@apple.com>
Fri, 25 Jan 2008 23:45:34 +0000 (23:45 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46379 91177308-0d34-0410-b5e6-96231b3b80d8

Analysis/GRConstants.cpp

index 69a0d9320766ae5b9fcd82813807830c520af21d..13d10f2d8bb1b456950945fb156a993036bcf0af 100644 (file)
@@ -1050,6 +1050,14 @@ void GRConstants::VisitBinaryOperator(BinaryOperator* B,
           Nodify(Dst, B, N2, SetValue(SetValue(St, B, Result), L1, Result));
           break;
         }
+          
+        case BinaryOperator::DivAssign: {
+          const LValue& L1 = cast<LValue>(V1);
+          RValue R1 = cast<RValue>(GetValue(N1->getState(), L1));
+          RValue Result = R1.EvalDiv(ValMgr, cast<RValue>(V2));
+          Nodify(Dst, B, N2, SetValue(SetValue(St, B, Result), L1, Result));
+          break;
+        }
 
         default: 
           Dst.Add(N2);