aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Support/raw_ostream.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-07-29 06:45:14 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-07-29 06:45:14 +0000
commit78a3dd8fe141f98aaf8fbd92cfb7c97d4ddf19d6 (patch)
treed38160f714e39607feaa710c739be64bd3581f1c /lib/Support/raw_ostream.cpp
parentc8eef440f6a71feb14085372c563cad794b25f6f (diff)
downloadexternal_llvm-78a3dd8fe141f98aaf8fbd92cfb7c97d4ddf19d6.zip
external_llvm-78a3dd8fe141f98aaf8fbd92cfb7c97d4ddf19d6.tar.gz
external_llvm-78a3dd8fe141f98aaf8fbd92cfb7c97d4ddf19d6.tar.bz2
raw_ostream: Follow the 32-bit path when printing "small" decimal numbers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77444 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support/raw_ostream.cpp')
-rw-r--r--lib/Support/raw_ostream.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Support/raw_ostream.cpp b/lib/Support/raw_ostream.cpp
index 992c11a..d2d0f4e 100644
--- a/lib/Support/raw_ostream.cpp
+++ b/lib/Support/raw_ostream.cpp
@@ -89,6 +89,10 @@ raw_ostream &raw_ostream::operator<<(long N) {
}
raw_ostream &raw_ostream::operator<<(unsigned long long N) {
+ // Output using 32-bit div/mod when possible.
+ if (N == static_cast<unsigned long>(N))
+ return this->operator<<(static_cast<unsigned long>(N));
+
// Zero is a special case.
if (N == 0)
return *this << '0';