diff options
author | Chris Lattner <sabre@nondot.org> | 2004-11-30 21:33:58 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-11-30 21:33:58 +0000 |
commit | 798e0349c048a6c3e9a9371eec105b5eb37ca030 (patch) | |
tree | 05a04d2a26d672bfb1e9b5a384eae2176a826a13 /llvm/lib/Target/CBackend/Writer.cpp | |
parent | 86deaf2211eca6c04c15a390525c65618bc718b5 (diff) | |
download | bcm5719-llvm-798e0349c048a6c3e9a9371eec105b5eb37ca030.tar.gz bcm5719-llvm-798e0349c048a6c3e9a9371eec105b5eb37ca030.zip |
Do not let GCC emit a warning for INT64_MIN
llvm-svn: 18398
Diffstat (limited to 'llvm/lib/Target/CBackend/Writer.cpp')
-rw-r--r-- | llvm/lib/Target/CBackend/Writer.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/Target/CBackend/Writer.cpp b/llvm/lib/Target/CBackend/Writer.cpp index 7f6cadca49c..ab7a35aad72 100644 --- a/llvm/lib/Target/CBackend/Writer.cpp +++ b/llvm/lib/Target/CBackend/Writer.cpp @@ -536,13 +536,16 @@ void CWriter::printConstant(Constant *CPV) { Out << cast<ConstantSInt>(CPV)->getValue(); break; case Type::IntTyID: if ((int)cast<ConstantSInt>(CPV)->getValue() == (int)0x80000000) - Out << "((int)0x80000000)"; // Handle MININT specially to avoid warning + Out << "((int)0x80000000U)"; // Handle MININT specially to avoid warning else Out << cast<ConstantSInt>(CPV)->getValue(); break; case Type::LongTyID: - Out << cast<ConstantSInt>(CPV)->getValue() << "ll"; break; + if (cast<ConstantSInt>(CPV)->isMinValue()) + Out << "(/*INT64_MIN*/(-9223372036854775807LL)-1)"; + else + Out << cast<ConstantSInt>(CPV)->getValue() << "ll"; break; case Type::UByteTyID: case Type::UShortTyID: |