Allow output of manipulators for GCC 2.96 compatibility
authorChris Lattner <sabre@nondot.org>
Mon, 26 Nov 2001 18:49:33 +0000 (18:49 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 26 Nov 2001 18:49:33 +0000 (18:49 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1365 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Assembly/CachedWriter.h

index 7996982de49a6ade5694116e63e5f58294edd7e1..af1b246fa656d2b47176c61e9f30f26d7517051a 100644 (file)
@@ -62,12 +62,16 @@ public:
   inline CachedWriter &operator<<(const PointerType *X) {
     return *this << (const Value*)X; 
   }
-};
 
-template<class X>
-inline CachedWriter &operator<<(CachedWriter &CW, const X &v) {
-  CW.Out << v;
-  return CW;
-}
+  inline CachedWriter &operator<<(ostream &(&Manip)(ostream &)) {
+    Out << Manip; return *this;
+  }
+
+  template<class X>
+  inline CachedWriter &operator<<(const X &v) {
+    Out << v;
+    return *this;
+  }
+};
 
 #endif