Patch by Csaba Hruska!
"Here is a patch what replaces std::ostream with llvm::raw_ostream. This patch
covers the AST library, but ignores Analysis lib."
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@56185 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/GRExprEngine.cpp b/lib/Analysis/GRExprEngine.cpp
index 8af5a74..d8c0320 100644
--- a/lib/Analysis/GRExprEngine.cpp
+++ b/lib/Analysis/GRExprEngine.cpp
@@ -19,6 +19,7 @@
#include "llvm/Support/Streams.h"
#include "llvm/ADT/ImmutableList.h"
#include "llvm/Support/Compiler.h"
+#include "llvm/Support/raw_ostream.h"
#ifndef NDEBUG
#include "llvm/Support/GraphWriter.h"
@@ -2194,7 +2195,9 @@
SourceLocation SLoc = S->getLocStart();
Out << S->getStmtClassName() << ' ' << (void*) S << ' ';
- S->printPretty(Out);
+ llvm::raw_os_ostream OutS(Out);
+ S->printPretty(OutS);
+ OutS.flush();
if (SLoc.isFileID()) {
Out << "\\lline="
@@ -2237,7 +2240,9 @@
Out << "\\|Terminator: ";
- E.getSrc()->printTerminator(Out);
+ llvm::raw_os_ostream OutS(Out);
+ E.getSrc()->printTerminator(OutS);
+ OutS.flush();
if (SLoc.isFileID()) {
Out << "\\lline="
@@ -2251,11 +2256,14 @@
if (Label) {
if (CaseStmt* C = dyn_cast<CaseStmt>(Label)) {
Out << "\\lcase ";
- C->getLHS()->printPretty(Out);
-
+ llvm::raw_os_ostream OutS(Out);
+ C->getLHS()->printPretty(OutS);
+ OutS.flush();
+
if (Stmt* RHS = C->getRHS()) {
Out << " .. ";
- RHS->printPretty(Out);
+ RHS->printPretty(OutS);
+ OutS.flush();
}
Out << ":";
diff --git a/lib/Analysis/GRState.cpp b/lib/Analysis/GRState.cpp
index 72eeda9..4bef72c 100644
--- a/lib/Analysis/GRState.cpp
+++ b/lib/Analysis/GRState.cpp
@@ -154,7 +154,9 @@
else { Out << nl; }
Out << " (" << (void*) I.getKey() << ") ";
- I.getKey()->printPretty(Out);
+ llvm::raw_os_ostream OutS(Out);
+ I.getKey()->printPretty(OutS);
+ OutS.flush();
Out << " : ";
I.getData().print(Out);
}
@@ -171,7 +173,9 @@
else { Out << nl; }
Out << " (" << (void*) I.getKey() << ") ";
- I.getKey()->printPretty(Out);
+ llvm::raw_os_ostream OutS(Out);
+ I.getKey()->printPretty(OutS);
+ OutS.flush();
Out << " : ";
I.getData().print(Out);
}