aboutsummaryrefslogtreecommitdiff
path: root/tools/llvm2cpp/CppWriter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/llvm2cpp/CppWriter.cpp')
-rw-r--r--tools/llvm2cpp/CppWriter.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/tools/llvm2cpp/CppWriter.cpp b/tools/llvm2cpp/CppWriter.cpp
index b0eb1209e7..313db9b7c1 100644
--- a/tools/llvm2cpp/CppWriter.cpp
+++ b/tools/llvm2cpp/CppWriter.cpp
@@ -668,12 +668,13 @@ void CppWriter::printConstant(const Constant *CV) {
// Skip variables and functions, we emit them elsewhere
return;
}
- if (const ConstantBool *CB = dyn_cast<ConstantBool>(CV)) {
- Out << "ConstantBool* " << constName << " = ConstantBool::get("
- << (CB->getValue() ? "true" : "false") << ");";
- } else if (const ConstantInt *CI = dyn_cast<ConstantInt>(CV)) {
- Out << "ConstantInt* " << constName << " = ConstantInt::get("
- << typeName << ", " << CI->getZExtValue() << ");";
+ if (const ConstantInt *CI = dyn_cast<ConstantInt>(CV)) {
+ if (CI->getType() == Type::BoolTy)
+ Out << "ConstantInt* " << constName << " = ConstantInt::get("
+ << (CI->getBoolValue() ? "true" : "false") << ");";
+ else
+ Out << "ConstantInt* " << constName << " = ConstantInt::get("
+ << typeName << ", " << CI->getZExtValue() << ");";
} else if (isa<ConstantAggregateZero>(CV)) {
Out << "ConstantAggregateZero* " << constName
<< " = ConstantAggregateZero::get(" << typeName << ");";