diff options
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)); } |