#include "llvm/Instructions.h"
#include "llvm/Module.h"
#include "llvm/SymbolTable.h"
-#include "llvm/Support/CFG.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/STLExtras.h"
+#include "llvm/Support/CFG.h"
#include "llvm/Support/MathExtras.h"
+#include "llvm/Support/Streams.h"
#include <algorithm>
using namespace llvm;
case GlobalValue::ExternalWeakLinkage: Out << "extern_weak "; break;
case GlobalValue::ExternalLinkage: break;
case GlobalValue::GhostLinkage:
- std::cerr << "GhostLinkage not allowed in AsmWriter!\n";
+ llvm_cerr << "GhostLinkage not allowed in AsmWriter!\n";
abort();
}
case GlobalValue::ExternalWeakLinkage: Out << "extern_weak "; break;
case GlobalValue::ExternalLinkage: break;
case GlobalValue::GhostLinkage:
- std::cerr << "GhostLinkage not allowed in AsmWriter!\n";
+ llvm_cerr << "GhostLinkage not allowed in AsmWriter!\n";
abort();
}
// Value::dump - allow easy printing of Values from the debugger.
// Located here because so much of the needed functionality is here.
-void Value::dump() const { print(std::cerr); std::cerr << '\n'; }
+void Value::dump() const { print(std::cerr); llvm_cerr << '\n'; }
// Type::dump - allow easy printing of Values from the debugger.
// Located here because so much of the needed functionality is here.
-void Type::dump() const { print(std::cerr); std::cerr << '\n'; }
+void Type::dump() const { print(std::cerr); llvm_cerr << '\n'; }
//===----------------------------------------------------------------------===//
// CachedWriter Class Implementation
//===----------------------------------------------------------------------===//
#if 0
-#define SC_DEBUG(X) std::cerr << X
+#define SC_DEBUG(X) llvm_cerr << X
#else
#define SC_DEBUG(X)
#endif
//===----------------------------------------------------------------------===//
#include "llvm/Assembly/AutoUpgrade.h"
+#include "llvm/Support/Streams.h"
#include "llvm/Constants.h"
#include "llvm/DerivedTypes.h"
#include "llvm/Function.h"
#include "llvm/Instructions.h"
#include "llvm/Intrinsics.h"
#include "llvm/SymbolTable.h"
-#include <iostream>
using namespace llvm;
static Function *getUpgradedUnaryFn(Function *F) {
// See if its one of the name's we're interested in.
if (Function *R = getUpgradedIntrinsic(F)) {
if (R->getName() != F->getName())
- std::cerr << "WARNING: change " << F->getName() << " to "
+ llvm_cerr << "WARNING: change " << F->getName() << " to "
<< R->getName() << "\n";
return R;
}
//
//===----------------------------------------------------------------------===//
-#include "llvm/Support/LeakDetector.h"
#include "llvm/Support/Compiler.h"
+#include "llvm/Support/LeakDetector.h"
+#include "llvm/Support/Streams.h"
#include "llvm/Value.h"
-#include <iostream>
#include <set>
using namespace llvm;
namespace {
template <class T>
struct VISIBILITY_HIDDEN PrinterTrait {
- static void print(const T* P) { std::cerr << P; }
+ static void print(const T* P) { llvm_cerr << P; }
};
template<>
struct VISIBILITY_HIDDEN PrinterTrait<Value> {
- static void print(const Value* P) { std::cerr << *P; }
+ static void print(const Value* P) { llvm_cerr << *P; }
};
template <typename T>
assert(Cache == 0 && "No value should be cached anymore!");
if (!Ts.empty()) {
- std::cerr
+ llvm_cerr
<< "Leaked " << Name << " objects found: " << Message << ":\n";
for (typename std::set<const T*>::iterator I = Ts.begin(),
E = Ts.end(); I != E; ++I) {
- std::cerr << "\t";
+ llvm_cerr << "\t";
PrinterTrait<T>::print(*I);
- std::cerr << "\n";
+ llvm_cerr << "\n";
}
- std::cerr << '\n';
+ llvm_cerr << '\n';
return true;
}
// use non-short-circuit version so that both checks are performed
if (getObjects().hasGarbage(Message) |
getLLVMObjects().hasGarbage(Message))
- std::cerr << "\nThis is probably because you removed an object, but didn't "
- "delete it. Please check your code for memory leaks.\n";
+ llvm_cerr << "\nThis is probably because you removed an object, but didn't "
+ << "delete it. Please check your code for memory leaks.\n";
// Clear out results so we don't get duplicate warnings on
// next call...
#include "llvm/PassManager.h"
#include "llvm/Module.h"
#include "llvm/ModuleProvider.h"
+#include "llvm/Support/Streams.h"
#include <vector>
#include <map>
-#include <iostream>
-
using namespace llvm;
namespace llvm {
bool FunctionPassManager_New::run(Function &F) {
std::string errstr;
if (MP->materializeFunction(&F, &errstr)) {
- std::cerr << "Error reading bytecode file: " << errstr << "\n";
+ llvm_cerr << "Error reading bytecode file: " << errstr << "\n";
abort();
}
return FPM->runOnFunction(F);
#include "llvm/TypeSymbolTable.h"
#include "llvm/DerivedTypes.h"
#include "llvm/ADT/StringExtras.h"
-#include <iostream>
+#include "llvm/Support/Streams.h"
#include <algorithm>
-
using namespace llvm;
#define DEBUG_SYMBOL_TABLE 0
#if DEBUG_SYMBOL_TABLE
dump();
- std::cerr << " Removing Value: " << Result->getName() << "\n";
+ llvm_cerr << " Removing Value: " << Result->getName() << "\n";
#endif
tmap.erase(Entry);
// list...
if (Result->isAbstract()) {
#if DEBUG_ABSTYPE
- std::cerr << "Removing abstract type from symtab" << Result->getDescription()<<"\n";
+ llvm_cerr << "Removing abstract type from symtab" << Result->getDescription()<<"\n";
#endif
cast<DerivedType>(Result)->removeAbstractTypeUser(this);
}
#if DEBUG_SYMBOL_TABLE
dump();
- std::cerr << " Inserting type: " << UniqueName << ": "
+ llvm_cerr << " Inserting type: " << UniqueName << ": "
<< T->getDescription() << "\n";
#endif
if (T->isAbstract()) {
cast<DerivedType>(T)->addAbstractTypeUser(this);
#if DEBUG_ABSTYPE
- std::cerr << "Added abstract type to ST: " << T->getDescription() << "\n";
+ llvm_cerr << "Added abstract type to ST: " << T->getDescription() << "\n";
#endif
}
}
for (iterator I = begin(), E = end(); I != E; ++I) {
if (I->second == (Type*)OldType) { // FIXME when Types aren't const.
#if DEBUG_ABSTYPE
- std::cerr << "Removing type " << OldType->getDescription() << "\n";
+ llvm_cerr << "Removing type " << OldType->getDescription() << "\n";
#endif
OldType->removeAbstractTypeUser(this);
I->second = (Type*)NewType; // TODO FIXME when types aren't const
if (NewType->isAbstract()) {
#if DEBUG_ABSTYPE
- std::cerr << "Added type " << NewType->getDescription() << "\n";
+ llvm_cerr << "Added type " << NewType->getDescription() << "\n";
#endif
cast<DerivedType>(NewType)->addAbstractTypeUser(this);
}
}
static void DumpTypes(const std::pair<const std::string, const Type*>& T ) {
- std::cerr << " '" << T.first << "' = ";
+ llvm_cerr << " '" << T.first << "' = ";
T.second->dump();
- std::cerr << "\n";
+ llvm_cerr << "\n";
}
void TypeSymbolTable::dump() const {
- std::cerr << "TypeSymbolPlane: ";
+ llvm_cerr << "TypeSymbolPlane: ";
for_each(tmap.begin(), tmap.end(), DumpTypes);
}
#include "llvm/Analysis/Dominators.h"
#include "llvm/Support/CFG.h"
#include "llvm/Support/InstVisitor.h"
+#include "llvm/Support/Streams.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/Compiler.h"
#include <algorithm>
-#include <iostream>
#include <sstream>
#include <cstdarg>
using namespace llvm;
switch (action) {
case AbortProcessAction:
msgs << "compilation aborted!\n";
- std::cerr << msgs.str();
+ llvm_cerr << msgs.str();
abort();
case PrintMessageAction:
msgs << "verification continues.\n";
- std::cerr << msgs.str();
+ llvm_cerr << msgs.str();
return false;
case ReturnStatusAction:
msgs << "compilation terminated.\n";