summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/llvm/CodeGen/DwarfWriter.h2
-rw-r--r--lib/Analysis/AliasAnalysisCounter.cpp7
-rw-r--r--lib/Analysis/AliasAnalysisEvaluator.cpp7
-rw-r--r--lib/Analysis/DataStructure/DataStructure.cpp9
-rw-r--r--lib/Bytecode/Reader/ReaderWrappers.cpp8
-rw-r--r--lib/CodeGen/LLVMTargetMachine.cpp21
-rw-r--r--lib/CodeGen/LiveVariables.cpp19
-rw-r--r--lib/CodeGen/MachOWriter.cpp1
-rw-r--r--lib/CodeGen/MachineBasicBlock.cpp3
-rw-r--r--lib/CodeGen/MachineFunction.cpp14
-rw-r--r--lib/CodeGen/RegAllocSimple.cpp3
-rw-r--r--lib/CodeGen/SelectionDAG/SelectionDAG.cpp3
-rw-r--r--lib/CodeGen/TwoAddressInstructionPass.cpp7
-rw-r--r--lib/Debugger/ProgramInfo.cpp6
-rw-r--r--lib/Debugger/SourceLanguage-Unknown.cpp6
-rw-r--r--lib/Support/Statistic.cpp5
-rw-r--r--lib/Support/SystemUtils.cpp4
-rw-r--r--lib/Support/Timer.cpp14
18 files changed, 61 insertions, 78 deletions
diff --git a/include/llvm/CodeGen/DwarfWriter.h b/include/llvm/CodeGen/DwarfWriter.h
index cbda7438f1..22417875a5 100644
--- a/include/llvm/CodeGen/DwarfWriter.h
+++ b/include/llvm/CodeGen/DwarfWriter.h
@@ -20,7 +20,7 @@
#ifndef LLVM_CODEGEN_DWARFWRITER_H
#define LLVM_CODEGEN_DWARFWRITER_H
-#include <iostream>
+#include <iosfwd>
namespace llvm {
diff --git a/lib/Analysis/AliasAnalysisCounter.cpp b/lib/Analysis/AliasAnalysisCounter.cpp
index b2b6739ae1..d3f0dd0be0 100644
--- a/lib/Analysis/AliasAnalysisCounter.cpp
+++ b/lib/Analysis/AliasAnalysisCounter.cpp
@@ -18,7 +18,6 @@
#include "llvm/Assembly/Writer.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Streams.h"
-#include <iostream>
using namespace llvm;
namespace {
@@ -131,9 +130,9 @@ AliasAnalysisCounter::alias(const Value *V1, unsigned V1Size,
if (PrintAll || (PrintAllFailures && R == MayAlias)) {
cerr << AliasString << ":\t";
cerr << "[" << V1Size << "B] ";
- WriteAsOperand(std::cerr, V1, true, M) << ", ";
+ WriteAsOperand(*cerr.stream(), V1, true, M) << ", ";
cerr << "[" << V2Size << "B] ";
- WriteAsOperand(std::cerr, V2, true, M) << "\n";
+ WriteAsOperand(*cerr.stream(), V2, true, M) << "\n";
}
return R;
@@ -155,7 +154,7 @@ AliasAnalysisCounter::getModRefInfo(CallSite CS, Value *P, unsigned Size) {
if (PrintAll || (PrintAllFailures && R == ModRef)) {
cerr << MRString << ": Ptr: ";
cerr << "[" << Size << "B] ";
- WriteAsOperand(std::cerr, P, true, M);
+ WriteAsOperand(*cerr.stream(), P, true, M);
cerr << "\t<->" << *CS.getInstruction();
}
return R;
diff --git a/lib/Analysis/AliasAnalysisEvaluator.cpp b/lib/Analysis/AliasAnalysisEvaluator.cpp
index 31875f8710..0f27974c5b 100644
--- a/lib/Analysis/AliasAnalysisEvaluator.cpp
+++ b/lib/Analysis/AliasAnalysisEvaluator.cpp
@@ -29,7 +29,6 @@
#include "llvm/Support/InstIterator.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Streams.h"
-#include <iostream>
#include <set>
using namespace llvm;
@@ -80,8 +79,8 @@ static inline void PrintResults(const char *Msg, bool P, Value *V1, Value *V2,
Module *M) {
if (P) {
cerr << " " << Msg << ":\t";
- WriteAsOperand(std::cerr, V1, true, M) << ", ";
- WriteAsOperand(std::cerr, V2, true, M) << "\n";
+ WriteAsOperand(*cerr.stream(), V1, true, M) << ", ";
+ WriteAsOperand(*cerr.stream(), V2, true, M) << "\n";
}
}
@@ -90,7 +89,7 @@ PrintModRefResults(const char *Msg, bool P, Instruction *I, Value *Ptr,
Module *M) {
if (P) {
cerr << " " << Msg << ": Ptr: ";
- WriteAsOperand(std::cerr, Ptr, true, M);
+ WriteAsOperand(*cerr.stream(), Ptr, true, M);
cerr << "\t<->" << *I;
}
}
diff --git a/lib/Analysis/DataStructure/DataStructure.cpp b/lib/Analysis/DataStructure/DataStructure.cpp
index c81fd6ad34..666b615825 100644
--- a/lib/Analysis/DataStructure/DataStructure.cpp
+++ b/lib/Analysis/DataStructure/DataStructure.cpp
@@ -26,7 +26,6 @@
#include "llvm/ADT/SCCIterator.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Support/Timer.h"
-#include <iostream>
#include <algorithm>
using namespace llvm;
@@ -721,10 +720,10 @@ bool DSNode::mergeTypeInfo(const Type *NewTy, unsigned Offset,
M = getParentGraph()->retnodes_begin()->first->getParent();
DOUT << "MergeTypeInfo Folding OrigTy: ";
- DEBUG(WriteTypeSymbolic(std::cerr, Ty, M) << "\n due to:";
- WriteTypeSymbolic(std::cerr, NewTy, M) << " @ " << Offset << "!\n"
- << "SubType: ";
- WriteTypeSymbolic(std::cerr, SubType, M) << "\n\n");
+ DEBUG(WriteTypeSymbolic(*cerr.stream(), Ty, M) << "\n due to:";
+ WriteTypeSymbolic(*cerr.stream(), NewTy, M) << " @ " << Offset << "!\n"
+ << "SubType: ";
+ WriteTypeSymbolic(*cerr.stream(), SubType, M) << "\n\n");
if (FoldIfIncompatible) foldNodeCompletely();
return true;
diff --git a/lib/Bytecode/Reader/ReaderWrappers.cpp b/lib/Bytecode/Reader/ReaderWrappers.cpp
index c120672669..d45a0f79bf 100644
--- a/lib/Bytecode/Reader/ReaderWrappers.cpp
+++ b/lib/Bytecode/Reader/ReaderWrappers.cpp
@@ -21,9 +21,7 @@
#include "llvm/System/MappedFile.h"
#include "llvm/System/Program.h"
#include <cerrno>
-#include <iostream>
#include <memory>
-
using namespace llvm;
//===----------------------------------------------------------------------===//
@@ -164,9 +162,9 @@ BytecodeStdinReader::read(std::string* ErrMsg)
char Buffer[4096*4];
// Read in all of the data from stdin, we cannot mmap stdin...
- while (std::cin.good()) {
- std::cin.read(Buffer, 4096*4);
- int BlockSize = std::cin.gcount();
+ while (cin.stream()->good()) {
+ cin.stream()->read(Buffer, 4096*4);
+ int BlockSize = cin.stream()->gcount();
if (0 >= BlockSize)
break;
FileData.insert(FileData.end(), Buffer, Buffer+BlockSize);
diff --git a/lib/CodeGen/LLVMTargetMachine.cpp b/lib/CodeGen/LLVMTargetMachine.cpp
index f113b16f26..0098a42dc9 100644
--- a/lib/CodeGen/LLVMTargetMachine.cpp
+++ b/lib/CodeGen/LLVMTargetMachine.cpp
@@ -17,7 +17,6 @@
#include "llvm/CodeGen/Passes.h"
#include "llvm/Target/TargetOptions.h"
#include "llvm/Transforms/Scalar.h"
-#include <iostream>
using namespace llvm;
bool LLVMTargetMachine::addPassesToEmitFile(FunctionPassManager &PM,
@@ -46,18 +45,18 @@ bool LLVMTargetMachine::addPassesToEmitFile(FunctionPassManager &PM,
// Print the instruction selected machine code...
if (PrintMachineCode)
- PM.add(createMachineFunctionPrinterPass(&std::cerr));
+ PM.add(createMachineFunctionPrinterPass(cerr.stream()));
// Perform register allocation to convert to a concrete x86 representation
PM.add(createRegisterAllocator());
if (PrintMachineCode)
- PM.add(createMachineFunctionPrinterPass(&std::cerr));
+ PM.add(createMachineFunctionPrinterPass(cerr.stream()));
// Run post-ra passes.
if (addPostRegAlloc(PM, Fast) && PrintMachineCode)
- PM.add(createMachineFunctionPrinterPass(&std::cerr));
+ PM.add(createMachineFunctionPrinterPass(cerr.stream()));
// Insert prolog/epilog code. Eliminate abstract frame index references...
@@ -71,11 +70,11 @@ bool LLVMTargetMachine::addPassesToEmitFile(FunctionPassManager &PM,
PM.add(createDebugLabelFoldingPass());
if (PrintMachineCode) // Print the register-allocated code
- PM.add(createMachineFunctionPrinterPass(&std::cerr));
+ PM.add(createMachineFunctionPrinterPass(cerr.stream()));
if (addPreEmitPass(PM, Fast) && PrintMachineCode)
- PM.add(createMachineFunctionPrinterPass(&std::cerr));
+ PM.add(createMachineFunctionPrinterPass(cerr.stream()));
switch (FileType) {
@@ -127,32 +126,32 @@ bool LLVMTargetMachine::addPassesToEmitMachineCode(FunctionPassManager &PM,
// Print the instruction selected machine code...
if (PrintMachineCode)
- PM.add(createMachineFunctionPrinterPass(&std::cerr));
+ PM.add(createMachineFunctionPrinterPass(cerr.stream()));
// Perform register allocation to convert to a concrete x86 representation
PM.add(createRegisterAllocator());
if (PrintMachineCode)
- PM.add(createMachineFunctionPrinterPass(&std::cerr));
+ PM.add(createMachineFunctionPrinterPass(cerr.stream()));
// Run post-ra passes.
if (addPostRegAlloc(PM, Fast) && PrintMachineCode)
- PM.add(createMachineFunctionPrinterPass(&std::cerr));
+ PM.add(createMachineFunctionPrinterPass(cerr.stream()));
// Insert prolog/epilog code. Eliminate abstract frame index references...
PM.add(createPrologEpilogCodeInserter());
if (PrintMachineCode) // Print the register-allocated code
- PM.add(createMachineFunctionPrinterPass(&std::cerr));
+ PM.add(createMachineFunctionPrinterPass(cerr.stream()));
// Branch folding must be run after regalloc and prolog/epilog insertion.
if (!Fast)
PM.add(createBranchFoldingPass());
if (addPreEmitPass(PM, Fast) && PrintMachineCode)
- PM.add(createMachineFunctionPrinterPass(&std::cerr));
+ PM.add(createMachineFunctionPrinterPass(cerr.stream()));
addCodeEmitter(PM, Fast, MCE);
diff --git a/lib/CodeGen/LiveVariables.cpp b/lib/CodeGen/LiveVariables.cpp
index f5c81da46f..e0713c87c9 100644
--- a/lib/CodeGen/LiveVariables.cpp
+++ b/lib/CodeGen/LiveVariables.cpp
@@ -35,27 +35,26 @@
#include "llvm/ADT/STLExtras.h"
#include "llvm/Config/alloca.h"
#include <algorithm>
-#include <iostream>
using namespace llvm;
static RegisterPass<LiveVariables> X("livevars", "Live Variable Analysis");
void LiveVariables::VarInfo::dump() const {
- std::cerr << "Register Defined by: ";
+ cerr << "Register Defined by: ";
if (DefInst)
- std::cerr << *DefInst;
+ cerr << *DefInst;
else
- std::cerr << "<null>\n";
- std::cerr << " Alive in blocks: ";
+ cerr << "<null>\n";
+ cerr << " Alive in blocks: ";
for (unsigned i = 0, e = AliveBlocks.size(); i != e; ++i)
- if (AliveBlocks[i]) std::cerr << i << ", ";
- std::cerr << "\n Killed by:";
+ if (AliveBlocks[i]) cerr << i << ", ";
+ cerr << "\n Killed by:";
if (Kills.empty())
- std::cerr << " No instructions.\n";
+ cerr << " No instructions.\n";
else {
for (unsigned i = 0, e = Kills.size(); i != e; ++i)
- std::cerr << "\n #" << i << ": " << *Kills[i];
- std::cerr << "\n";
+ cerr << "\n #" << i << ": " << *Kills[i];
+ cerr << "\n";
}
}
diff --git a/lib/CodeGen/MachOWriter.cpp b/lib/CodeGen/MachOWriter.cpp
index 7c0855a5e1..390676973f 100644
--- a/lib/CodeGen/MachOWriter.cpp
+++ b/lib/CodeGen/MachOWriter.cpp
@@ -32,7 +32,6 @@
#include "llvm/Support/Mangler.h"
#include "llvm/Support/MathExtras.h"
#include <algorithm>
-#include <iostream>
using namespace llvm;
//===----------------------------------------------------------------------===//
diff --git a/lib/CodeGen/MachineBasicBlock.cpp b/lib/CodeGen/MachineBasicBlock.cpp
index 8d8e9b7c59..a626f4fdd1 100644
--- a/lib/CodeGen/MachineBasicBlock.cpp
+++ b/lib/CodeGen/MachineBasicBlock.cpp
@@ -19,7 +19,6 @@
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Support/LeakDetector.h"
-#include <iostream>
#include <algorithm>
using namespace llvm;
@@ -87,7 +86,7 @@ MachineBasicBlock::iterator MachineBasicBlock::getFirstTerminator() {
}
void MachineBasicBlock::dump() const {
- print(std::cerr);
+ print(*cerr.stream());
}
void MachineBasicBlock::print(std::ostream &OS) const {
diff --git a/lib/CodeGen/MachineFunction.cpp b/lib/CodeGen/MachineFunction.cpp
index 5d82f722ef..5aaae6deb5 100644
--- a/lib/CodeGen/MachineFunction.cpp
+++ b/lib/CodeGen/MachineFunction.cpp
@@ -31,9 +31,7 @@
#include "llvm/ADT/STLExtras.h"
#include "llvm/Config/config.h"
#include <fstream>
-#include <iostream>
#include <sstream>
-
using namespace llvm;
static AnnotationID MF_AID(
@@ -177,7 +175,7 @@ void MachineFunction::RenumberBlocks(MachineBasicBlock *MBB) {
}
-void MachineFunction::dump() const { print(std::cerr); }
+void MachineFunction::dump() const { print(*cerr.stream()); }
void MachineFunction::print(std::ostream &OS) const {
OS << "# Machine code for " << Fn->getName () << "():\n";
@@ -268,8 +266,8 @@ void MachineFunction::viewCFG() const
#ifndef NDEBUG
ViewGraph(this, "mf" + getFunction()->getName());
#else
- std::cerr << "SelectionDAG::viewGraph is only available in debug builds on "
- << "systems with Graphviz or gv!\n";
+ cerr << "SelectionDAG::viewGraph is only available in debug builds on "
+ << "systems with Graphviz or gv!\n";
#endif // NDEBUG
}
@@ -350,7 +348,7 @@ void MachineFrameInfo::print(const MachineFunction &MF, std::ostream &OS) const{
}
void MachineFrameInfo::dump(const MachineFunction &MF) const {
- print(MF, std::cerr);
+ print(MF, *cerr.stream());
}
@@ -390,7 +388,7 @@ unsigned MachineJumpTableInfo::getAlignment() const {
return TD->getPointerAlignment();
}
-void MachineJumpTableInfo::dump() const { print(std::cerr); }
+void MachineJumpTableInfo::dump() const { print(*cerr.stream()); }
//===----------------------------------------------------------------------===//
@@ -473,4 +471,4 @@ void MachineConstantPool::print(std::ostream &OS) const {
}
}
-void MachineConstantPool::dump() const { print(std::cerr); }
+void MachineConstantPool::dump() const { print(*cerr.stream()); }
diff --git a/lib/CodeGen/RegAllocSimple.cpp b/lib/CodeGen/RegAllocSimple.cpp
index 262f8c240e..87ef0031c5 100644
--- a/lib/CodeGen/RegAllocSimple.cpp
+++ b/lib/CodeGen/RegAllocSimple.cpp
@@ -27,7 +27,6 @@
#include "llvm/Support/Compiler.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/ADT/STLExtras.h"
-#include <iostream>
using namespace llvm;
namespace {
@@ -192,7 +191,7 @@ void RegAllocSimple::AllocateBasicBlock(MachineBasicBlock &MBB) {
unsigned virtualReg = (unsigned) op.getReg();
DOUT << "op: " << op << "\n";
DOUT << "\t inst[" << i << "]: ";
- DEBUG(MI->print(std::cerr, TM));
+ DEBUG(MI->print(*cerr.stream(), TM));
// make sure the same virtual register maps to the same physical
// register in any given instruction
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index c279982c00..5f92df3f2d 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -26,7 +26,6 @@
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
-#include <iostream>
#include <set>
#include <algorithm>
#include <cmath>
@@ -2887,7 +2886,7 @@ void SDNode::dump(const SelectionDAG *G) const {
dyn_cast<GlobalAddressSDNode>(this)) {
int offset = GADN->getOffset();
cerr << "<";
- WriteAsOperand(std::cerr, GADN->getGlobal()) << ">";
+ WriteAsOperand(*cerr.stream(), GADN->getGlobal()) << ">";
if (offset > 0)
cerr << " + " << offset;
else
diff --git a/lib/CodeGen/TwoAddressInstructionPass.cpp b/lib/CodeGen/TwoAddressInstructionPass.cpp
index 932542dd21..be19e46168 100644
--- a/lib/CodeGen/TwoAddressInstructionPass.cpp
+++ b/lib/CodeGen/TwoAddressInstructionPass.cpp
@@ -41,7 +41,6 @@
#include "llvm/Support/Compiler.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/ADT/STLExtras.h"
-#include <iostream>
using namespace llvm;
namespace {
@@ -102,7 +101,7 @@ bool TwoAddressInstructionPass::runOnMachineFunction(MachineFunction &MF) {
if (FirstTied) {
++NumTwoAddressInstrs;
- DOUT << '\t'; DEBUG(mi->print(std::cerr, &TM));
+ DOUT << '\t'; DEBUG(mi->print(*cerr.stream(), &TM));
}
FirstTied = false;
@@ -195,7 +194,7 @@ bool TwoAddressInstructionPass::runOnMachineFunction(MachineFunction &MF) {
MRI.copyRegToReg(*mbbi, mi, regA, regB, rc);
MachineBasicBlock::iterator prevMi = prior(mi);
- DOUT << "\t\tprepend:\t"; DEBUG(prevMi->print(std::cerr, &TM));
+ DOUT << "\t\tprepend:\t"; DEBUG(prevMi->print(*cerr.stream(), &TM));
// Update live variables for regA
LiveVariables::VarInfo& varInfo = LV.getVarInfo(regA);
@@ -220,7 +219,7 @@ bool TwoAddressInstructionPass::runOnMachineFunction(MachineFunction &MF) {
mi->getOperand(ti).setReg(mi->getOperand(si).getReg());
MadeChange = true;
- DOUT << "\t\trewrite to:\t"; DEBUG(mi->print(std::cerr, &TM));
+ DOUT << "\t\trewrite to:\t"; DEBUG(mi->print(*cerr.stream(), &TM));
}
}
}
diff --git a/lib/Debugger/ProgramInfo.cpp b/lib/Debugger/ProgramInfo.cpp
index 05ad4f7a8b..a315a2d5ba 100644
--- a/lib/Debugger/ProgramInfo.cpp
+++ b/lib/Debugger/ProgramInfo.cpp
@@ -23,8 +23,6 @@
#include "llvm/Debugger/SourceLanguage.h"
#include "llvm/Support/SlowOperationInformer.h"
#include "llvm/ADT/STLExtras.h"
-#include <iostream>
-
using namespace llvm;
/// getGlobalVariablesUsing - Return all of the global variables which have the
@@ -181,8 +179,8 @@ void SourceFunctionInfo::getSourceLocation(unsigned &RetLineNo,
if (SD) { // We found the first stop point!
// This is just a sanity check.
if (getSourceFile().getDescriptor() != SD)
- std::cout << "WARNING: first line of function is not in the"
- " file that the function descriptor claims it is in.\n";
+ cout << "WARNING: first line of function is not in the"
+ << " file that the function descriptor claims it is in.\n";
break;
}
}
diff --git a/lib/Debugger/SourceLanguage-Unknown.cpp b/lib/Debugger/SourceLanguage-Unknown.cpp
index 22376f8e2d..276ae9fcaf 100644
--- a/lib/Debugger/SourceLanguage-Unknown.cpp
+++ b/lib/Debugger/SourceLanguage-Unknown.cpp
@@ -15,7 +15,7 @@
#include "llvm/Debugger/SourceLanguage.h"
#include "llvm/Debugger/ProgramInfo.h"
-#include <iostream>
+#include "llvm/Support/Streams.h"
#include <cassert>
using namespace llvm;
@@ -131,7 +131,7 @@ SourceFunctionInfo *SLU::lookupFunction(const std::string &FunctionName,
SourceFunctionInfo *Found = IP.first->second;
++IP.first;
if (IP.first != IP.second)
- std::cout << "Whoa, found multiple functions with the same name. I should"
- << " ask the user which one to use: FIXME!\n";
+ cout << "Whoa, found multiple functions with the same name. I should"
+ << " ask the user which one to use: FIXME!\n";
return Found;
}
diff --git a/lib/Support/Statistic.cpp b/lib/Support/Statistic.cpp
index 19cfff33aa..8c08271235 100644
--- a/lib/Support/Statistic.cpp
+++ b/lib/Support/Statistic.cpp
@@ -23,9 +23,8 @@
#include "llvm/ADT/Statistic.h"
#include "llvm/Support/CommandLine.h"
+#include "llvm/Support/Streams.h"
#include "llvm/ADT/StringExtras.h"
-#include <sstream>
-#include <iostream>
#include <algorithm>
using namespace llvm;
@@ -100,7 +99,7 @@ Statistic::~Statistic() {
// Free all accumulated statistics...
delete AccumStats;
AccumStats = 0;
- if (OutStream != &std::cerr && OutStream != &std::cout)
+ if (OutStream != cerr.stream() && OutStream != cout.stream())
delete OutStream; // Close the file...
}
}
diff --git a/lib/Support/SystemUtils.cpp b/lib/Support/SystemUtils.cpp
index 124251165d..1d2c1086ae 100644
--- a/lib/Support/SystemUtils.cpp
+++ b/lib/Support/SystemUtils.cpp
@@ -16,12 +16,12 @@
#include "llvm/Support/SystemUtils.h"
#include "llvm/System/Process.h"
#include "llvm/System/Program.h"
-#include <iostream>
using namespace llvm;
bool llvm::CheckBytecodeOutputToConsole(std::ostream* stream_to_check,
bool print_warning) {
- if (stream_to_check == &std::cout && sys::Process::StandardOutIsDisplayed()) {
+ if (stream_to_check == cout.stream() &&
+ sys::Process::StandardOutIsDisplayed()) {
if (print_warning) {
cerr << "WARNING: You're attempting to print out a bytecode file.\n"
<< "This is inadvisable as it may cause display problems. If\n"
diff --git a/lib/Support/Timer.cpp b/lib/Support/Timer.cpp
index a39f169cb7..077995d9fb 100644
--- a/lib/Support/Timer.cpp
+++ b/lib/Support/Timer.cpp
@@ -14,11 +14,11 @@
#include "llvm/Support/Timer.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/ManagedStatic.h"
+#include "llvm/Support/Streams.h"
#include "llvm/System/Process.h"
#include <algorithm>
#include <fstream>
#include <functional>
-#include <iostream>
#include <map>
using namespace llvm;
@@ -263,17 +263,17 @@ std::ostream *
llvm::GetLibSupportInfoOutputFile() {
std::string &LibSupportInfoOutputFilename = getLibSupportInfoOutputFilename();
if (LibSupportInfoOutputFilename.empty())
- return &std::cerr;
+ return cerr.stream();
if (LibSupportInfoOutputFilename == "-")
- return &std::cout;
+ return cout.stream();
std::ostream *Result = new std::ofstream(LibSupportInfoOutputFilename.c_str(),
std::ios::app);
if (!Result->good()) {
- std::cerr << "Error opening info-output-file '"
- << LibSupportInfoOutputFilename << " for appending!\n";
+ cerr << "Error opening info-output-file '"
+ << LibSupportInfoOutputFilename << " for appending!\n";
delete Result;
- return &std::cerr;
+ return cerr.stream();
}
return Result;
}
@@ -342,7 +342,7 @@ void TimerGroup::removeTimer() {
TimersToPrint.clear();
- if (OutStream != &std::cerr && OutStream != &std::cout)
+ if (OutStream != cerr.stream() && OutStream != cout.stream())
delete OutStream; // Close the file...
}