From ca2617c0e1f87c9da4d9aa3db4ea854ee2f6a1da Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 13 Sep 2007 06:19:18 +0000 Subject: [PATCH] update to match llvm mainline api git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41926 91177308-0d34-0410-b5e6-96231b3b80d8 --- CodeGen/CGExprComplex.cpp | 11 +++++++++-- CodeGen/CGExprScalar.cpp | 13 ++++++++++--- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/CodeGen/CGExprComplex.cpp b/CodeGen/CGExprComplex.cpp index 067d2899ce..8dfe244a4f 100644 --- a/CodeGen/CGExprComplex.cpp +++ b/CodeGen/CGExprComplex.cpp @@ -301,9 +301,16 @@ ComplexPairTy ComplexExprEmitter::VisitPrePostIncDec(const UnaryOperator *E, llvm::Value *NextVal; if (isa(InVal.first->getType())) NextVal = llvm::ConstantInt::get(InVal.first->getType(), AmountVal); - else + else if (InVal.first->getType() == llvm::Type::FloatTy) + // FIXME: Handle long double. NextVal = llvm::ConstantFP::get(InVal.first->getType(), - static_cast(AmountVal)); + llvm::APFloat(static_cast(AmountVal))); + else { + // FIXME: Handle long double. + assert(InVal.first->getType() == llvm::Type::DoubleTy); + NextVal = llvm::ConstantFP::get(InVal.first->getType(), + llvm::APFloat(static_cast(AmountVal))); + } // Add the inc/dec to the real part. NextVal = Builder.CreateAdd(InVal.first, NextVal, isInc ? "inc" : "dec"); diff --git a/CodeGen/CGExprScalar.cpp b/CodeGen/CGExprScalar.cpp index 62137b03b7..319ca82bf8 100644 --- a/CodeGen/CGExprScalar.cpp +++ b/CodeGen/CGExprScalar.cpp @@ -474,9 +474,16 @@ Value *ScalarExprEmitter::VisitPrePostIncDec(const UnaryOperator *E, // Add the inc/dec to the real part. if (isa(InVal->getType())) NextVal = llvm::ConstantInt::get(InVal->getType(), AmountVal); - else - NextVal = llvm::ConstantFP::get(InVal->getType(), - static_cast(AmountVal)); + else if (InVal->getType() == llvm::Type::FloatTy) + // FIXME: Handle long double. + NextVal = llvm::ConstantFP::get(InVal->getType(), + llvm::APFloat(static_cast(AmountVal))); + else { + // FIXME: Handle long double. + assert(InVal->getType() == llvm::Type::DoubleTy); + NextVal = llvm::ConstantFP::get(InVal->getType(), + llvm::APFloat(static_cast(AmountVal))); + } NextVal = Builder.CreateAdd(InVal, NextVal, isInc ? "inc" : "dec"); } -- 2.40.0