diff options
Diffstat (limited to 'tools/llvm2cpp/CppWriter.cpp')
-rw-r--r-- | tools/llvm2cpp/CppWriter.cpp | 13 |
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 << ");"; |