diff options
| author | Ted Kremenek <kremenek@apple.com> | 2008-02-21 18:43:30 +0000 |
|---|---|---|
| committer | Ted Kremenek <kremenek@apple.com> | 2008-02-21 18:43:30 +0000 |
| commit | 7e4861b3c1ace10971e5bf50ef02fa312cfb1f60 (patch) | |
| tree | fb4cac67a677b2716df0fd8deee2fec1bd92d4bc /clang/Analysis/GRTransferFuncs.cpp | |
| parent | d2332f96259ccf9b4ff400f449db5baf9a2ef0d9 (diff) | |
| download | bcm5719-llvm-7e4861b3c1ace10971e5bf50ef02fa312cfb1f60.tar.gz bcm5719-llvm-7e4861b3c1ace10971e5bf50ef02fa312cfb1f60.zip | |
Simplified and generalized transfer function logic for casts, allowing
the transfer function to be invoked without an Expr* for the Cast operation.
Added implicit promotions to the transfer function logic for compound
assignments.
llvm-svn: 47444
Diffstat (limited to 'clang/Analysis/GRTransferFuncs.cpp')
| -rw-r--r-- | clang/Analysis/GRTransferFuncs.cpp | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/clang/Analysis/GRTransferFuncs.cpp b/clang/Analysis/GRTransferFuncs.cpp deleted file mode 100644 index 29d6216b717..00000000000 --- a/clang/Analysis/GRTransferFuncs.cpp +++ /dev/null @@ -1,41 +0,0 @@ -//== GRTransferFuncs.cpp - Path-Sens. Transfer Functions Interface -*- C++ -*--= -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This files defines GRTransferFuncs, which provides a base-class that -// defines an interface for transfer functions used by GRExprEngine. -// -//===----------------------------------------------------------------------===// - -#include "clang/Analysis/PathSensitive/GRTransferFuncs.h" - -using namespace clang; - -//===----------------------------------------------------------------------===// -// Transfer function for Casts. -//===----------------------------------------------------------------------===// - -RVal GRTransferFuncs::EvalCast(ValueManager& ValMgr, RVal X, Expr* CastExpr) { - - switch (X.getBaseKind()) { - - default: - assert(false && "Invalid RVal."); break; - - case RVal::LValKind: - return EvalCast(ValMgr, cast<LVal>(X), CastExpr); - - case RVal::NonLValKind: - return EvalCast(ValMgr, cast<NonLVal>(X), CastExpr); - - case RVal::UninitializedKind: - case RVal::UnknownKind: break; - } - - return X; -} |

