diff options
-rw-r--r-- | tools/llvm2cpp/CppWriter.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/tools/llvm2cpp/CppWriter.cpp b/tools/llvm2cpp/CppWriter.cpp index 483016ebf6..fb87b902c8 100644 --- a/tools/llvm2cpp/CppWriter.cpp +++ b/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 << ");"; |