diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp index 23bd41d8dd0..88113a0347a 100644 --- a/lib/Target/CBackend/CBackend.cpp +++ b/lib/Target/CBackend/CBackend.cpp @@ -638,10 +638,12 @@ void CWriter::printConstant(Constant *CPV) { switch (CPV->getType()->getTypeID()) { case Type::BoolTyID: - Out << (CPV == ConstantBool::False ? '0' : '1'); break; + Out << (cast(CPV)->getValue() ? '1' : '0'); + break; case Type::SByteTyID: case Type::ShortTyID: - Out << cast(CPV)->getValue(); break; + Out << cast(CPV)->getValue(); + break; case Type::IntTyID: if ((int)cast(CPV)->getValue() == (int)0x80000000) Out << "((int)0x80000000U)"; // Handle MININT specially to avoid warning @@ -653,15 +655,19 @@ void CWriter::printConstant(Constant *CPV) { if (cast(CPV)->isMinValue()) Out << "(/*INT64_MIN*/(-9223372036854775807LL)-1)"; else - Out << cast(CPV)->getValue() << "ll"; break; + Out << cast(CPV)->getValue() << "ll"; + break; case Type::UByteTyID: case Type::UShortTyID: - Out << cast(CPV)->getValue(); break; + Out << cast(CPV)->getValue(); + break; case Type::UIntTyID: - Out << cast(CPV)->getValue() << 'u'; break; + Out << cast(CPV)->getValue() << 'u'; + break; case Type::ULongTyID: - Out << cast(CPV)->getValue() << "ull"; break; + Out << cast(CPV)->getValue() << "ull"; + break; case Type::FloatTyID: case Type::DoubleTyID: { diff --git a/lib/Target/CBackend/Writer.cpp b/lib/Target/CBackend/Writer.cpp index 23bd41d8dd0..88113a0347a 100644 --- a/lib/Target/CBackend/Writer.cpp +++ b/lib/Target/CBackend/Writer.cpp @@ -638,10 +638,12 @@ void CWriter::printConstant(Constant *CPV) { switch (CPV->getType()->getTypeID()) { case Type::BoolTyID: - Out << (CPV == ConstantBool::False ? '0' : '1'); break; + Out << (cast(CPV)->getValue() ? '1' : '0'); + break; case Type::SByteTyID: case Type::ShortTyID: - Out << cast(CPV)->getValue(); break; + Out << cast(CPV)->getValue(); + break; case Type::IntTyID: if ((int)cast(CPV)->getValue() == (int)0x80000000) Out << "((int)0x80000000U)"; // Handle MININT specially to avoid warning @@ -653,15 +655,19 @@ void CWriter::printConstant(Constant *CPV) { if (cast(CPV)->isMinValue()) Out << "(/*INT64_MIN*/(-9223372036854775807LL)-1)"; else - Out << cast(CPV)->getValue() << "ll"; break; + Out << cast(CPV)->getValue() << "ll"; + break; case Type::UByteTyID: case Type::UShortTyID: - Out << cast(CPV)->getValue(); break; + Out << cast(CPV)->getValue(); + break; case Type::UIntTyID: - Out << cast(CPV)->getValue() << 'u'; break; + Out << cast(CPV)->getValue() << 'u'; + break; case Type::ULongTyID: - Out << cast(CPV)->getValue() << "ull"; break; + Out << cast(CPV)->getValue() << "ull"; + break; case Type::FloatTyID: case Type::DoubleTyID: {