summaryrefslogtreecommitdiffstats
path: root/clang/Analysis/GRTransferFuncs.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2008-02-21 18:02:17 +0000
committerTed Kremenek <kremenek@apple.com>2008-02-21 18:02:17 +0000
commit7f0639b0395b216d89b0ebbf2d24731dca4183af (patch)
tree924cdb5f28832c042200e726352dcba817e60c22 /clang/Analysis/GRTransferFuncs.cpp
parenta243311f1d799019a55eae2ad02aa1352b8a6a35 (diff)
downloadbcm5719-llvm-7f0639b0395b216d89b0ebbf2d24731dca4183af.tar.gz
bcm5719-llvm-7f0639b0395b216d89b0ebbf2d24731dca4183af.zip
Major cleanup of path-sensitive analysis engine and the current analysis
based on constant. prop. and limited symbolics. - Renamed class: RValue -> RVal, LValue -> LVal, etc. - Minor method renamings and interface cleanups. - Tightened the RVal "type system" so that UninitializedVal and UnknownVal cannot be cast to LVal or NonLVal. This forces these corner cases values to be explicitly handled early before being dispatched to plug-in transfer function logic. - Major cleanup in the transfer function logic for binary and unary operators. Still fixing some regressions, but we now explicitly handle Uninitialized and Unknown values in a more rigorous way. llvm-svn: 47441
Diffstat (limited to 'clang/Analysis/GRTransferFuncs.cpp')
-rw-r--r--clang/Analysis/GRTransferFuncs.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/clang/Analysis/GRTransferFuncs.cpp b/clang/Analysis/GRTransferFuncs.cpp
index 3716ed96910..29d6216b717 100644
--- a/clang/Analysis/GRTransferFuncs.cpp
+++ b/clang/Analysis/GRTransferFuncs.cpp
@@ -20,21 +20,21 @@ using namespace clang;
// Transfer function for Casts.
//===----------------------------------------------------------------------===//
-RValue GRTransferFuncs::EvalCast(ValueManager& ValMgr, RValue X,
- Expr* CastExpr) {
+RVal GRTransferFuncs::EvalCast(ValueManager& ValMgr, RVal X, Expr* CastExpr) {
switch (X.getBaseKind()) {
+
default:
- assert(false && "Invalid RValue."); break;
+ assert(false && "Invalid RVal."); break;
- case RValue::LValueKind:
- return EvalCast(ValMgr, cast<LValue>(X), CastExpr);
+ case RVal::LValKind:
+ return EvalCast(ValMgr, cast<LVal>(X), CastExpr);
- case RValue::NonLValueKind:
- return EvalCast(ValMgr, cast<NonLValue>(X), CastExpr);
+ case RVal::NonLValKind:
+ return EvalCast(ValMgr, cast<NonLVal>(X), CastExpr);
- case RValue::UninitializedKind:
- case RValue::UnknownKind: break;
+ case RVal::UninitializedKind:
+ case RVal::UnknownKind: break;
}
return X;
OpenPOWER on IntegriCloud