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

@@ -74,8 +74,8 @@ public:
AU.setPreservesAll();
}
void print(OStream &o, const Module *M) const {
if (o.stream()) print(*o.stream(), M);
void print(std::ostream *o, const Module *M) const {
if (o) print(*o, M);
}
virtual void print(std::ostream &o, const Module *M) const {

View File

@@ -31,13 +31,12 @@ Module *Trace::getModule() const {
/// print - Write trace to output stream.
///
void Trace::print(OStream &O) const {
void Trace::print(std::ostream &O) const {
Function *F = getFunction ();
O << "; Trace from function " << F->getName() << ", blocks:\n";
for (const_iterator i = begin(), e = end(); i != e; ++i) {
O << "; ";
if (O.stream())
WriteAsOperand(*O.stream(), *i, true, getModule());
WriteAsOperand(O, *i, true, getModule());
O << "\n";
}
O << "; Trace parent function: \n" << *F;