diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2006-10-20 07:07:24 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2006-10-20 07:07:24 +0000 |
commit | b83eb6447ba155342598f0fabe1f08f5baa9164a (patch) | |
tree | a5822f5fdac89033b7b16ba8e5aaf1ae10833b1c /tools/llvm2cpp/CppWriter.cpp | |
parent | 6e7dd9db6bf677c9161a6ecc12f90651cf1231e0 (diff) |
For PR950:
This patch implements the first increment for the Signless Types feature.
All changes pertain to removing the ConstantSInt and ConstantUInt classes
in favor of just using ConstantInt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31063 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm2cpp/CppWriter.cpp')
-rw-r--r-- | tools/llvm2cpp/CppWriter.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/tools/llvm2cpp/CppWriter.cpp b/tools/llvm2cpp/CppWriter.cpp index 85c1ec7853..e69c722027 100644 --- a/tools/llvm2cpp/CppWriter.cpp +++ b/tools/llvm2cpp/CppWriter.cpp @@ -678,12 +678,11 @@ void CppWriter::printConstant(const Constant *CV) { if (const ConstantBool *CB = dyn_cast<ConstantBool>(CV)) { Out << "ConstantBool* " << constName << " = ConstantBool::get(" << (CB->getValue() ? "true" : "false") << ");"; - } else if (const ConstantSInt *CI = dyn_cast<ConstantSInt>(CV)) { - Out << "ConstantSInt* " << constName << " = ConstantSInt::get(" - << typeName << ", " << CI->getValue() << ");"; - } else if (const ConstantUInt *CI = dyn_cast<ConstantUInt>(CV)) { - Out << "ConstantUInt* " << constName << " = ConstantUInt::get(" - << typeName << ", " << CI->getValue() << ");"; + } else if (const ConstantInt *CI = dyn_cast<ConstantInt>(CV)) { + Out << "ConstantInt* " << constName << " = ConstantInt::get(" + << typeName << ", " + << (CV->getType()->isSigned() ? CI->getSExtValue() : CI->getZExtValue()) + << ");"; } else if (isa<ConstantAggregateZero>(CV)) { Out << "ConstantAggregateZero* " << constName << " = ConstantAggregateZero::get(" << typeName << ");"; |