summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm2cpp/CppWriter.cpp
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2007-03-01 20:55:43 +0000
committerReid Spencer <rspencer@reidspencer.com>2007-03-01 20:55:43 +0000
commit07761199e0ec1acb475cccead2ae809dfbba550b (patch)
treec1fdb6c242320cc461aa9095436d0d0922fa6fc9 /llvm/tools/llvm2cpp/CppWriter.cpp
parent4326cf5c51d7e9984963331e258ffc64ee78f888 (diff)
downloadbcm5719-llvm-07761199e0ec1acb475cccead2ae809dfbba550b.tar.gz
bcm5719-llvm-07761199e0ec1acb475cccead2ae809dfbba550b.zip
Make output for ConstantInt construction correct for any bitwidth.
llvm-svn: 34809
Diffstat (limited to 'llvm/tools/llvm2cpp/CppWriter.cpp')
-rw-r--r--llvm/tools/llvm2cpp/CppWriter.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/tools/llvm2cpp/CppWriter.cpp b/llvm/tools/llvm2cpp/CppWriter.cpp
index 483016ebf69..fb87b902c85 100644
--- a/llvm/tools/llvm2cpp/CppWriter.cpp
+++ b/llvm/tools/llvm2cpp/CppWriter.cpp
@@ -665,7 +665,8 @@ void CppWriter::printConstant(const Constant *CV) {
}
if (const ConstantInt *CI = dyn_cast<ConstantInt>(CV)) {
Out << "ConstantInt* " << constName << " = ConstantInt::get("
- << typeName << ", " << CI->getZExtValue() << ");";
+ << "APInt(cast<IntegerTyp>(" << typeName << ")->getBitWidth(),"
+ << " \"" << CI->getValue().toStringSigned(10) << "\", 10));";
} else if (isa<ConstantAggregateZero>(CV)) {
Out << "ConstantAggregateZero* " << constName
<< " = ConstantAggregateZero::get(" << typeName << ");";
OpenPOWER on IntegriCloud