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
diff --git a/lib/Analysis/IPA/CallGraph.cpp b/lib/Analysis/IPA/CallGraph.cpp
index 6e8ca18..dcaeaf9 100644
--- a/lib/Analysis/IPA/CallGraph.cpp
+++ b/lib/Analysis/IPA/CallGraph.cpp
@@ -74,8 +74,8 @@
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 {
diff --git a/lib/Analysis/Trace.cpp b/lib/Analysis/Trace.cpp
index a0aa955..3e3b1b9 100644
--- a/lib/Analysis/Trace.cpp
+++ b/lib/Analysis/Trace.cpp
@@ -31,13 +31,12 @@
/// 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;