diff options
author | Ted Kremenek <kremenek@apple.com> | 2008-02-15 23:15:23 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2008-02-15 23:15:23 +0000 |
commit | c6fbdcdb3b84d8a6bffa59b0848a8f53cf0bd11a (patch) | |
tree | 8b6df42d78bb36f32ab309857ee21f6bf17ca8f2 /include/clang/Analysis/PathSensitive/GRTransferFuncs.h | |
parent | a674349df307a3e9528805c4cbe03a0feff8779b (diff) |
Refactored code for transfer functions for binary operators involving two LValues.
Fixed bug in transfer functions for sizeof(*); we were incorrectly evaluating to
a value of the wrong type.
Fixed bug in transfer functions for compound assignments where we did not properly
handle assignments involving dereferences of symbolic values.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@47190 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Analysis/PathSensitive/GRTransferFuncs.h')
-rw-r--r-- | include/clang/Analysis/PathSensitive/GRTransferFuncs.h | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/include/clang/Analysis/PathSensitive/GRTransferFuncs.h b/include/clang/Analysis/PathSensitive/GRTransferFuncs.h index 19e87dcd94..53491d532e 100644 --- a/include/clang/Analysis/PathSensitive/GRTransferFuncs.h +++ b/include/clang/Analysis/PathSensitive/GRTransferFuncs.h @@ -43,9 +43,9 @@ public: BinaryOperator::Opcode Op, NonLValue LHS, NonLValue RHS) = 0; - RValue EvalBinaryOp(ValueManager& ValMgr, - BinaryOperator::Opcode Op, - LValue LHS, LValue RHS); + virtual RValue EvalBinaryOp(ValueManager& ValMgr, + BinaryOperator::Opcode Op, + LValue LHS, LValue RHS) = 0; // Pointer arithmetic. @@ -64,11 +64,6 @@ public: else return EvalBinaryOp(ValMgr, Op, cast<NonLValue>(L), cast<NonLValue>(R)); } - - - // Equality operators for LValues. - virtual NonLValue EvalEQ(ValueManager& ValMgr, LValue LHS, LValue RHS) = 0; - virtual NonLValue EvalNE(ValueManager& ValMgr, LValue LHS, LValue RHS) = 0; }; } // end clang namespace |