diff options
author | Cristian Cadar <cristic@cs.stanford.edu> | 2011-04-23 19:22:22 +0000 |
---|---|---|
committer | Cristian Cadar <cristic@cs.stanford.edu> | 2011-04-23 19:22:22 +0000 |
commit | 930ae7d06fc1d8cc3117397cb3fd168a0a1090b7 (patch) | |
tree | ac1ff2162b5ea6d51bbf6a1ac35f350a297234ac /lib/Expr | |
parent | 2ec715a7e08724e54cd8c14904446d1b91b42121 (diff) | |
download | klee-930ae7d06fc1d8cc3117397cb3fd168a0a1090b7.tar.gz |
Patch by arrowdodger (http://keeda.stanford.edu/pipermail/klee-dev/2011-April/000617.html) for compiling KLEE with the latest LLVM changes. Tested against LLVM 2.7 and 2.8. The AsmAddresses test fails in 2.8 unless assertions are explicitely enabled (--enable-assertions).
git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@130065 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Expr')
-rw-r--r-- | lib/Expr/Expr.cpp | 4 | ||||
-rw-r--r-- | lib/Expr/Parser.cpp | 8 |
2 files changed, 12 insertions, 0 deletions
diff --git a/lib/Expr/Expr.cpp b/lib/Expr/Expr.cpp index 71e64325..e02a7e49 100644 --- a/lib/Expr/Expr.cpp +++ b/lib/Expr/Expr.cpp @@ -336,7 +336,11 @@ void ConstantExpr::toString(std::string &Res) const { ref<ConstantExpr> ConstantExpr::Concat(const ref<ConstantExpr> &RHS) { Expr::Width W = getWidth() + RHS->getWidth(); APInt Tmp(value); +#if (LLVM_VERSION_MAJOR < 3) Tmp.zext(W); +#else + Tmp=Tmp.zext(W); +#endif Tmp <<= RHS->getWidth(); Tmp |= APInt(RHS->value).zext(W); diff --git a/lib/Expr/Parser.cpp b/lib/Expr/Parser.cpp index caeeabd7..a41c5624 100644 --- a/lib/Expr/Parser.cpp +++ b/lib/Expr/Parser.cpp @@ -1496,9 +1496,17 @@ ExprResult ParserImpl::ParseNumberToken(Expr::Width Type, const Token &Tok) { Val = -Val; if (Type < Val.getBitWidth()) +#if (LLVM_VERSION_MAJOR < 3) Val.trunc(Type); +#else + Val=Val.trunc(Type); +#endif else if (Type > Val.getBitWidth()) +#if (LLVM_VERSION_MAJOR < 3) Val.zext(Type); +#else + Val=Val.zext(Type); +#endif return ExprResult(Builder->Constant(Val)); } |