Added an automatic cast to "std::ostream*" etc. from OStream. We then can

rework the hacks that had us passing OStream in. We pass in std::ostream*
instead, check for null, and then dispatch to the correct print() method.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32636 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bill Wendling
2006-12-17 05:15:13 +00:00
parent 89b0d995d2
commit 5c7e326585
46 changed files with 138 additions and 165 deletions

View File

@@ -49,17 +49,10 @@ public:
/// print - Implement operator<<...
///
void print(OStream &O) const {
if (O.stream()) print(*O.stream());
}
virtual void print(std::ostream &O) const = 0;
void print(std::ostream *O) const { if (O) print(*O); }
};
inline OStream &operator<<(OStream &OS,
const MachineConstantPoolValue &V) {
V.print(OS);
return OS;
}
inline std::ostream &operator<<(std::ostream &OS,
const MachineConstantPoolValue &V) {
V.print(OS);
@@ -143,10 +136,8 @@ public:
/// print - Used by the MachineFunction printer to print information about
/// constant pool objects. Implemented in MachineFunction.cpp
///
void print(OStream &OS) const {
if (OS.stream()) print(*OS.stream());
}
void print(std::ostream &OS) const;
void print(std::ostream *OS) const { if (OS) print(*OS); }
/// dump - Call print(std::cerr) to be called from the debugger.
///