Used llvm_ostream instead of std::ostream objects. This will reduce use

of the icky <iostream> class.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31818 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bill Wendling 2006-11-17 09:52:49 +00:00
parent e562ed1c92
commit 52883e7a9a
4 changed files with 13 additions and 31 deletions

View File

@ -235,7 +235,7 @@ inline typename cast_retty<X, Y>::ret_type dyn_cast_or_null(Y Val) {
#ifdef DEBUG_CAST_OPERATORS
#include <iostream>
#include "llvm/Support/Debug.h"
struct bar {
bar() {}
@ -245,13 +245,13 @@ private:
struct foo {
void ext() const;
/* static bool classof(const bar *X) {
cerr << "Classof: " << X << "\n";
llvm_cerr << "Classof: " << X << "\n";
return true;
}*/
};
template <> inline bool isa_impl<foo,bar>(const bar &Val) {
cerr << "Classof: " << &Val << "\n";
llvm_cerr << "Classof: " << &Val << "\n";
return true;
}

View File

@ -26,7 +26,7 @@
#ifndef LLVM_SUPPORT_DEBUG_H
#define LLVM_SUPPORT_DEBUG_H
#include <ostream> // Doesn't have static d'tors!!
#include "llvm/Support/Streams.h"
namespace llvm {
@ -61,24 +61,6 @@ bool isCurrentDebugType(const char *Type);
do { if (DebugFlag && isCurrentDebugType(DEBUG_TYPE)) { X; } } while (0)
#endif
/// llvm_ostream - Acts like an ostream. However, it doesn't print things out if
/// an ostream isn't specified.
///
class llvm_ostream {
std::ostream* Stream;
public:
llvm_ostream() : Stream(0) {}
llvm_ostream(std::ostream& OStream) : Stream(&OStream) {}
template <typename Ty>
llvm_ostream& operator << (const Ty& Thing) {
#ifndef NDEBUG
if (Stream) *Stream << Thing;
#endif
return *this;
}
};
/// getErrorOutputStream - Returns the error output stream (std::cerr). This
/// places the std::c* I/O streams into one .cpp file and relieves the whole
/// program from having to have hundreds of static c'tor/d'tors for them.

View File

@ -23,12 +23,12 @@
#ifndef LLVM_SUPPORT_GRAPHWRITER_H
#define LLVM_SUPPORT_GRAPHWRITER_H
#include "llvm/Support/Debug.h"
#include "llvm/Support/DOTGraphTraits.h"
#include "llvm/ADT/GraphTraits.h"
#include "llvm/System/Path.h"
#include <vector>
#include <iostream>
#include <fstream>
#include <vector>
namespace llvm {
@ -247,16 +247,16 @@ sys::Path WriteGraph(const GraphType &G,
std::string ErrMsg;
sys::Path Filename = sys::Path::GetTemporaryDirectory(&ErrMsg);
if (Filename.isEmpty()) {
std::cerr << "Error: " << ErrMsg << "\n";
llvm_cerr << "Error: " << ErrMsg << "\n";
return Filename;
}
Filename.appendComponent(Name + ".dot");
if (Filename.makeUnique(true,&ErrMsg)) {
std::cerr << "Error: " << ErrMsg << "\n";
llvm_cerr << "Error: " << ErrMsg << "\n";
return sys::Path();
}
std::cerr << "Writing '" << Filename << "'... ";
llvm_cerr << "Writing '" << Filename << "'... ";
std::ofstream O(Filename.c_str());
@ -275,12 +275,12 @@ sys::Path WriteGraph(const GraphType &G,
// Output the end of the graph
W.writeFooter();
std::cerr << " done. \n";
llvm_cerr << " done. \n";
O.close();
} else {
std::cerr << "error opening file for writing!\n";
llvm_cerr << "error opening file for writing!\n";
Filename.clear();
}

View File

@ -24,9 +24,9 @@
#define LLVM_SUPPORT_PASS_NAME_PARSER_H
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Pass.h"
#include <algorithm>
#include <iostream>
namespace llvm {
@ -66,7 +66,7 @@ public:
virtual void passRegistered(const PassInfo *P) {
if (ignorablePass(P) || !Opt) return;
if (findOption(P->getPassArgument()) != getNumOptions()) {
std::cerr << "Two passes with the same argument (-"
llvm_cerr << "Two passes with the same argument (-"
<< P->getPassArgument() << ") attempted to be registered!\n";
abort();
}