Define an operator<< for APInt to be used with std::ostream.
authorDan Gohman <gohman@apple.com>
Tue, 30 Jun 2009 01:28:08 +0000 (01:28 +0000)
committerDan Gohman <gohman@apple.com>
Tue, 30 Jun 2009 01:28:08 +0000 (01:28 +0000)
This will allow it to be used in unittests that use gtest's
EXPECT_EQ.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74494 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/ADT/APInt.h
lib/Support/APInt.cpp

index 63bf4f6d9ba0b63b0793cf20cbc75f538630f37f..56cd3ccf84e3ebd3b8d0058f6f5f13bf83ff4fdf 100644 (file)
@@ -1426,6 +1426,8 @@ inline raw_ostream &operator<<(raw_ostream &OS, const APInt &I) {
   return OS;
 }
 
+std::ostream &operator<<(std::ostream &o, const APInt &I);
+
 namespace APIntOps {
 
 /// @brief Determine the smaller of two APInts considered to be signed.
index 73bf774b171762301395eaac7c4cc4632ce1b51d..25e23e0ac00f9318ed4ed989c06ebb43ca4c71b0 100644 (file)
@@ -2178,6 +2178,12 @@ void APInt::print(raw_ostream &OS, bool isSigned) const {
   OS << S.c_str();
 }
 
+std::ostream &operator<<(std::ostream &o, const APInt &I) {
+  raw_os_ostream OS(o);
+  OS << I;
+  return o;
+}
+
 // This implements a variety of operations on a representation of
 // arbitrary precision, two's-complement, bignum integer values.